summaryrefslogtreecommitdiff
path: root/src/code/z_scene.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/code/z_scene.c')
-rw-r--r--src/code/z_scene.c71
1 files changed, 30 insertions, 41 deletions
diff --git a/src/code/z_scene.c b/src/code/z_scene.c
index 370a0eb0b..572cb488c 100644
--- a/src/code/z_scene.c
+++ b/src/code/z_scene.c
@@ -343,67 +343,63 @@ void func_80098CC8(GlobalContext* globalCtx, SceneCmd* cmd) {
// Scene Command 0x11: Skybox Settings
void func_80098D1C(GlobalContext* globalCtx, SceneCmd* cmd) {
globalCtx->skyboxId = cmd->skyboxSettings.skyboxId;
- globalCtx->envCtx.gloomySky = globalCtx->envCtx.unk_18 = cmd->skyboxSettings.unk_05;
- globalCtx->envCtx.unk_1E = cmd->skyboxSettings.unk_06;
+ globalCtx->envCtx.unk_17 = globalCtx->envCtx.unk_18 = cmd->skyboxSettings.unk_05;
+ globalCtx->envCtx.indoors = cmd->skyboxSettings.unk_06;
}
// Scene Command 0x12: Skybox Disables
void func_80098D5C(GlobalContext* globalCtx, SceneCmd* cmd) {
- globalCtx->envCtx.skyDisabled = cmd->skyboxDisables.unk_04;
+ globalCtx->envCtx.skyboxDisabled = cmd->skyboxDisables.unk_04;
globalCtx->envCtx.sunMoonDisabled = cmd->skyboxDisables.unk_05;
}
// Scene Command 0x10: Time Settings
void func_80098D80(GlobalContext* globalCtx, SceneCmd* cmd) {
- u32 dayTime;
-
if ((cmd->timeSettings.hour != 0xFF) && (cmd->timeSettings.min != 0xFF)) {
- gSaveContext.environmentTime = gSaveContext.dayTime =
- ((cmd->timeSettings.hour + (cmd->timeSettings.min / 60.0f)) * 60.0f) / (360.0f / 0x4000);
+ gSaveContext.skyboxTime = gSaveContext.dayTime =
+ ((cmd->timeSettings.hour + (cmd->timeSettings.min / 60.0f)) * 60.0f) / ((f32)(24 * 60) / 0x10000);
}
if (cmd->timeSettings.unk_06 != 0xFF) {
- globalCtx->envCtx.unk_02 = cmd->timeSettings.unk_06;
+ globalCtx->envCtx.timeIncrement = cmd->timeSettings.unk_06;
} else {
- globalCtx->envCtx.unk_02 = 0;
+ globalCtx->envCtx.timeIncrement = 0;
}
- if (gSaveContext.unk_1422 == 0) {
- D_8011FB40 = globalCtx->envCtx.unk_02;
+ if (gSaveContext.sunsSongState == SUNSSONG_INACTIVE) {
+ gTimeIncrement = globalCtx->envCtx.timeIncrement;
}
- dayTime = gSaveContext.dayTime;
- globalCtx->envCtx.unk_04.x = -(Math_SinS(dayTime - 0x8000) * 120.0f) * 25.0f;
- dayTime = gSaveContext.dayTime;
- globalCtx->envCtx.unk_04.y = (Math_CosS(dayTime - 0x8000) * 120.0f) * 25.0f;
- dayTime = gSaveContext.dayTime;
- globalCtx->envCtx.unk_04.z = (Math_CosS(dayTime - 0x8000) * 20.0f) * 25.0f;
+ globalCtx->envCtx.sunPos.x = -(Math_SinS(((void)0, gSaveContext.dayTime) - 0x8000) * 120.0f) * 25.0f;
+ globalCtx->envCtx.sunPos.y = (Math_CosS(((void)0, gSaveContext.dayTime) - 0x8000) * 120.0f) * 25.0f;
+ globalCtx->envCtx.sunPos.z = (Math_CosS(((void)0, gSaveContext.dayTime) - 0x8000) * 20.0f) * 25.0f;
- if (((globalCtx->envCtx.unk_02 == 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) ||
+ if (((globalCtx->envCtx.timeIncrement == 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) ||
(gSaveContext.entranceIndex == 0x0604)) {
- gSaveContext.environmentTime = gSaveContext.dayTime;
- if ((gSaveContext.environmentTime >= 0x2AAC) && (gSaveContext.environmentTime < 0x4555)) {
- gSaveContext.environmentTime = 0x3556;
- } else if ((gSaveContext.environmentTime >= 0x4555) && (gSaveContext.environmentTime < 0x5556)) {
- gSaveContext.environmentTime = 0x5556;
- } else if ((gSaveContext.environmentTime >= 0xAAAB) && (gSaveContext.environmentTime < 0xB556)) {
- gSaveContext.environmentTime = 0xB556;
- } else if ((gSaveContext.environmentTime >= 0xC001) && (gSaveContext.environmentTime < 0xCAAC)) {
- gSaveContext.environmentTime = 0xCAAC;
+ gSaveContext.skyboxTime = ((void)0, gSaveContext.dayTime);
+ if ((gSaveContext.skyboxTime >= 0x2AAC) && (gSaveContext.skyboxTime < 0x4555)) {
+ gSaveContext.skyboxTime = 0x3556;
+ } else if ((gSaveContext.skyboxTime >= 0x4555) && (gSaveContext.skyboxTime < 0x5556)) {
+ gSaveContext.skyboxTime = 0x5556;
+ } else if ((gSaveContext.skyboxTime >= 0xAAAB) && (gSaveContext.skyboxTime < 0xB556)) {
+ gSaveContext.skyboxTime = 0xB556;
+ } else if ((gSaveContext.skyboxTime >= 0xC001) && (gSaveContext.skyboxTime < 0xCAAC)) {
+ gSaveContext.skyboxTime = 0xCAAC;
}
}
}
// Scene Command 0x05: Wind Settings
void func_80099090(GlobalContext* globalCtx, SceneCmd* cmd) {
- s8 temp1 = cmd->windSettings.unk_04;
- s8 temp2 = cmd->windSettings.unk_05;
- s8 temp3 = cmd->windSettings.unk_06;
+ s8 x = cmd->windSettings.x;
+ s8 y = cmd->windSettings.y;
+ s8 z = cmd->windSettings.z;
+
+ globalCtx->envCtx.windDirection.x = x;
+ globalCtx->envCtx.windDirection.y = y;
+ globalCtx->envCtx.windDirection.z = z;
- globalCtx->envCtx.unk_A8 = temp1;
- globalCtx->envCtx.unk_AA = temp2;
- globalCtx->envCtx.unk_AC = temp3;
- globalCtx->envCtx.unk_B0 = cmd->windSettings.unk_07;
+ globalCtx->envCtx.windSpeed = cmd->windSettings.unk_07;
}
// Scene Command 0x13: Exit List
@@ -501,13 +497,6 @@ void (*gSceneCmdHandlers[])(GlobalContext*, SceneCmd*) = {
func_80099140, func_8009918C, func_8009934C, func_800991A0, func_800993C0,
};
-#define ROM_FILE(name) \
- { (u32) _##name##SegmentRomStart, (u32)_##name##SegmentRomEnd }
-#define ROM_FILE_EMPTY(name) \
- { (u32) _##name##SegmentRomStart, (u32)_##name##SegmentRomStart }
-#define ROM_FILE_UNSET \
- { 0 }
-
RomFile sNaviMsgFiles[] = {
ROM_FILE(elf_message_field),
ROM_FILE(elf_message_ydan),