More docs, clean up matching

This commit is contained in:
engineer124
2022-04-23 15:07:34 +10:00
parent 966c323495
commit 353781bbe7
13 changed files with 61 additions and 86 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ WERROR ?= 0
# Keep .mdebug section in build
KEEP_MDEBUG ?= 0
# Disassembles all asm from the ROM instead of skipping files which are entirely in C
FULL_DISASM ?= 0
FULL_DISASM ?= 1
ifeq ($(NON_MATCHING),1)
CFLAGS := -DNON_MATCHING
+1 -1
View File
@@ -657,7 +657,7 @@ typedef struct {
/* 0x252 */ s16 lifeSizeChange;
/* 0x254 */ s16 lifeSizeChangeDirection; // 1 means shrinking, 0 growing
/* 0x256 */ s16 unk_256;
/* 0x258 */ s16 unk_258;
/* 0x258 */ s16 lensMagicDepletionTimer;
/* 0x25A */ u8 numHorseBoosts;
/* 0x25C */ u16 unk_25C;
/* 0x25E */ u16 unk_25E;
+5 -9
View File
@@ -133,7 +133,6 @@ void Cutscene_Command_Misc(GlobalContext* globalCtx2, CutsceneContext* csCtx, Cs
u8 isStartFrame = false;
f32 progress;
SceneTableEntry* loadedScene;
u16 time;
if ((csCtx->frames < cmd->startFrame) || ((csCtx->frames >= cmd->endFrame) && (cmd->endFrame != cmd->startFrame))) {
return;
@@ -251,11 +250,9 @@ void Cutscene_Command_Misc(GlobalContext* globalCtx2, CutsceneContext* csCtx, Cs
break;
case 0x12:
if (!gSaveContext.save.isNight) {
time = gSaveContext.save.time;
gSaveContext.save.time = time - (u16)REG(15);
gSaveContext.save.time = ((void)0, gSaveContext.save.time) - (u16)REG(15);
} else {
time = gSaveContext.save.time;
gSaveContext.save.time = time - (u16)(2 * REG(15));
gSaveContext.save.time = ((void)0, gSaveContext.save.time) - (u16)(2 * REG(15));
}
break;
case 0x13:
@@ -329,10 +326,9 @@ void Cutscene_Command_Misc(GlobalContext* globalCtx2, CutsceneContext* csCtx, Cs
D_801BB15C = csCtx->frames;
if (REG(15) != 0) {
time = gSaveContext.save.time;
gSaveContext.save.time = (u16)REG(15) + time;
time = gSaveContext.save.time;
gSaveContext.save.time = (u16)gSaveContext.save.daySpeed + time;
gSaveContext.save.time = ((void)0, gSaveContext.save.time) + (u16)REG(15);
gSaveContext.save.time =
((void)0, gSaveContext.save.time) + (u16)((void)0, gSaveContext.save.daySpeed);
}
}
break;
+1 -4
View File
@@ -815,8 +815,6 @@ void EnItem00_DrawHeartPiece(EnItem00* this, GlobalContext* globalCtx) {
}
s16 func_800A7650(s16 dropId) {
s16 healthCapacity;
if ((((dropId == ITEM00_BOMBS_A) || (dropId == ITEM00_BOMBS_0) || (dropId == ITEM00_BOMBS_B)) &&
(INV_CONTENT(ITEM_BOMB) == ITEM_NONE)) ||
(((dropId == ITEM00_ARROWS_10) || (dropId == ITEM00_ARROWS_30) || (dropId == ITEM00_ARROWS_40) ||
@@ -828,8 +826,7 @@ s16 func_800A7650(s16 dropId) {
}
if (dropId == ITEM00_HEART) {
healthCapacity = gSaveContext.save.playerData.healthCapacity;
if (healthCapacity == gSaveContext.save.playerData.health) {
if (((void)0, gSaveContext.save.playerData.healthCapacity) == ((void)0, gSaveContext.save.playerData.health)) {
return ITEM00_RUPEE_GREEN;
}
}
+25 -23
View File
@@ -3225,7 +3225,7 @@ s32 Magic_Consume(GlobalContext* globalCtx, s16 magicToConsume, s16 consumeType)
case MAGIC_BAR_CONSUME_LENS:
if (gSaveContext.magicBarAction == MAGIC_BAR_ACTION_IDLE) {
if (gSaveContext.save.playerData.magic != 0) {
interfaceCtx->unk_258 = 80;
interfaceCtx->lensMagicDepletionTimer = 80;
gSaveContext.magicBarAction = MAGIC_BAR_ACTION_LENS_CONSUME;
return true;
} else {
@@ -3253,7 +3253,7 @@ s32 Magic_Consume(GlobalContext* globalCtx, s16 magicToConsume, s16 consumeType)
case MAGIC_BAR_CONSUME_2:
if (gSaveContext.save.playerData.magic != 0) {
interfaceCtx->unk_258 = 10;
interfaceCtx->lensMagicDepletionTimer = 10;
gSaveContext.magicBarAction = MAGIC_BAR_ACTION_CONSUME_2;
return true;
} else {
@@ -3263,7 +3263,7 @@ s32 Magic_Consume(GlobalContext* globalCtx, s16 magicToConsume, s16 consumeType)
case MAGIC_BAR_CONSUME_4:
if (gSaveContext.magicBarAction == MAGIC_BAR_ACTION_IDLE) {
if (gSaveContext.save.playerData.magic != 0) {
interfaceCtx->unk_258 = XREG(41);
interfaceCtx->lensMagicDepletionTimer = XREG(41);
gSaveContext.magicBarAction = MAGIC_BAR_ACTION_CONSUME_4;
return true;
} else {
@@ -3452,12 +3452,12 @@ void Magic_UpdateBar(GlobalContext* globalCtx) {
break;
}
interfaceCtx->unk_258--;
if (interfaceCtx->unk_258 == 0) {
interfaceCtx->lensMagicDepletionTimer--;
if (interfaceCtx->lensMagicDepletionTimer == 0) {
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
gSaveContext.save.playerData.magic--;
}
interfaceCtx->unk_258 = 80;
interfaceCtx->lensMagicDepletionTimer = 80;
}
}
}
@@ -3466,29 +3466,29 @@ void Magic_UpdateBar(GlobalContext* globalCtx) {
}
break;
case 10:
case MAGIC_BAR_ACTION_CONSUME_2:
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
gSaveContext.save.playerData.magic -= 2;
}
if (gSaveContext.save.playerData.magic <= 0) {
gSaveContext.save.playerData.magic = 0;
}
gSaveContext.magicBarAction = 11;
gSaveContext.magicBarAction = MAGIC_BAR_ACTION_CONSUME_3;
// fallthrough
case MAGIC_BAR_ACTION_CONSUME_3:
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0) && (msgCtx->msgMode == 0) &&
(globalCtx->gameOverCtx.state == 0) && (globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0)) {
if (!Play_InCsMode(globalCtx)) {
interfaceCtx->unk_258--;
if (interfaceCtx->unk_258 == 0) {
interfaceCtx->lensMagicDepletionTimer--;
if (interfaceCtx->lensMagicDepletionTimer == 0) {
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
gSaveContext.save.playerData.magic--;
}
if (gSaveContext.save.playerData.magic <= 0) {
gSaveContext.save.playerData.magic = 0;
}
interfaceCtx->unk_258 = 10;
interfaceCtx->lensMagicDepletionTimer = 10;
}
}
}
@@ -3501,15 +3501,15 @@ void Magic_UpdateBar(GlobalContext* globalCtx) {
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0) && (msgCtx->msgMode == 0) &&
(globalCtx->gameOverCtx.state == 0) && (globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0)) {
if (!Play_InCsMode(globalCtx)) {
interfaceCtx->unk_258--;
if (interfaceCtx->unk_258 == 0) {
interfaceCtx->lensMagicDepletionTimer--;
if (interfaceCtx->lensMagicDepletionTimer == 0) {
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
gSaveContext.save.playerData.magic--;
}
if (gSaveContext.save.playerData.magic <= 0) {
gSaveContext.save.playerData.magic = 0;
}
interfaceCtx->unk_258 = XREG(41);
interfaceCtx->lensMagicDepletionTimer = XREG(41);
}
}
}
@@ -3532,9 +3532,9 @@ void Magic_DrawBar(GlobalContext* globalCtx) {
if (gSaveContext.save.playerData.magicLevel != 0) {
if (gSaveContext.save.playerData.healthCapacity > 0xA0) {
magicBarY = 42;
magicBarY = 42; // two rows of hearts
} else {
magicBarY = 34;
magicBarY = 34; // one row of hearts
}
func_8012C654(globalCtx->state.gfxCtx);
@@ -3559,6 +3559,7 @@ void Magic_DrawBar(GlobalContext* globalCtx) {
gDPSetEnvColor(OVERLAY_DISP++, 0, 0, 0, 255);
if (gSaveContext.magicBarAction == MAGIC_BAR_ACTION_BORDER_CHANGE_2) {
// Yellow part of the bar indicating the amount of magic to be subtracted
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 250, 250, 0, interfaceCtx->magicAlpha);
gDPLoadTextureBlock_4b(OVERLAY_DISP++, gMagicBarFillTex, G_IM_FMT_I, 16, 16, 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);
@@ -3566,8 +3567,8 @@ void Magic_DrawBar(GlobalContext* globalCtx) {
(((void)0, gSaveContext.save.playerData.magic) + 26) << 2, (magicBarY + 10) << 2,
G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
// Fill the rest of the bar with the normal magic color
gDPPipeSync(OVERLAY_DISP++);
if (gSaveContext.save.weekEventReg[14] & 8) {
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 0, 0, 200, interfaceCtx->magicAlpha);
} else {
@@ -3579,6 +3580,7 @@ void Magic_DrawBar(GlobalContext* globalCtx) {
((((void)0, gSaveContext.save.playerData.magic) - ((void)0, gSaveContext.magicToConsume)) + 26) << 2,
(magicBarY + 10) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
} else {
// Fill the whole bar with the normal magic color
if (gSaveContext.save.weekEventReg[14] & 8) {
gDPSetPrimColor(OVERLAY_DISP++, 0, 0, 0, 0, 200, interfaceCtx->magicAlpha);
} else {
@@ -6222,7 +6224,6 @@ void Interface_Update(GlobalContext* globalCtx) {
s16 alpha;
s16 alpha1;
u16 action;
s16 health;
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0)) {
if (globalCtx->gameOverCtx.state == 0) {
@@ -6240,12 +6241,12 @@ void Interface_Update(GlobalContext* globalCtx) {
}
func_8010F1A8(globalCtx, alpha);
health = 2; // Fake
gSaveContext.unk_3F24 += health;
gSaveContext.unk_3F24 += 2;
if (alpha == 0) {
gSaveContext.unk_3F20 = 0;
}
break;
case 0x3:
case 0x4:
case 0x5:
@@ -6329,6 +6330,8 @@ void Interface_Update(GlobalContext* globalCtx) {
gSaveContext.unk_3F20 = 1;
func_8010F1A8(globalCtx, 0);
gSaveContext.unk_3F20 = 0;
// fallthrough
default:
break;
}
@@ -6343,8 +6346,7 @@ void Interface_Update(GlobalContext* globalCtx) {
play_sound(NA_SE_SY_HP_RECOVER);
}
health = gSaveContext.save.playerData.health;
if (health >= gSaveContext.save.playerData.healthCapacity) {
if (((void)0, gSaveContext.save.playerData.health) >= ((void)0, gSaveContext.save.playerData.healthCapacity)) {
gSaveContext.save.playerData.health = gSaveContext.save.playerData.healthCapacity;
gSaveContext.healthAccumulator = 0;
}
@@ -6687,7 +6689,7 @@ void Interface_Init(GlobalContext* globalCtx) {
View_Init(&interfaceCtx->view, globalCtx->state.gfxCtx);
interfaceCtx->unk_258 = 16;
interfaceCtx->lensMagicDepletionTimer = 16;
interfaceCtx->unkTimer = 200;
parameterStaticSize = SEGMENT_ROM_SIZE(parameter_static);
+6 -14
View File
@@ -142,11 +142,9 @@ void* func_8012F73C(ObjectContext* objectCtx, s32 iParm2, s16 id) {
// SceneTableEntry Header Command 0x00: Spawn List
void Scene_HeaderCmdSpawnList(GlobalContext* globalCtx, SceneCmd* cmd) {
GlobalContext* globalCtx2 = globalCtx;
s32 loadedCount;
void* nextObject;
s16 playerObjectId;
u8 playerForm;
void* nextObject;
globalCtx->linkActorEntry = (ActorEntry*)Lib_SegmentedToVirtual(cmd->spawnList.segment) +
globalCtx->setupEntranceList[globalCtx->curSpawn].spawn;
@@ -158,11 +156,10 @@ void Scene_HeaderCmdSpawnList(GlobalContext* globalCtx, SceneCmd* cmd) {
}
loadedCount = Object_Spawn(&globalCtx->objectCtx, OBJECT_LINK_CHILD);
nextObject = globalCtx2->objectCtx.status[globalCtx2->objectCtx.num].segment;
nextObject = globalCtx->objectCtx.status[globalCtx->objectCtx.num].segment;
globalCtx->objectCtx.num = loadedCount;
globalCtx->objectCtx.spawnedObjectCount = loadedCount;
playerForm = gSaveContext.save.playerForm;
playerObjectId = gLinkFormObjectIndexes[playerForm];
playerObjectId = gLinkFormObjectIndexes[(void)0, gSaveContext.save.playerForm];
gActorOverlayTable[0].initInfo->objectId = playerObjectId;
Object_Spawn(&globalCtx->objectCtx, playerObjectId);
@@ -378,8 +375,6 @@ void Scene_HeaderCmdSkyboxDisables(GlobalContext* globalCtx, SceneCmd* cmd) {
// SceneTableEntry Header Command 0x10: Time Settings
void Scene_HeaderCmdTimeSettings(GlobalContext* globalCtx, SceneCmd* cmd) {
u32 dayTime;
if (cmd->timeSettings.hour != 0xFF && cmd->timeSettings.min != 0xFF) {
gSaveContext.environmentTime = gSaveContext.save.time =
(u16)(((cmd->timeSettings.hour + (cmd->timeSettings.min / 60.0f)) * 60.0f) / 0.021972656f);
@@ -399,12 +394,9 @@ void Scene_HeaderCmdTimeSettings(GlobalContext* globalCtx, SceneCmd* cmd) {
REG(15) = globalCtx->envCtx.timeIncrement;
}
dayTime = gSaveContext.save.time;
globalCtx->envCtx.unk_4 = -(Math_SinS(dayTime - 0x8000) * 120.0f) * 25.0f;
dayTime = gSaveContext.save.time;
globalCtx->envCtx.unk_8 = (Math_CosS(dayTime - 0x8000) * 120.0f) * 25.0f;
dayTime = gSaveContext.save.time;
globalCtx->envCtx.unk_C = (Math_CosS(dayTime - 0x8000) * 20.0f) * 25.0f;
globalCtx->envCtx.unk_4 = -(Math_SinS(((void)0, gSaveContext.save.time) - 0x8000) * 120.0f) * 25.0f;
globalCtx->envCtx.unk_8 = (Math_CosS(((void)0, gSaveContext.save.time) - 0x8000) * 120.0f) * 25.0f;
globalCtx->envCtx.unk_C = (Math_CosS(((void)0, gSaveContext.save.time) - 0x8000) * 20.0f) * 25.0f;
if (globalCtx->envCtx.timeIncrement == 0 && gSaveContext.save.cutscene < 0xFFF0) {
gSaveContext.environmentTime = gSaveContext.save.time;
@@ -30,8 +30,8 @@ const ActorInit Dm_Ravine_InitVars = {
void DmRavine_Init(Actor* thisx, GlobalContext* globalCtx) {
DmRavine* this = THIS;
u8 flag = gSaveContext.save.weekEventReg[0];
if (((flag & 0x10) | cREG(0)) != 0) {
if (((((void)0, gSaveContext.save.weekEventReg[0]) & 0x10) | cREG(0)) != 0) {
Actor_MarkForDeath(&this->actor);
return;
}
@@ -570,9 +570,7 @@ void func_808A1884(DoorShutter* this, GlobalContext* globalCtx) {
if (DoorShutter_SetupDoor(this, globalCtx) && !(player->stateFlags1 & 0x800)) {
DoorShutter_SetupAction(this, func_808A1C50);
if (ActorCutscene_GetCurrentIndex() == 0x7D) {
s8 data = gSaveContext.respawn[RESTART_MODE_DOWN].data;
func_801226E0(globalCtx, data);
func_801226E0(globalCtx, ((void)0, gSaveContext.respawn[RESTART_MODE_DOWN].data));
player->unk_A86 = -1;
func_800B7298(globalCtx, NULL, 0x73);
}
+10 -10
View File
@@ -882,8 +882,8 @@ void func_809C2F34(EnAob01* this, GlobalContext* globalCtx) {
void func_809C2FA0(void) {
u8 i;
u8 idx;
u8 idx2;
u8 rand;
u8 index;
u8 orig;
u8 orig2;
u8 sp44[7];
@@ -892,11 +892,11 @@ void func_809C2FA0(void) {
};
for (i = 0; i < ARRAY_COUNT(sp34); i++) {
idx = Rand_ZeroFloat(14.0f);
rand = Rand_ZeroFloat(14.0f);
orig = sp34[i];
sp34[i] = sp34[idx];
sp34[idx] = orig;
sp34[i] = sp34[rand];
sp34[rand] = orig;
}
for (i = 0; i < ARRAY_COUNT(sp44); i++) {
@@ -906,14 +906,14 @@ void func_809C2FA0(void) {
for (i = 0; i < ARRAY_COUNT(sp34); i++) {
orig2 = sp34[i];
idx2 = i / 2;
index = i / 2;
if (i % 2) {
sp44[idx2] |= orig2 << 0x4;
idx = gSaveContext.save.weekEventReg[42 + idx2];
gSaveContext.save.weekEventReg[42 + idx2] = idx | sp44[idx2];
sp44[index] |= orig2 << 0x4;
gSaveContext.save.weekEventReg[42 + index] =
((void)0, gSaveContext.save.weekEventReg[42 + index]) | sp44[index];
} else {
sp44[idx2] |= orig2;
sp44[index] |= orig2;
}
}
}
@@ -651,12 +651,11 @@ void func_80C02704(EnBomjimb* this, GlobalContext* globalCtx) {
}
}
u16 D_80C03230[] = {
0x0721, 0x0722, 0x0723, 0x0724, 0x072C,
};
void func_80C02740(EnBomjimb* this, GlobalContext* globalCtx) {
static u16 D_80C03230[] = {
0x0721, 0x0722, 0x0723, 0x0724, 0x072C,
};
Player* player = GET_PLAYER(globalCtx);
s16 idx;
func_80C012E0(this);
func_80C0113C(this, 21, 1.0f);
@@ -683,10 +682,8 @@ void func_80C02740(EnBomjimb* this, GlobalContext* globalCtx) {
return;
}
idx = gSaveContext.save.bombersCaughtNum;
Message_StartTextbox(globalCtx, D_80C03230[idx], &this->actor);
idx = gSaveContext.save.bombersCaughtNum;
gSaveContext.save.bombersCaughtOrder[idx] = this->unk_2C8 + 1;
Message_StartTextbox(globalCtx, D_80C03230[((void)0, gSaveContext.save.bombersCaughtNum)], &this->actor);
gSaveContext.save.bombersCaughtOrder[((void)0, gSaveContext.save.bombersCaughtNum)] = this->unk_2C8 + 1;
gSaveContext.save.bombersCaughtNum++;
if (gSaveContext.save.bombersCaughtNum > 4) {
@@ -177,14 +177,11 @@ void EnElfgrp_Destroy(Actor* thisx, GlobalContext* globalCtx) {
}
s32 func_80A39BD0(GlobalContext* globalCtx, s32 arg2) {
s8 sp1F;
if ((arg2 < 1) || (arg2 >= 5)) {
return 0;
}
sp1F = gSaveContext.save.inventory.strayFairies[arg2 - 1];
return (sp1F - func_80A39C1C(globalCtx, arg2)) + 10;
return (((void)0, gSaveContext.save.inventory.strayFairies[arg2 - 1]) - func_80A39C1C(globalCtx, arg2)) + 10;
}
s32 func_80A39C1C(GlobalContext* globalCtx, s32 arg1) {
@@ -713,15 +713,13 @@ void func_808D2040(EnFloormas* this, GlobalContext* globalCtx) {
void func_808D217C(EnFloormas* this, Player* player) {
Vec3f* ptr;
u8 playerForm;
Animation_Change(&this->skelAnime, &gWallmasterJumpAnim, 1.0f, 36.0f, 45.0f, ANIMMODE_ONCE, -3.0f);
this->actor.flags &= ~ACTOR_FLAG_1;
this->actor.speedXZ = 0.0f;
this->actor.velocity.y = 0.0f;
func_808D08D0(this);
playerForm = gSaveContext.save.playerForm;
ptr = &D_808D3900[playerForm];
ptr = &D_808D3900[(void)0, gSaveContext.save.playerForm];
this->actor.home.pos.x = ptr->z * Math_SinS(this->actor.shape.rot.y);
this->actor.home.pos.y = CLAMP(-this->actor.playerHeightRel, ptr->x, ptr->y);
this->actor.home.pos.z = ptr->z * Math_CosS(this->actor.shape.rot.y);
@@ -255,8 +255,6 @@ void EnMinifrog_SpawnDust(EnMinifrog* this, GlobalContext* globalCtx) {
}
void EnMinifrog_ReturnFrogCutscene(EnMinifrog* this, GlobalContext* globalCtx) {
u8 flag;
EnMinifrog_TurnToPlayer(this);
EnMinifrog_Jump(this);
if ((Message_GetState(&globalCtx->msgCtx) == 5) && Message_ShouldAdvance(globalCtx)) {
@@ -277,9 +275,9 @@ void EnMinifrog_ReturnFrogCutscene(EnMinifrog* this, GlobalContext* globalCtx) {
func_80151938(globalCtx, 0xD86); // "Could it be... You came all this way looking for me?"
}
flag = gSaveContext.save.weekEventReg[isFrogReturnedFlags[this->frogIndex] >> 8];
gSaveContext.save.weekEventReg[isFrogReturnedFlags[this->frogIndex] >> 8] =
flag | (u8)isFrogReturnedFlags[this->frogIndex];
((void)0, gSaveContext.save.weekEventReg[isFrogReturnedFlags[this->frogIndex] >> 8]) |
(u8)isFrogReturnedFlags[this->frogIndex];
break;
case 0xD85: // "I understand. I shall head for the mountains immediately."
default: