mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-14 02:27:21 -07:00
Add QoL sneak option (#2128)
* Added sneak option * fix french/german choices * market sneak uses cvar instead of n64dd; added toggle in gamebar * whoops * move enhancement from rando to regular * address feedback * accounted for entrance rando * damn it archez * added TODO about AI translated messages * fix variable names
This commit is contained in:
parent
dc1b8f017e
commit
cb232b87c7
5 changed files with 47 additions and 2 deletions
|
@ -20,6 +20,7 @@ void func_80A56900(EnHeishi4* this, PlayState* play);
|
|||
void func_80A56994(EnHeishi4* this, PlayState* play);
|
||||
void func_80A56A50(EnHeishi4* this, PlayState* play);
|
||||
void func_80A56ACC(EnHeishi4* this, PlayState* play);
|
||||
void EnHeishi4_MarketSneak(EnHeishi4* this, PlayState* play);
|
||||
|
||||
const ActorInit En_Heishi4_InitVars = {
|
||||
ACTOR_EN_HEISHI4,
|
||||
|
@ -331,13 +332,41 @@ void func_80A56B40(EnHeishi4* this, PlayState* play) {
|
|||
return;
|
||||
}
|
||||
if (this->type == HEISHI4_AT_MARKET_NIGHT) {
|
||||
this->actionFunc = func_80A56614;
|
||||
return;
|
||||
if (CVar_GetS32("gMarketSneak", 0)) {
|
||||
this->actionFunc = EnHeishi4_MarketSneak;
|
||||
} else {
|
||||
this->actionFunc = func_80A56614;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
func_8002F2F4(&this->actor, play);
|
||||
}
|
||||
|
||||
/*Function that allows child Link to exit from Market entrance to Hyrule Field
|
||||
at night.
|
||||
*/
|
||||
void EnHeishi4_MarketSneak(EnHeishi4* this, PlayState* play) {
|
||||
if (Message_GetState(&play->msgCtx) == TEXT_STATE_CHOICE && Message_ShouldAdvance(play)) {
|
||||
switch (play->msgCtx.choiceIndex) {
|
||||
case 0: //yes
|
||||
if (gSaveContext.n64ddFlag){
|
||||
play->nextEntranceIndex = Entrance_OverrideNextIndex(0xCD);
|
||||
} else {
|
||||
play->nextEntranceIndex = 0xCD;
|
||||
}
|
||||
play->sceneLoadFlag = 0x14;
|
||||
play->fadeTransition = 0x2E;
|
||||
gSaveContext.nextTransitionType = 0x2E;
|
||||
this->actionFunc = func_80A56614;
|
||||
break;
|
||||
case 1: //no
|
||||
this->actionFunc = func_80A56614;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void EnHeishi4_Update(Actor* thisx, PlayState* play) {
|
||||
EnHeishi4* this = (EnHeishi4*)thisx;
|
||||
s32 pad;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue