Match 3 functions (#964)

This commit is contained in:
engineer124
2022-07-23 15:09:55 -04:00
committed by GitHub
parent cde8874bb1
commit dfd00a8c1f
4 changed files with 20 additions and 30 deletions
+1 -1
View File
@@ -1448,7 +1448,7 @@ s16 ActorCutscene_GetCurrentIndex(void);
ActorCutscene* ActorCutscene_GetCutscene(s16 index); ActorCutscene* ActorCutscene_GetCutscene(s16 index);
s16 ActorCutscene_GetAdditionalCutscene(s16 index); s16 ActorCutscene_GetAdditionalCutscene(s16 index);
s16 ActorCutscene_GetLength(s16 index); s16 ActorCutscene_GetLength(s16 index);
s32 func_800F2138(s8 arg0); s32 func_800F2138(s32 arg0);
s32 func_800F2178(s16 arg0); s32 func_800F2178(s16 arg0);
s16 ActorCutscene_GetCurrentSubCamId(s16 index); s16 ActorCutscene_GetCurrentSubCamId(s16 index);
s16 func_800F21CC(void); s16 func_800F21CC(void);
+4 -5
View File
@@ -191,8 +191,6 @@ void func_80170774(PreRender* this, Gfx** gfxp) {
func_8016FF70(this, gfxp, this->zbufSave, this->zbuf); func_8016FF70(this, gfxp, this->zbufSave, this->zbuf);
} }
#ifdef NON_MATCHING
// just regalloc
void func_80170798(PreRender* this, Gfx** gfxp) { void func_80170798(PreRender* this, Gfx** gfxp) {
Gfx* gfx; Gfx* gfx;
s32 y; s32 y;
@@ -235,6 +233,10 @@ void func_80170798(PreRender* this, Gfx** gfxp) {
gDPLoadMultiTile(gfx++, this->cvgSave, 0x0160, rtile, G_IM_FMT_I, G_IM_SIZ_8b, this->width, this->height, gDPLoadMultiTile(gfx++, this->cvgSave, 0x0160, rtile, G_IM_FMT_I, G_IM_SIZ_8b, this->width, this->height,
uls, ult, lrs, lrt, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, uls, ult, lrs, lrt, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK,
G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD); G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
//! FAKE
if (1) {}
// The two if (1) {}'s above can be removed with do {} while(0) around macros
if (1) {}
if (1) {} if (1) {}
gSPTextureRectangle(gfx++, uls << 2, ult << 2, (lrs + 1) << 2, (lrt + 1) << 2, G_TX_RENDERTILE, uls << 5, gSPTextureRectangle(gfx++, uls << 2, ult << 2, (lrs + 1) << 2, (lrt + 1) << 2, G_TX_RENDERTILE, uls << 5,
ult << 5, 1 << 10, 1 << 10); ult << 5, 1 << 10, 1 << 10);
@@ -247,9 +249,6 @@ void func_80170798(PreRender* this, Gfx** gfxp) {
*gfxp = gfx; *gfxp = gfx;
} }
} }
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/PreRender/func_80170798.s")
#endif
void func_80170AE0(PreRender* this, Gfx** gfxp, s32 alpha) { void func_80170AE0(PreRender* this, Gfx** gfxp, s32 alpha) {
func_8016FF90(this, gfxp, this->fbufSave, this->fbuf, 255, 255, 255, alpha); func_8016FF90(this, gfxp, this->fbufSave, this->fbuf, 255, 255, 255, alpha);
+11 -14
View File
@@ -1494,11 +1494,9 @@ void func_800EDA84(PlayState* play, CutsceneContext* csCtx) {
} }
} }
#ifdef NON_MATCHING
// HandleFlags? // HandleFlags?
// regalloc
void func_800EDBE0(PlayState* play) { void func_800EDBE0(PlayState* play) {
CutsceneEntry* temp_a3; s32 pad;
s16 sp2A; s16 sp2A;
SceneTableEntry* sp24; SceneTableEntry* sp24;
s32 temp_v0_3; s32 temp_v0_3;
@@ -1508,15 +1506,16 @@ void func_800EDBE0(PlayState* play) {
if (sp2A != -1) { if (sp2A != -1) {
temp_v0_3 = func_800F2138(sp2A); temp_v0_3 = func_800F2138(sp2A);
if (temp_v0_3 != -1) { if (temp_v0_3 != -1) {
temp_a3 = ((void)0, play->csCtx.sceneCsList); if ((play->csCtx.sceneCsList[temp_v0_3].unk7 != 0xFF) && (gSaveContext.respawnFlag == 0)) {
if ((temp_a3[temp_v0_3].unk7 != 0xFF) && (gSaveContext.respawnFlag == 0)) { if (play->csCtx.sceneCsList[temp_v0_3].unk7 == 0xFE) {
if (temp_a3[temp_v0_3].unk7 == 0xFE) {
ActorCutscene_Start(sp2A, NULL); ActorCutscene_Start(sp2A, NULL);
gSaveContext.showTitleCard = false; gSaveContext.showTitleCard = false;
} else if (!((1 << (temp_a3[temp_v0_3].unk7 % 8)) & } else if (!(((void)0,
gSaveContext.save.weekEventReg[temp_a3[temp_v0_3].unk7 / 8])) { gSaveContext.save.weekEventReg[(play->csCtx.sceneCsList[temp_v0_3].unk7 / 8)]) &
gSaveContext.save.weekEventReg[(temp_a3[temp_v0_3].unk7 / 8)] |= (1 << (play->csCtx.sceneCsList[temp_v0_3].unk7 % 8)))) {
1 << (temp_a3[temp_v0_3].unk7 % 8); gSaveContext.save.weekEventReg[(play->csCtx.sceneCsList[temp_v0_3].unk7 / 8)] =
((void)0, gSaveContext.save.weekEventReg[(play->csCtx.sceneCsList[temp_v0_3].unk7 / 8)]) |
(1 << (play->csCtx.sceneCsList[temp_v0_3].unk7 % 8));
ActorCutscene_Start(sp2A, NULL); ActorCutscene_Start(sp2A, NULL);
gSaveContext.showTitleCard = false; gSaveContext.showTitleCard = false;
} }
@@ -1530,7 +1529,8 @@ void func_800EDBE0(PlayState* play) {
if ((gSaveContext.respawnFlag == 0) || (gSaveContext.respawnFlag == -2)) { if ((gSaveContext.respawnFlag == 0) || (gSaveContext.respawnFlag == -2)) {
sp24 = play->loadedScene; sp24 = play->loadedScene;
if ((sp24->titleTextId != 0) && gSaveContext.showTitleCard) { if ((sp24->titleTextId != 0) && gSaveContext.showTitleCard) {
if ((Entrance_GetTransitionFlags(gSaveContext.sceneSetupIndex + gSaveContext.save.entranceIndex) & if ((Entrance_GetTransitionFlags(((void)0, gSaveContext.save.entranceIndex) +
((void)0, gSaveContext.sceneSetupIndex)) &
0x4000) != 0) { 0x4000) != 0) {
func_80151A68(play, sp24->titleTextId); func_80151A68(play, sp24->titleTextId);
} }
@@ -1539,9 +1539,6 @@ void func_800EDBE0(PlayState* play) {
gSaveContext.showTitleCard = true; gSaveContext.showTitleCard = true;
} }
} }
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_demo/func_800EDBE0.s")
#endif
void func_800EDDB0(PlayState* play) { void func_800EDDB0(PlayState* play) {
} }
+4 -10
View File
@@ -887,13 +887,11 @@ void func_80144A94(SramContext* sramCtx) {
u16 D_801C6A58[] = { 0x68B0, 0x6A60, 0xB230, 0x9A80, 0xD890, 0x3E40, 0x8640, 0x84A0, 0x2040, 0xAA30 }; u16 D_801C6A58[] = { 0x68B0, 0x6A60, 0xB230, 0x9A80, 0xD890, 0x3E40, 0x8640, 0x84A0, 0x2040, 0xAA30 };
#ifdef NON_MATCHING
// Small regalloc between v0/t6/t7
void Sram_OpenSave(FileChooseContext* fileChooseCtx, SramContext* sramCtx) { void Sram_OpenSave(FileChooseContext* fileChooseCtx, SramContext* sramCtx) {
s32 i; s32 i;
s32 pad; s32 pad;
s32 phi_t1; s32 phi_t1;
s32 pad1[2]; s32 pad1;
s32 fileNum; s32 fileNum;
if (gSaveContext.unk_3F3F) { if (gSaveContext.unk_3F3F) {
@@ -959,12 +957,11 @@ void Sram_OpenSave(FileChooseContext* fileChooseCtx, SramContext* sramCtx) {
gSaveContext.save.playerForm = PLAYER_FORM_HUMAN; gSaveContext.save.playerForm = PLAYER_FORM_HUMAN;
} }
} else { } else {
gSaveContext.save.entranceIndex = D_801C6A58[gSaveContext.save.owlSaveLocation]; gSaveContext.save.entranceIndex = D_801C6A58[(void)0, gSaveContext.save.owlSaveLocation];
if (D_801C6A58[gSaveContext.save.owlSaveLocation] == 0x84A0 && (gSaveContext.save.weekEventReg[20] & 2)) { if ((gSaveContext.save.entranceIndex == 0x84A0) && (gSaveContext.save.weekEventReg[20] & 2)) {
// Unconfirmed weekEventReg: "Woodfall Temple Prison Entrance raised / Water cleansed" // Unconfirmed weekEventReg: "Woodfall Temple Prison Entrance raised / Water cleansed"
gSaveContext.save.entranceIndex = 0xCA0; gSaveContext.save.entranceIndex = 0xCA0;
} else if (D_801C6A58[gSaveContext.save.owlSaveLocation] == 0x9A80 && } else if ((gSaveContext.save.entranceIndex == 0x9A80) && (gSaveContext.save.weekEventReg[33] & 0x80)) {
(gSaveContext.save.weekEventReg[33] & 0x80)) {
// Unconfirmed weekEventReg: "Mountain Village Unfrozen" // Unconfirmed weekEventReg: "Mountain Village Unfrozen"
gSaveContext.save.entranceIndex = 0xAE80; gSaveContext.save.entranceIndex = 0xAE80;
} }
@@ -988,9 +985,6 @@ void Sram_OpenSave(FileChooseContext* fileChooseCtx, SramContext* sramCtx) {
func_80147314(sramCtx, fileNum); func_80147314(sramCtx, fileNum);
} }
} }
#else
#pragma GLOBAL_ASM("asm/non_matchings/code/z_sram_NES/Sram_OpenSave.s")
#endif
// Similar to func_80145698, but accounts for owl saves? // Similar to func_80145698, but accounts for owl saves?
void func_8014546C(SramContext* sramCtx) { void func_8014546C(SramContext* sramCtx) {