Merge branch 'develop-flynn' into flynn-to-dev

This commit is contained in:
briaguya 2022-12-06 21:29:27 -05:00
commit 4f109178ff
19 changed files with 296 additions and 185 deletions

View file

@ -2704,7 +2704,7 @@ u8 Item_CheckObtainability(u8 item) {
}
void PerformAutosave(PlayState* play, u8 item) {
if (CVar_GetS32("gAutosave", 0)) {
if (CVar_GetS32("gAutosave", 0) && (play->sceneNum != SCENE_KENJYANOMA)) {
if (CVar_GetS32("gAutosaveAllItems", 0)) {
Play_PerformSave(play);
} else if (CVar_GetS32("gAutosaveMajorItems", 1)) {
@ -2745,6 +2745,13 @@ void PerformAutosave(PlayState* play, u8 item) {
if (play->sceneNum == SCENE_GANON_DEMO) {
break;
}
case ITEM_BOMBCHU:
case ITEM_BOMBCHUS_5:
case ITEM_BOMBCHUS_20:
if (!CVar_GetS32("gBombchuDrops", 0)) {
Play_PerformSave(play);
}
break;
default:
Play_PerformSave(play);
break;

View file

@ -870,7 +870,7 @@ void Play_Update(PlayState* play) {
// Don't autosave in grottos or cutscenes
// Also don't save when you first load a file
if (CVar_GetS32("gAutosave", 0) && (gSaveContext.cutsceneIndex == 0) && (play->gameplayFrames > 60) &&
(play->sceneNum != SCENE_YOUSEI_IZUMI_TATE) && (play->sceneNum != SCENE_KAKUSIANA)) {
(play->sceneNum != SCENE_YOUSEI_IZUMI_TATE) && (play->sceneNum != SCENE_KAKUSIANA) && (play->sceneNum != SCENE_KENJYANOMA)) {
Play_PerformSave(play);
}
}

View file

@ -257,6 +257,10 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) {
sp60.x = this->unk_1F4.x - (this->unk_1E8.x - this->unk_1F4.x);
sp60.y = this->unk_1F4.y - (this->unk_1E8.y - this->unk_1F4.y);
sp60.z = this->unk_1F4.z - (this->unk_1E8.z - this->unk_1F4.z);
u16 buttonsToCheck = BTN_A | BTN_B | BTN_R | BTN_CUP | BTN_CLEFT | BTN_CRIGHT | BTN_CDOWN;
if (CVar_GetS32("gDpadEquips", 0) != 0) {
buttonsToCheck |= BTN_DUP | BTN_DDOWN | BTN_DLEFT | BTN_DRIGHT;
}
if (BgCheck_EntityLineTest1(&play->colCtx, &sp60, &this->unk_1E8, &sp78, &poly, true, true, true, true,
&bgId) &&
!func_8002F9EC(play, &this->actor, poly, bgId, &sp78)) {
@ -281,8 +285,7 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) {
Audio_PlaySoundGeneral(NA_SE_IT_HOOKSHOT_REFLECT, &this->actor.projectedPos, 4, &D_801333E0,
&D_801333E0, &D_801333E8);
}
} else if (CHECK_BTN_ANY(play->state.input[0].press.button,
(BTN_A | BTN_B | BTN_R | BTN_CUP | BTN_CLEFT | BTN_CRIGHT | BTN_CDOWN))) {
} else if (CHECK_BTN_ANY(play->state.input[0].press.button, (buttonsToCheck))) {
this->timer = 0;
}
}

View file

@ -1082,7 +1082,7 @@ void BossGanon_IntroCutscene(BossGanon* this, PlayState* play) {
if (!(gSaveContext.eventChkInf[7] & 0x100)) {
TitleCard_InitBossName(play, &play->actorCtx.titleCtx,
SEGMENTED_TO_VIRTUAL(gGanondorfTitleCardTex), 160, 180, 128, 40, false);
SEGMENTED_TO_VIRTUAL(gGanondorfTitleCardTex), 160, 180, 128, 40, true);
}
gSaveContext.eventChkInf[7] |= 0x100;
@ -1197,8 +1197,8 @@ void BossGanon_SetupTowerCutscene(BossGanon* this, PlayState* play) {
void BossGanon_ShatterWindows(u8 windowShatterState) {
s16 i;
u8* tex1 = ResourceMgr_LoadTexByName(SEGMENTED_TO_VIRTUAL(ganon_boss_sceneTex_006C18));
u8* tex2 = ResourceMgr_LoadTexByName(SEGMENTED_TO_VIRTUAL(ganon_boss_sceneTex_007418));
u8* tex1 = ResourceMgr_LoadTexByName(SEGMENTED_TO_VIRTUAL(ResourceMgr_GetName(ganon_boss_sceneTex_006C18)));
u8* tex2 = ResourceMgr_LoadTexByName(SEGMENTED_TO_VIRTUAL(ResourceMgr_GetName(ganon_boss_sceneTex_007418)));
u8* templateTex = ResourceMgr_LoadTexByName(SEGMENTED_TO_VIRTUAL(gGanondorfWindowShatterTemplateTex));
for (i = 0; i < 2048; i++) {
@ -3820,8 +3820,8 @@ void BossGanon_Draw(Actor* thisx, PlayState* play) {
// Invalidate textures if they have changed
if (this->windowShatterState != GDF_WINDOW_SHATTER_OFF) {
gSPInvalidateTexCache(POLY_OPA_DISP++, ganon_boss_sceneTex_006C18);
gSPInvalidateTexCache(POLY_OPA_DISP++, ganon_boss_sceneTex_007418);
gSPInvalidateTexCache(POLY_OPA_DISP++, ResourceMgr_GetName(ganon_boss_sceneTex_006C18));
gSPInvalidateTexCache(POLY_OPA_DISP++, ResourceMgr_GetName(ganon_boss_sceneTex_007418));
}
Gfx_SetupDL_25Opa(play->state.gfxCtx);

View file

@ -843,6 +843,8 @@ void DoorWarp1_AdultWarpOut(DoorWarp1* this, PlayState* play) {
if (gSaveContext.n64ddFlag) {
play->nextEntranceIndex = 0x60C;
gSaveContext.nextCutsceneIndex = 0;
// Set "raised lake hylia water" since we aren't warping to the cutscene
gSaveContext.eventChkInf[6] |= 0x200;
} else {
Item_Give(play, ITEM_MEDALLION_WATER);
play->nextEntranceIndex = 0x6B;

View file

@ -1980,7 +1980,7 @@ void KaleidoScope_DrawInfoPanel(PlayState* play) {
} else {//baguettes
PosX = 98;
}
s16 PosY = 200; //General Pos of C button icon
s16 PosY = 200 - pauseCtx->infoPanelOffsetY; //General Pos of C button icon
s16 icon_w = 46; // Original texture size
s16 icon_h = 16;
s32 icon_x_offset;