Added bombchu minigame difficulty menu (#2080)

* Added bombchu bowling difficulty menu

* Removed incorrect diff

* Added bombchu bowling difficulty presets

* Shortened cucco removal logic
This commit is contained in:
Oliver Schall 2022-12-06 07:17:20 +01:00 committed by GitHub
parent 3921f15264
commit d9a08d0747
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 30 additions and 1 deletions

View File

@ -165,6 +165,10 @@ const std::vector<const char*> enhancementsCvars = {
"gConstantAdultGallery", "gConstantAdultGallery",
"gChildShootingGalleryAmmunition", "gChildShootingGalleryAmmunition",
"gAdultShootingGalleryAmmunition", "gAdultShootingGalleryAmmunition",
"gCustomizeBombchuBowling",
"gBombchuBowlingNoSmallCucco",
"gBombchuBowlingNoBigCucco",
"gBombchuBowlingAmmunition",
"gCreditsFix", "gCreditsFix",
}; };

View File

@ -546,6 +546,22 @@ namespace GameMenuBar {
UIWidgets::Spacer(0); UIWidgets::Spacer(0);
if (ImGui::BeginMenu("Bombchu Bowling")) {
UIWidgets::EnhancementCheckbox("Customize Behavior", "gCustomizeBombchuBowling");
UIWidgets::Tooltip("Turn on/off changes to the bombchu bowling behavior");
bool disabled = CVar_GetS32("gCustomizeBombchuBowling", 0) == 0;
const char* disabledTooltip = "This option is disabled because \"Customize Behavior\" is turned off";
UIWidgets::EnhancementCheckbox("Remove Small Cucco", "gBombchuBowlingNoSmallCucco", disabled, disabledTooltip);
UIWidgets::Tooltip("Prevents the small cucco from appearing in the bombchu bowling minigame");
UIWidgets::EnhancementCheckbox("Remove Big Cucco", "gBombchuBowlingNoBigCucco", disabled, disabledTooltip);
UIWidgets::Tooltip("Prevents the big cucco from appearing in the bombchu bowling minigame");
UIWidgets::PaddedEnhancementSliderInt("Bombchu Count: %d", "##cBombchuBowlingAmmunition", "gBombchuBowlingAmmunition", 3, 20, "", 10, false, true, false, disabled, disabledTooltip);
UIWidgets::Tooltip("The number of bombchus available at the start of the bombchu bowling minigame");
ImGui::EndMenu();
}
UIWidgets::Spacer(0);
if (ImGui::BeginMenu("Fishing")) { if (ImGui::BeginMenu("Fishing")) {
UIWidgets::EnhancementCheckbox("Customize Behavior", "gCustomizeFishing"); UIWidgets::EnhancementCheckbox("Customize Behavior", "gCustomizeFishing");
UIWidgets::Tooltip("Turn on/off changes to the fishing behavior"); UIWidgets::Tooltip("Turn on/off changes to the fishing behavior");

View File

@ -69,6 +69,10 @@ void EnBomBowlMan_Init(Actor* thisx, PlayState* play2) {
Actor_SetScale(&this->actor, 0.013f); Actor_SetScale(&this->actor, 0.013f);
for (i = 0; i < 2; i++) { for (i = 0; i < 2; i++) {
if(CVar_GetS32("gCustomizeBombchuBowling", 0) && CVar_GetS32(i == 0 ? "gBombchuBowlingNoSmallCucco" : "gBombchuBowlingNoBigCucco", 0)) {
continue;
}
cucco = (EnSyatekiNiw*)Actor_Spawn(&play->actorCtx, play, ACTOR_EN_SYATEKI_NIW, cuccoSpawnPos[i].x, cucco = (EnSyatekiNiw*)Actor_Spawn(&play->actorCtx, play, ACTOR_EN_SYATEKI_NIW, cuccoSpawnPos[i].x,
cuccoSpawnPos[i].y, cuccoSpawnPos[i].z, 0, 0, 0, 1); cuccoSpawnPos[i].y, cuccoSpawnPos[i].z, 0, 0, 0, 1);
@ -320,7 +324,12 @@ void EnBomBowlMan_HandlePlayChoice(EnBomBowlMan* this, PlayState* play) {
Rupees_ChangeBy(-30); Rupees_ChangeBy(-30);
this->minigamePlayStatus = 1; this->minigamePlayStatus = 1;
this->wallStatus[0] = this->wallStatus[1] = 0; this->wallStatus[0] = this->wallStatus[1] = 0;
if(CVar_GetS32("gCustomizeBombchuBowling", 0)) {
play->bombchuBowlingStatus = CVar_GetS32("gBombchuBowlingAmmunition", 10);
}
else {
play->bombchuBowlingStatus = 10; play->bombchuBowlingStatus = 10;
}
Flags_SetSwitch(play, 0x38); Flags_SetSwitch(play, 0x38);
if (!this->startedPlaying && !this->playingAgain) { if (!this->startedPlaying && !this->playingAgain) {