summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
Diffstat (limited to 'src/code')
-rw-r--r--src/code/title_setup.c38
-rw-r--r--src/code/z_kaleido_setup.c6
-rw-r--r--src/code/z_parameter.c116
3 files changed, 83 insertions, 77 deletions
diff --git a/src/code/title_setup.c b/src/code/title_setup.c
index 69790b60c..8b71a54c5 100644
--- a/src/code/title_setup.c
+++ b/src/code/title_setup.c
@@ -3,30 +3,30 @@
void TitleSetup_GameStateResetContext(void) {
XREG(2) = 0;
- XREG(10) = 0x1A;
- XREG(11) = 0x14;
- XREG(12) = 0xE;
+ XREG(10) = 26;
+ XREG(11) = 20;
+ XREG(12) = 14;
XREG(13) = 0;
XREG(31) = 0;
- XREG(41) = 0x50;
+ R_MAGIC_CONSUME_TIMER_GIANT = 80;
XREG(43) = 0xFC54;
- XREG(44) = 0xD7;
- XREG(45) = 0xDA;
- XREG(68) = 0x61;
- XREG(69) = 0x93;
- XREG(70) = 0x28;
- XREG(73) = 0x1E;
- XREG(74) = 0x42;
- XREG(75) = 0x1E;
- XREG(76) = 0x1C;
- XREG(77) = 0x3C;
- XREG(78) = 0x2F;
- XREG(79) = 0x62;
+ XREG(44) = 215;
+ XREG(45) = 218;
+ XREG(68) = 97;
+ XREG(69) = 147;
+ XREG(70) = 40;
+ XREG(73) = 30;
+ XREG(74) = 66;
+ XREG(75) = 30;
+ XREG(76) = 28;
+ XREG(77) = 60;
+ XREG(78) = 47;
+ XREG(79) = 98;
XREG(87) = 0;
- XREG(88) = 0x56;
- XREG(89) = 0x258;
- XREG(90) = 0x1C2;
+ XREG(88) = 86;
+ XREG(89) = 600;
+ XREG(90) = 450;
XREG(91) = 0;
XREG(94) = 0;
XREG(95) = 0;
diff --git a/src/code/z_kaleido_setup.c b/src/code/z_kaleido_setup.c
index 6505355b9..330395fe7 100644
--- a/src/code/z_kaleido_setup.c
+++ b/src/code/z_kaleido_setup.c
@@ -70,11 +70,11 @@ void KaleidoSetup_Update(GlobalContext* globalCtx) {
}
if ((pauseCtx->state == 0) && (pauseCtx->debugState == 0) && (globalCtx->gameOverCtx.state == GAMEOVER_INACTIVE)) {
- if ((globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0)) {
+ if ((globalCtx->sceneLoadFlag == 0) && (globalCtx->transitionMode == 0)) {
if ((gSaveContext.save.cutscene < 0xFFF0) && (gSaveContext.nextCutsceneIndex < 0xFFF0)) {
if (!Play_InCsMode(globalCtx) || ((msgCtx->msgMode != 0) && (msgCtx->currentTextId == 0xFF))) {
- if ((globalCtx->unk_1887C < 2) && (gSaveContext.magicBarAction != 8) &&
- (gSaveContext.magicBarAction != 9)) {
+ if ((globalCtx->unk_1887C < 2) && (gSaveContext.magicBarAction != MAGIC_BAR_ACTION_GROW_WIDE) &&
+ (gSaveContext.magicBarAction != MAGIC_BAR_ACTION_FILL)) {
if (!(gSaveContext.eventInf[1] & 0x80) && !(player->stateFlags1 & 0x20)) {
if (!(globalCtx->actorCtx.unk5 & 2) && !(globalCtx->actorCtx.unk5 & 4)) {
if ((globalCtx->actorCtx.unk268 == 0) &&
diff --git a/src/code/z_parameter.c b/src/code/z_parameter.c
index 5f93dcf5d..a9cbec4d6 100644
--- a/src/code/z_parameter.c
+++ b/src/code/z_parameter.c
@@ -1637,7 +1637,7 @@ void func_80110038(GlobalContext* globalCtx) {
gSaveContext.unk_3F22 = 0;
}
- if ((globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0)) {
+ if ((globalCtx->sceneLoadFlag == 0) && (globalCtx->transitionMode == 0)) {
if (ActorCutscene_GetCurrentIndex() == -1) {
Interface_ChangeAlpha(50);
}
@@ -1897,7 +1897,8 @@ void func_80110038(GlobalContext* globalCtx) {
}
}
- if (phi_t3 && (globalCtx->activeCamera == 0) && (globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0)) {
+ if (phi_t3 && (globalCtx->activeCamera == 0) && (globalCtx->sceneLoadFlag == 0) &&
+ (globalCtx->transitionMode == 0)) {
gSaveContext.unk_3F22 = 0;
Interface_ChangeAlpha(50);
}
@@ -1977,7 +1978,7 @@ void func_80111CB4(GlobalContext* globalCtx) {
}
}
- if (globalCtx->unk_18B4A != 0) {
+ if (globalCtx->transitionMode != 0) {
Interface_ChangeAlpha(1);
} else if ((gSaveContext.minigameState == 1) && (gSaveContext.save.entranceIndex == 0x6400) &&
(Cutscene_GetSceneSetupIndex(globalCtx) != 0) && (globalCtx->sceneLoadFlag == 0)) {
@@ -2035,7 +2036,7 @@ void func_80111CB4(GlobalContext* globalCtx) {
gSaveContext.buttonStatus[EQUIP_SLOT_C_RIGHT] = BTN_DISABLED;
Interface_ChangeAlpha(6);
- if (globalCtx->unk_18B4A != 0) {
+ if (globalCtx->transitionMode != 0) {
Interface_ChangeAlpha(1);
} else if ((gSaveContext.minigameState == 1) && (gSaveContext.save.entranceIndex == 0x6400) &&
(Cutscene_GetSceneSetupIndex(globalCtx) != 0) && (globalCtx->sceneLoadFlag == 0)) {
@@ -2106,13 +2107,13 @@ void func_80111CB4(GlobalContext* globalCtx) {
}
}
} else if ((gSaveContext.minigameState == 1) && (gSaveContext.save.entranceIndex == 0x8E10) &&
- (globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0)) {
+ (globalCtx->sceneLoadFlag == 0) && (globalCtx->transitionMode == 0)) {
gSaveContext.buttonStatus[EQUIP_SLOT_C_LEFT] = BTN_DISABLED;
gSaveContext.buttonStatus[EQUIP_SLOT_C_DOWN] = BTN_DISABLED;
gSaveContext.buttonStatus[EQUIP_SLOT_C_RIGHT] = BTN_DISABLED;
Interface_ChangeAlpha(12);
} else if ((gSaveContext.save.entranceIndex == 0xD010) && (globalCtx->sceneLoadFlag == 0) &&
- (globalCtx->unk_18B4A == 0)) {
+ (globalCtx->transitionMode == 0)) {
gSaveContext.buttonStatus[EQUIP_SLOT_C_LEFT] = BTN_DISABLED;
gSaveContext.buttonStatus[EQUIP_SLOT_C_DOWN] = BTN_DISABLED;
gSaveContext.buttonStatus[EQUIP_SLOT_C_RIGHT] = BTN_DISABLED;
@@ -2134,7 +2135,7 @@ void func_80111CB4(GlobalContext* globalCtx) {
}
if (sp28) {
gSaveContext.unk_3F22 = 0;
- if ((globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0)) {
+ if ((globalCtx->sceneLoadFlag == 0) && (globalCtx->transitionMode == 0)) {
Interface_ChangeAlpha(50);
}
}
@@ -3187,7 +3188,7 @@ s32 Magic_Consume(GlobalContext* globalCtx, s16 magicToConsume, s16 consumeType)
}
switch (consumeType) {
- case MAGIC_BAR_CONSUME_NOW:
+ case MAGIC_BAR_CONSUME_NOW: // Deku Bubble
case MAGIC_BAR_CONSUME_NOW_ALT:
if ((gSaveContext.magicBarAction == MAGIC_BAR_ACTION_IDLE) ||
(gSaveContext.magicBarAction == MAGIC_BAR_ACTION_LENS_CONSUME)) {
@@ -3222,10 +3223,10 @@ s32 Magic_Consume(GlobalContext* globalCtx, s16 magicToConsume, s16 consumeType)
return false;
}
- case MAGIC_BAR_CONSUME_LENS:
+ case MAGIC_BAR_CONSUME_LENS: // Lens
if (gSaveContext.magicBarAction == MAGIC_BAR_ACTION_IDLE) {
if (gSaveContext.save.playerData.magic != 0) {
- interfaceCtx->lensMagicDepletionTimer = 80;
+ interfaceCtx->magicConsumptionTimer = 80;
gSaveContext.magicBarAction = MAGIC_BAR_ACTION_LENS_CONSUME;
return true;
} else {
@@ -3237,7 +3238,7 @@ s32 Magic_Consume(GlobalContext* globalCtx, s16 magicToConsume, s16 consumeType)
return false;
}
- case MAGIC_BAR_CONSUME_WAIT_PREVIEW:
+ case MAGIC_BAR_CONSUME_WAIT_PREVIEW: // Spin Attack
if ((gSaveContext.magicBarAction == MAGIC_BAR_ACTION_IDLE) ||
(gSaveContext.magicBarAction == MAGIC_BAR_ACTION_LENS_CONSUME)) {
if (gSaveContext.magicBarAction == MAGIC_BAR_ACTION_LENS_CONSUME) {
@@ -3251,32 +3252,32 @@ s32 Magic_Consume(GlobalContext* globalCtx, s16 magicToConsume, s16 consumeType)
return false;
}
- case MAGIC_BAR_CONSUME_2:
+ case MAGIC_BAR_CONSUME_GORON_ZORA: // Zora Shock, Goron Spike Roll
if (gSaveContext.save.playerData.magic != 0) {
- interfaceCtx->lensMagicDepletionTimer = 10;
- gSaveContext.magicBarAction = MAGIC_BAR_ACTION_CONSUME_2;
+ interfaceCtx->magicConsumptionTimer = 10;
+ gSaveContext.magicBarAction = MAGIC_BAR_ACTION_CONSUME_GORON_ZORA_SETUP;
return true;
} else {
return false;
}
- case MAGIC_BAR_CONSUME_4:
+ case MAGIC_BAR_CONSUME_GIANTS_MASK: // Giants Mask
if (gSaveContext.magicBarAction == MAGIC_BAR_ACTION_IDLE) {
if (gSaveContext.save.playerData.magic != 0) {
- interfaceCtx->lensMagicDepletionTimer = XREG(41);
- gSaveContext.magicBarAction = MAGIC_BAR_ACTION_CONSUME_4;
+ interfaceCtx->magicConsumptionTimer = R_MAGIC_CONSUME_TIMER_GIANT;
+ gSaveContext.magicBarAction = MAGIC_BAR_ACTION_CONSUME_GIANTS_MASK;
return true;
} else {
return false;
}
}
- if (gSaveContext.magicBarAction == MAGIC_BAR_ACTION_CONSUME_4) {
+ if (gSaveContext.magicBarAction == MAGIC_BAR_ACTION_CONSUME_GIANTS_MASK) {
return true;
} else {
return false;
}
- case MAGIC_BAR_CONSUME_UNK:
+ case MAGIC_BAR_CONSUME_DEITY_BEAM: // Fierce Deity Beam
if ((gSaveContext.magicBarAction == MAGIC_BAR_ACTION_IDLE) ||
(gSaveContext.magicBarAction == MAGIC_BAR_ACTION_LENS_CONSUME)) {
if (gSaveContext.magicBarAction == MAGIC_BAR_ACTION_LENS_CONSUME) {
@@ -3301,6 +3302,7 @@ void Magic_UpdateAdd(void) {
if (gSaveContext.isMagicRequested) {
gSaveContext.save.playerData.magic += 4;
play_sound(NA_SE_SY_GAUGE_UP - SFX_FLAG);
+
if (((void)0, gSaveContext.save.playerData.magic) >= ((void)0, gSaveContext.magicCapacityDrawn)) {
gSaveContext.save.playerData.magic = gSaveContext.magicCapacityDrawn;
gSaveContext.magicToAdd = 0;
@@ -3315,13 +3317,13 @@ void Magic_UpdateAdd(void) {
}
}
+s16 sMagicBorderColors[][3] = {
+ { 255, 255, 255 },
+ { 150, 150, 150 },
+};
+s16 sMagicBorderIndices[] = { 0, 1, 1, 0 };
+s16 sMagicBorderColorTimerIndex[] = { 2, 1, 2, 1 };
void Magic_UpdateBarBorderColor(void) {
- static s16 sMagicBorderColors[][3] = {
- { 255, 255, 255 },
- { 150, 150, 150 },
- };
- static s16 sMagicBorderIndices[] = { 0, 1, 1, 0 };
- static s16 sMagicBorderColorTimerIndex[] = { 2, 1, 2, 1 };
s16 borderChangeR;
s16 borderChangeG;
s16 borderChangeB;
@@ -3350,12 +3352,13 @@ void Magic_UpdateBarBorderColor(void) {
}
sMagicBorderRatio--;
-
if (sMagicBorderRatio == 0) {
sMagicBarOutlinePrimRed = sMagicBorderColors[index][0];
sMagicBarOutlinePrimGreen = sMagicBorderColors[index][1];
sMagicBarOutlinePrimBlue = sMagicBorderColors[index][2];
+
sMagicBorderRatio = sMagicBorderColorTimerIndex[sMagicBorderStep];
+
sMagicBorderStep++;
if (sMagicBorderStep >= 4) {
sMagicBorderStep = 0;
@@ -3366,7 +3369,7 @@ void Magic_UpdateBarBorderColor(void) {
void Magic_UpdateBar(GlobalContext* globalCtx) {
MessageContext* msgCtx = &globalCtx->msgCtx;
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
- s16 temp;
+ s16 magicCapacity;
if (gSaveContext.save.weekEventReg[14] & 8) {
Magic_UpdateBarBorderColor();
@@ -3374,17 +3377,17 @@ void Magic_UpdateBar(GlobalContext* globalCtx) {
switch (gSaveContext.magicBarAction) {
case MAGIC_BAR_ACTION_GROW_WIDE:
- temp = gSaveContext.save.playerData.magicLevel * MAGIC_HALF_BAR; // magicCapacity
- if (gSaveContext.magicCapacityDrawn != temp) {
- if (gSaveContext.magicCapacityDrawn < temp) {
+ magicCapacity = gSaveContext.save.playerData.magicLevel * MAGIC_HALF_BAR;
+ if (gSaveContext.magicCapacityDrawn != magicCapacity) {
+ if (gSaveContext.magicCapacityDrawn < magicCapacity) {
gSaveContext.magicCapacityDrawn += 0x10;
- if (gSaveContext.magicCapacityDrawn > temp) {
- gSaveContext.magicCapacityDrawn = temp;
+ if (gSaveContext.magicCapacityDrawn > magicCapacity) {
+ gSaveContext.magicCapacityDrawn = magicCapacity;
}
} else {
gSaveContext.magicCapacityDrawn -= 0x10;
- if (gSaveContext.magicCapacityDrawn <= temp) {
- gSaveContext.magicCapacityDrawn = temp;
+ if (gSaveContext.magicCapacityDrawn <= magicCapacity) {
+ gSaveContext.magicCapacityDrawn = magicCapacity;
}
}
} else {
@@ -3437,7 +3440,8 @@ void Magic_UpdateBar(GlobalContext* globalCtx) {
case MAGIC_BAR_ACTION_LENS_CONSUME:
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0) && (msgCtx->msgMode == 0) &&
- (globalCtx->gameOverCtx.state == 0) && (globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0)) {
+ (globalCtx->gameOverCtx.state == 0) && (globalCtx->sceneLoadFlag == 0) &&
+ (globalCtx->transitionMode == 0)) {
if (!Play_InCsMode(globalCtx)) {
if ((gSaveContext.save.playerData.magic == 0) ||
((func_801242DC(globalCtx) >= 2) && (func_801242DC(globalCtx) < 5)) ||
@@ -3447,17 +3451,17 @@ void Magic_UpdateBar(GlobalContext* globalCtx) {
!globalCtx->actorCtx.lensActive) {
globalCtx->actorCtx.lensActive = false;
play_sound(NA_SE_SY_GLASSMODE_OFF);
- gSaveContext.magicBarAction = 0;
+ gSaveContext.magicBarAction = MAGIC_BAR_ACTION_IDLE;
sMagicBarOutlinePrimRed = sMagicBarOutlinePrimGreen = sMagicBarOutlinePrimBlue = 255;
break;
}
- interfaceCtx->lensMagicDepletionTimer--;
- if (interfaceCtx->lensMagicDepletionTimer == 0) {
+ interfaceCtx->magicConsumptionTimer--;
+ if (interfaceCtx->magicConsumptionTimer == 0) {
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
gSaveContext.save.playerData.magic--;
}
- interfaceCtx->lensMagicDepletionTimer = 80;
+ interfaceCtx->magicConsumptionTimer = 80;
}
}
}
@@ -3466,29 +3470,30 @@ void Magic_UpdateBar(GlobalContext* globalCtx) {
}
break;
- case MAGIC_BAR_ACTION_CONSUME_2:
+ case MAGIC_BAR_ACTION_CONSUME_GORON_ZORA_SETUP:
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
gSaveContext.save.playerData.magic -= 2;
}
if (gSaveContext.save.playerData.magic <= 0) {
gSaveContext.save.playerData.magic = 0;
}
- gSaveContext.magicBarAction = MAGIC_BAR_ACTION_CONSUME_3;
+ gSaveContext.magicBarAction = MAGIC_BAR_ACTION_CONSUME_GORON_ZORA;
// fallthrough
- case MAGIC_BAR_ACTION_CONSUME_3:
+ case MAGIC_BAR_ACTION_CONSUME_GORON_ZORA:
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0) && (msgCtx->msgMode == 0) &&
- (globalCtx->gameOverCtx.state == 0) && (globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0)) {
+ (globalCtx->gameOverCtx.state == 0) && (globalCtx->sceneLoadFlag == 0) &&
+ (globalCtx->transitionMode == 0)) {
if (!Play_InCsMode(globalCtx)) {
- interfaceCtx->lensMagicDepletionTimer--;
- if (interfaceCtx->lensMagicDepletionTimer == 0) {
+ interfaceCtx->magicConsumptionTimer--;
+ if (interfaceCtx->magicConsumptionTimer == 0) {
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
gSaveContext.save.playerData.magic--;
}
if (gSaveContext.save.playerData.magic <= 0) {
gSaveContext.save.playerData.magic = 0;
}
- interfaceCtx->lensMagicDepletionTimer = 10;
+ interfaceCtx->magicConsumptionTimer = 10;
}
}
}
@@ -3497,19 +3502,20 @@ void Magic_UpdateBar(GlobalContext* globalCtx) {
}
break;
- case MAGIC_BAR_ACTION_CONSUME_4:
+ case MAGIC_BAR_ACTION_CONSUME_GIANTS_MASK:
if ((globalCtx->pauseCtx.state == 0) && (globalCtx->pauseCtx.debugState == 0) && (msgCtx->msgMode == 0) &&
- (globalCtx->gameOverCtx.state == 0) && (globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0)) {
+ (globalCtx->gameOverCtx.state == 0) && (globalCtx->sceneLoadFlag == 0) &&
+ (globalCtx->transitionMode == 0)) {
if (!Play_InCsMode(globalCtx)) {
- interfaceCtx->lensMagicDepletionTimer--;
- if (interfaceCtx->lensMagicDepletionTimer == 0) {
+ interfaceCtx->magicConsumptionTimer--;
+ if (interfaceCtx->magicConsumptionTimer == 0) {
if (!(gSaveContext.save.weekEventReg[14] & 8)) {
gSaveContext.save.playerData.magic--;
}
if (gSaveContext.save.playerData.magic <= 0) {
gSaveContext.save.playerData.magic = 0;
}
- interfaceCtx->lensMagicDepletionTimer = XREG(41);
+ interfaceCtx->magicConsumptionTimer = R_MAGIC_CONSUME_TIMER_GIANT;
}
}
}
@@ -5167,7 +5173,7 @@ void Interface_DrawTimers(GlobalContext* globalCtx) {
(globalCtx->gameOverCtx.state == 0) &&
((msgCtx->msgMode == 0) ||
((msgCtx->msgMode != 0) && (msgCtx->currentTextId >= 0x1BB2) && (msgCtx->currentTextId <= 0x1BB6))) &&
- !(player->stateFlags1 & 0x200) && (globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0) &&
+ !(player->stateFlags1 & 0x200) && (globalCtx->sceneLoadFlag == 0) && (globalCtx->transitionMode == 0) &&
!Play_InCsMode(globalCtx)) {
if (D_801BF968) {
@@ -5595,7 +5601,7 @@ void Interface_UpdateTimers(GlobalContext* globalCtx) {
(globalCtx->gameOverCtx.state == 0) &&
((msgCtx->msgMode == 0) || ((msgCtx->currentTextId >= 0x100) && (msgCtx->currentTextId <= 0x200)) ||
((msgCtx->currentTextId >= 0x1BB2) && (msgCtx->currentTextId <= 0x1BB6))) &&
- (globalCtx->sceneLoadFlag == 0) && (globalCtx->unk_18B4A == 0) && !Play_InCsMode(globalCtx)) {
+ (globalCtx->sceneLoadFlag == 0) && (globalCtx->transitionMode == 0) && !Play_InCsMode(globalCtx)) {
if (D_801BF96C) {
var3 = osGetTime();
@@ -6511,7 +6517,7 @@ void Interface_Update(GlobalContext* globalCtx) {
if (!(player->stateFlags1 & 0x200)) {
if (XREG(4) == 1) {
if (!gSaveContext.save.playerData.isMagicAcquired) {
- gSaveContext.save.playerData.isMagicAcquired = 1;
+ gSaveContext.save.playerData.isMagicAcquired = true;
}
gSaveContext.save.playerData.isDoubleMagicAcquired = true;
gSaveContext.save.playerData.magic = MAGIC_FULL_BAR;
@@ -6689,7 +6695,7 @@ void Interface_Init(GlobalContext* globalCtx) {
View_Init(&interfaceCtx->view, globalCtx->state.gfxCtx);
- interfaceCtx->lensMagicDepletionTimer = 16;
+ interfaceCtx->magicConsumptionTimer = 16;
interfaceCtx->unkTimer = 200;
parameterStaticSize = SEGMENT_ROM_SIZE(parameter_static);