mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-19 13:00:11 -07:00
[Time Savers] Shops and Games always open (#3789)
* Shops and Games always open * Added comment for scene reload requirement * Prefix * Spacing Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com> * I'm bad at merging * Refined by Archez --------- Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
This commit is contained in:
parent
458970816f
commit
c1365b3263
3 changed files with 34 additions and 0 deletions
|
@ -33,6 +33,7 @@ extern "C" {
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
|
#include "src/overlays/actors/ovl_En_Door/z_en_door.h"
|
||||||
void ResourceMgr_PatchGfxByName(const char* path, const char* patchName, int index, Gfx instruction);
|
void ResourceMgr_PatchGfxByName(const char* path, const char* patchName, int index, Gfx instruction);
|
||||||
void ResourceMgr_UnpatchGfxByName(const char* path, const char* patchName);
|
void ResourceMgr_UnpatchGfxByName(const char* path, const char* patchName);
|
||||||
|
|
||||||
|
@ -1222,6 +1223,34 @@ void RegisterRandomizedEnemySizes() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RegisterOpenAllHours() {
|
||||||
|
GameInteractor::Instance->RegisterGameHook<GameInteractor::OnActorInit>([](void* refActor) {
|
||||||
|
Actor* actor = static_cast<Actor*>(refActor);
|
||||||
|
|
||||||
|
if (CVarGetInteger("gEnhancements.OpenAllHours", 0) && (actor->id == ACTOR_EN_DOOR)) {
|
||||||
|
switch (actor->params) {
|
||||||
|
case 4753: // Night Market Bazaar
|
||||||
|
case 1678: // Night Potion Shop
|
||||||
|
case 2689: // Day Bombchu Shop
|
||||||
|
case 2703: // Night Slingshot Game
|
||||||
|
case 653: // Day Chest Game
|
||||||
|
case 6801: // Night Kak Bazaar
|
||||||
|
case 7822: // Night Kak Potion Shop
|
||||||
|
case 4751: // Night Kak Archery Game
|
||||||
|
case 3728: // Night Mask Shop
|
||||||
|
{
|
||||||
|
actor->params = (actor->params & 0xFC00) | (DOOR_SCENEEXIT << 7) | 0x3F;
|
||||||
|
EnDoor* enDoor = static_cast<EnDoor*>(refActor);
|
||||||
|
EnDoor_SetupType(enDoor, gPlayState);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
void PatchToTMedallions() {
|
void PatchToTMedallions() {
|
||||||
// TODO: Refactor the DemoEffect_UpdateJewelAdult and DemoEffect_UpdateJewelChild from z_demo_effect
|
// TODO: Refactor the DemoEffect_UpdateJewelAdult and DemoEffect_UpdateJewelChild from z_demo_effect
|
||||||
// effects to take effect in there
|
// effects to take effect in there
|
||||||
|
@ -1353,6 +1382,7 @@ void InitMods() {
|
||||||
RegisterAltTrapTypes();
|
RegisterAltTrapTypes();
|
||||||
RegisterRandomizerSheikSpawn();
|
RegisterRandomizerSheikSpawn();
|
||||||
RegisterRandomizedEnemySizes();
|
RegisterRandomizedEnemySizes();
|
||||||
|
RegisterOpenAllHours();
|
||||||
RegisterToTMedallions();
|
RegisterToTMedallions();
|
||||||
NameTag_RegisterHooks();
|
NameTag_RegisterHooks();
|
||||||
RegisterPatchHandHandler();
|
RegisterPatchHandHandler();
|
||||||
|
|
|
@ -631,6 +631,8 @@ void DrawEnhancementsMenu() {
|
||||||
UIWidgets::Tooltip("The default response to Kaepora Gaebora is always that you understood what he said");
|
UIWidgets::Tooltip("The default response to Kaepora Gaebora is always that you understood what he said");
|
||||||
UIWidgets::PaddedEnhancementCheckbox("Exit Market at Night", "gMarketSneak", true, false);
|
UIWidgets::PaddedEnhancementCheckbox("Exit Market at Night", "gMarketSneak", true, false);
|
||||||
UIWidgets::Tooltip("Allows exiting Hyrule Castle Market Town to Hyrule Field at night by speaking to the guard next to the gate.");
|
UIWidgets::Tooltip("Allows exiting Hyrule Castle Market Town to Hyrule Field at night by speaking to the guard next to the gate.");
|
||||||
|
UIWidgets::PaddedEnhancementCheckbox("Shops and Games Always Open", "gEnhancements.OpenAllHours", true, false);
|
||||||
|
UIWidgets::Tooltip("Shops and minigames are open both day and night. Requires scene reload to take effect.");
|
||||||
UIWidgets::PaddedEnhancementCheckbox("Link as default file name", "gLinkDefaultName", true, false);
|
UIWidgets::PaddedEnhancementCheckbox("Link as default file name", "gLinkDefaultName", true, false);
|
||||||
UIWidgets::Tooltip("Allows you to have \"Link\" as a premade file name");
|
UIWidgets::Tooltip("Allows you to have \"Link\" as a premade file name");
|
||||||
UIWidgets::PaddedEnhancementCheckbox("Quit Fishing At Door", "gQuitFishingAtDoor", true, false);
|
UIWidgets::PaddedEnhancementCheckbox("Quit Fishing At Door", "gQuitFishingAtDoor", true, false);
|
||||||
|
|
|
@ -57,4 +57,6 @@ typedef struct EnDoor {
|
||||||
/* 0x01D4 */ EnDoorActionFunc actionFunc;
|
/* 0x01D4 */ EnDoorActionFunc actionFunc;
|
||||||
} EnDoor; // size = 0x01D8
|
} EnDoor; // size = 0x01D8
|
||||||
|
|
||||||
|
void EnDoor_SetupType(EnDoor* enDoor, PlayState* play);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue