mirror of
https://github.com/zeldaret/oot.git
synced 2025-07-03 22:44:30 +00:00
Environment documentation pass (#1115)
* some docs, start introducing time macro * most usages of CLOCK_TIME * finish up clock time defines, format * saving incase i need to revert * more docs * more docs progress * some more docs * format with 11 * change sos to storm * update functions.h * some depth stuff * review 1 and 2 * whoops * update zbuf stuff * most of review 3 * enum name * storm state enum * review 4 * fix enum * add comment to skyboxischanging * review * things dont match, committing so i can change branches * revert struct changes * define for override_full_control * new clock_time macro * fill alpha -> glare strength * update comment * remove indoor/outdoor, new name for underwater light variable * remove copy pasted comment * fix comments * remove whitespave * review
This commit is contained in:
parent
d7bbe43ba7
commit
4f0018bf36
50 changed files with 1339 additions and 1087 deletions
|
@ -4519,7 +4519,7 @@ u32 func_80035BFC(GlobalContext* globalCtx, s16 arg1) {
|
|||
retTextId = 0x7002;
|
||||
} else if (Flags_GetInfTable(INFTABLE_6A)) {
|
||||
retTextId = 0x7004;
|
||||
} else if ((gSaveContext.dayTime >= 0x4000) && (gSaveContext.dayTime < 0xC556)) {
|
||||
} else if ((gSaveContext.dayTime >= CLOCK_TIME(6, 0)) && (gSaveContext.dayTime <= CLOCK_TIME(18, 30))) {
|
||||
retTextId = 0x7002;
|
||||
} else {
|
||||
retTextId = 0x7003;
|
||||
|
|
|
@ -15,7 +15,7 @@ void SaveContext_Init(void) {
|
|||
gSaveContext.nextCutsceneIndex = 0xFFEF;
|
||||
gSaveContext.cutsceneTrigger = 0;
|
||||
gSaveContext.chamberCutsceneNum = 0;
|
||||
gSaveContext.nextDayTime = 0xFFFF;
|
||||
gSaveContext.nextDayTime = NEXT_TIME_NONE;
|
||||
gSaveContext.skyboxTime = 0;
|
||||
gSaveContext.dogIsLost = true;
|
||||
gSaveContext.nextTransitionType = TRANS_NEXT_TYPE_DEFAULT;
|
||||
|
|
|
@ -229,7 +229,7 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
|
|||
if (sp3F != 0) {
|
||||
Audio_SetNatureAmbienceChannelIO(NATURE_CHANNEL_RAIN, CHANNEL_IO_PORT_4, 0x3F);
|
||||
Audio_SetNatureAmbienceChannelIO(NATURE_CHANNEL_RAIN, CHANNEL_IO_PORT_1, 1);
|
||||
globalCtx->envCtx.unk_EE[0] = 20;
|
||||
globalCtx->envCtx.precipitation[PRECIP_RAIN_MAX] = 20;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
|
@ -254,14 +254,14 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
|
|||
break;
|
||||
case 7:
|
||||
if (sp3F != 0) {
|
||||
globalCtx->envCtx.unk_19 = 1;
|
||||
globalCtx->envCtx.unk_17 = 1;
|
||||
globalCtx->envCtx.unk_18 = 0;
|
||||
globalCtx->envCtx.unk_1A = 0x3C;
|
||||
globalCtx->envCtx.unk_21 = 1;
|
||||
globalCtx->envCtx.unk_1F = 0;
|
||||
globalCtx->envCtx.unk_20 = 1;
|
||||
globalCtx->envCtx.unk_22 = globalCtx->envCtx.unk_24 = 0x3C;
|
||||
globalCtx->envCtx.changeSkyboxState = CHANGE_SKYBOX_REQUESTED;
|
||||
globalCtx->envCtx.skyboxConfig = 1;
|
||||
globalCtx->envCtx.changeSkyboxNextConfig = 0;
|
||||
globalCtx->envCtx.changeSkyboxTimer = 60;
|
||||
globalCtx->envCtx.changeLightEnabled = true;
|
||||
globalCtx->envCtx.lightConfig = 0;
|
||||
globalCtx->envCtx.changeLightNextConfig = 1;
|
||||
globalCtx->envCtx.changeLightTimer = globalCtx->envCtx.changeDuration = 60;
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
|
@ -270,7 +270,7 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
|
|||
}
|
||||
break;
|
||||
case 9:
|
||||
globalCtx->envCtx.unk_EE[3] = 16;
|
||||
globalCtx->envCtx.precipitation[PRECIP_SNOW_MAX] = 16;
|
||||
break;
|
||||
case 10:
|
||||
Flags_SetEnv(globalCtx, 1);
|
||||
|
@ -325,13 +325,13 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
|
|||
}
|
||||
break;
|
||||
case 18:
|
||||
globalCtx->envCtx.unk_EE[0] = 0;
|
||||
globalCtx->envCtx.gloomySkyMode = 2;
|
||||
if (gSaveContext.dayTime < 0x4AAB) {
|
||||
globalCtx->envCtx.precipitation[PRECIP_RAIN_MAX] = 0;
|
||||
globalCtx->envCtx.stormRequest = STORM_REQUEST_STOP;
|
||||
if (gSaveContext.dayTime < CLOCK_TIME(7, 0)) {
|
||||
gSaveContext.dayTime += 30;
|
||||
}
|
||||
if (globalCtx->envCtx.unk_EE[1] == 0) {
|
||||
gWeatherMode = 0;
|
||||
if (globalCtx->envCtx.precipitation[PRECIP_RAIN_CUR] == 0) {
|
||||
gWeatherMode = WEATHER_MODE_CLEAR;
|
||||
Audio_SetNatureAmbienceChannelIO(NATURE_CHANNEL_RAIN, CHANNEL_IO_PORT_1, 0);
|
||||
}
|
||||
break;
|
||||
|
@ -361,18 +361,19 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
|
|||
break;
|
||||
case 25:
|
||||
gSaveContext.dayTime += 30;
|
||||
if ((gSaveContext.dayTime) > 0xCAAA) {
|
||||
gSaveContext.dayTime = 0xCAAA;
|
||||
if ((gSaveContext.dayTime) >= CLOCK_TIME(19, 0)) {
|
||||
gSaveContext.dayTime = CLOCK_TIME(19, 0) - 1;
|
||||
}
|
||||
break;
|
||||
case 26:
|
||||
if ((gSaveContext.dayTime < 0x3000) || (gSaveContext.dayTime >= 0x4555)) {
|
||||
if ((gSaveContext.dayTime >= 0x4555) && (gSaveContext.dayTime < 0xAAAB)) {
|
||||
globalCtx->envCtx.unk_BF = 1;
|
||||
} else if ((gSaveContext.dayTime >= 0xAAAB) && (gSaveContext.dayTime < 0xC556)) {
|
||||
globalCtx->envCtx.unk_BF = 2;
|
||||
if ((gSaveContext.dayTime < CLOCK_TIME(4, 30)) || (gSaveContext.dayTime >= CLOCK_TIME(6, 30))) {
|
||||
if ((gSaveContext.dayTime >= CLOCK_TIME(6, 30)) && (gSaveContext.dayTime < CLOCK_TIME(16, 0))) {
|
||||
globalCtx->envCtx.lightSettingOverride = 1;
|
||||
} else if ((gSaveContext.dayTime >= CLOCK_TIME(16, 0)) &&
|
||||
(gSaveContext.dayTime <= CLOCK_TIME(18, 30))) {
|
||||
globalCtx->envCtx.lightSettingOverride = 2;
|
||||
} else {
|
||||
globalCtx->envCtx.unk_BF = 3;
|
||||
globalCtx->envCtx.lightSettingOverride = 3;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -414,9 +415,9 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
|
|||
break;
|
||||
case 34:
|
||||
if (IS_DAY) {
|
||||
gSaveContext.dayTime -= gTimeIncrement;
|
||||
gSaveContext.dayTime -= gTimeSpeed;
|
||||
} else {
|
||||
gSaveContext.dayTime -= gTimeIncrement * 2;
|
||||
gSaveContext.dayTime -= gTimeSpeed * 2;
|
||||
}
|
||||
break;
|
||||
case 35:
|
||||
|
@ -429,8 +430,8 @@ void func_80064824(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdBase*
|
|||
// Command 4: Set Environment Lighting
|
||||
void Cutscene_Command_SetLighting(GlobalContext* globalCtx, CutsceneContext* csCtx, CsCmdEnvLighting* cmd) {
|
||||
if (csCtx->frames == cmd->startFrame) {
|
||||
globalCtx->envCtx.unk_BF = cmd->setting - 1;
|
||||
globalCtx->envCtx.unk_D8 = 1.0f;
|
||||
globalCtx->envCtx.lightSettingOverride = cmd->setting - 1;
|
||||
globalCtx->envCtx.lightBlend = 1.0f;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1222,8 +1223,8 @@ void Cutscene_Command_Terminator(GlobalContext* globalCtx, CutsceneContext* csCt
|
|||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||
break;
|
||||
case 119:
|
||||
gSaveContext.dayTime = 0x8000;
|
||||
gSaveContext.skyboxTime = 0x8000;
|
||||
gSaveContext.dayTime = CLOCK_TIME(12, 0);
|
||||
gSaveContext.skyboxTime = CLOCK_TIME(12, 0);
|
||||
globalCtx->nextEntranceIndex = ENTR_NAKANIWA_1;
|
||||
globalCtx->transitionTrigger = TRANS_TRIGGER_START;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE;
|
||||
|
|
1198
src/code/z_kankyo.c
1198
src/code/z_kankyo.c
File diff suppressed because it is too large
Load diff
|
@ -347,7 +347,7 @@ void Lights_GlowCheck(GlobalContext* globalCtx) {
|
|||
if (1) {}
|
||||
if (1) {}
|
||||
|
||||
if (wZ < (func_8006F0A0(zBuf) >> 3)) {
|
||||
if (wZ < (Environment_ZBufValToFixedPoint(zBuf) >> 3)) {
|
||||
params->drawGlow = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3829,7 +3829,7 @@ void Interface_Draw(GlobalContext* globalCtx) {
|
|||
|
||||
void Interface_Update(GlobalContext* globalCtx) {
|
||||
static u8 D_80125B60 = false;
|
||||
static s16 sPrevTimeIncrement = 0;
|
||||
static s16 sPrevTimeSpeed = 0;
|
||||
MessageContext* msgCtx = &globalCtx->msgCtx;
|
||||
InterfaceContext* interfaceCtx = &globalCtx->interfaceCtx;
|
||||
Player* player = GET_PLAYER(globalCtx);
|
||||
|
@ -4152,35 +4152,35 @@ void Interface_Update(GlobalContext* globalCtx) {
|
|||
}
|
||||
|
||||
// handle suns song in areas where time moves
|
||||
if (globalCtx->envCtx.timeIncrement != 0) {
|
||||
if (globalCtx->envCtx.sceneTimeSpeed != 0) {
|
||||
if (gSaveContext.sunsSongState != SUNSSONG_SPEED_TIME) {
|
||||
D_80125B60 = false;
|
||||
if ((gSaveContext.dayTime >= 0x4555) && (gSaveContext.dayTime <= 0xC001)) {
|
||||
if ((gSaveContext.dayTime >= CLOCK_TIME(6, 30)) && (gSaveContext.dayTime <= CLOCK_TIME(18, 0) + 1)) {
|
||||
D_80125B60 = true;
|
||||
}
|
||||
|
||||
gSaveContext.sunsSongState = SUNSSONG_SPEED_TIME;
|
||||
sPrevTimeIncrement = gTimeIncrement;
|
||||
gTimeIncrement = 400;
|
||||
sPrevTimeSpeed = gTimeSpeed;
|
||||
gTimeSpeed = 400;
|
||||
} else if (!D_80125B60) {
|
||||
if ((gSaveContext.dayTime >= 0x4555) && (gSaveContext.dayTime <= 0xC001)) {
|
||||
if ((gSaveContext.dayTime >= CLOCK_TIME(6, 30)) && (gSaveContext.dayTime <= CLOCK_TIME(18, 0) + 1)) {
|
||||
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
|
||||
gTimeIncrement = sPrevTimeIncrement;
|
||||
gTimeSpeed = sPrevTimeSpeed;
|
||||
globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04;
|
||||
}
|
||||
} else if (gSaveContext.dayTime > 0xC001) {
|
||||
} else if (gSaveContext.dayTime > CLOCK_TIME(18, 0) + 1) {
|
||||
gSaveContext.sunsSongState = SUNSSONG_INACTIVE;
|
||||
gTimeIncrement = sPrevTimeIncrement;
|
||||
gTimeSpeed = sPrevTimeSpeed;
|
||||
globalCtx->msgCtx.ocarinaMode = OCARINA_MODE_04;
|
||||
}
|
||||
} else if ((globalCtx->roomCtx.curRoom.unk_03 != 1) && (interfaceCtx->restrictions.sunsSong != 3)) {
|
||||
if ((gSaveContext.dayTime >= 0x4555) && (gSaveContext.dayTime < 0xC001)) {
|
||||
gSaveContext.nextDayTime = 0;
|
||||
if ((gSaveContext.dayTime >= CLOCK_TIME(6, 30)) && (gSaveContext.dayTime < CLOCK_TIME(18, 0) + 1)) {
|
||||
gSaveContext.nextDayTime = NEXT_TIME_NIGHT;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_BLACK_FAST;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
|
||||
globalCtx->unk_11DE9 = true;
|
||||
} else {
|
||||
gSaveContext.nextDayTime = 0x8001;
|
||||
gSaveContext.nextDayTime = NEXT_TIME_DAY;
|
||||
globalCtx->transitionType = TRANS_TYPE_FADE_WHITE_FAST;
|
||||
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
|
||||
globalCtx->unk_11DE9 = true;
|
||||
|
|
|
@ -256,12 +256,12 @@ void Play_Init(GameState* thisx) {
|
|||
gSaveContext.cutsceneIndex = 0;
|
||||
}
|
||||
|
||||
if (gSaveContext.nextDayTime != 0xFFFF) {
|
||||
if (gSaveContext.nextDayTime != NEXT_TIME_NONE) {
|
||||
gSaveContext.dayTime = gSaveContext.nextDayTime;
|
||||
gSaveContext.skyboxTime = gSaveContext.nextDayTime;
|
||||
}
|
||||
|
||||
if (gSaveContext.dayTime > 0xC000 || gSaveContext.dayTime < 0x4555) {
|
||||
if (gSaveContext.dayTime > CLOCK_TIME(18, 0) || gSaveContext.dayTime < CLOCK_TIME(6, 30)) {
|
||||
gSaveContext.nightFlag = 1;
|
||||
} else {
|
||||
gSaveContext.nightFlag = 0;
|
||||
|
@ -315,8 +315,8 @@ void Play_Init(GameState* thisx) {
|
|||
KaleidoScopeCall_Init(this);
|
||||
func_801109B0(this);
|
||||
|
||||
if (gSaveContext.nextDayTime != 0xFFFF) {
|
||||
if (gSaveContext.nextDayTime == 0x8001) {
|
||||
if (gSaveContext.nextDayTime != NEXT_TIME_NONE) {
|
||||
if (gSaveContext.nextDayTime == NEXT_TIME_DAY) {
|
||||
gSaveContext.totalDays++;
|
||||
gSaveContext.bgsDayCount++;
|
||||
gSaveContext.dogIsLost = true;
|
||||
|
@ -324,9 +324,9 @@ void Play_Init(GameState* thisx) {
|
|||
Inventory_ReplaceItem(this, ITEM_POCKET_EGG, ITEM_POCKET_CUCCO)) {
|
||||
Message_StartTextbox(this, 0x3066, NULL);
|
||||
}
|
||||
gSaveContext.nextDayTime = 0xFFFE;
|
||||
gSaveContext.nextDayTime = NEXT_TIME_DAY_SET;
|
||||
} else {
|
||||
gSaveContext.nextDayTime = 0xFFFD;
|
||||
gSaveContext.nextDayTime = NEXT_TIME_NIGHT_SET;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1256,7 +1256,7 @@ void Play_Draw(GlobalContext* this) {
|
|||
}
|
||||
}
|
||||
|
||||
if (this->envCtx.unk_EE[1] != 0) {
|
||||
if (this->envCtx.precipitation[PRECIP_RAIN_CUR] != 0) {
|
||||
Environment_DrawRain(this, &this->view, gfxCtx);
|
||||
}
|
||||
|
||||
|
@ -1515,17 +1515,17 @@ void Play_SpawnScene(GlobalContext* this, s32 sceneNum, s32 spawn) {
|
|||
osSyncPrintf("ROOM SIZE=%fK\n", func_80096FE8(this, &this->roomCtx) / 1024.0f);
|
||||
}
|
||||
|
||||
void func_800C016C(GlobalContext* this, Vec3f* src, Vec3f* dest) {
|
||||
f32 temp;
|
||||
void Play_GetScreenPos(GlobalContext* this, Vec3f* src, Vec3f* dest) {
|
||||
f32 w;
|
||||
|
||||
Matrix_Mult(&this->viewProjectionMtxF, MTXMODE_NEW);
|
||||
Matrix_MultVec3f(src, dest);
|
||||
|
||||
temp = this->viewProjectionMtxF.ww + (this->viewProjectionMtxF.wx * src->x + this->viewProjectionMtxF.wy * src->y +
|
||||
this->viewProjectionMtxF.wz * src->z);
|
||||
w = this->viewProjectionMtxF.ww + (this->viewProjectionMtxF.wx * src->x + this->viewProjectionMtxF.wy * src->y +
|
||||
this->viewProjectionMtxF.wz * src->z);
|
||||
|
||||
dest->x = 160.0f + ((dest->x / temp) * 160.0f);
|
||||
dest->y = 120.0f - ((dest->y / temp) * 120.0f);
|
||||
dest->x = (SCREEN_WIDTH / 2) + ((dest->x / w) * (SCREEN_WIDTH / 2));
|
||||
dest->y = (SCREEN_HEIGHT / 2) - ((dest->y / w) * (SCREEN_HEIGHT / 2));
|
||||
}
|
||||
|
||||
s16 Play_CreateSubCamera(GlobalContext* this) {
|
||||
|
|
|
@ -344,8 +344,8 @@ 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.unk_17 = globalCtx->envCtx.unk_18 = cmd->skyboxSettings.unk_05;
|
||||
globalCtx->envCtx.indoors = cmd->skyboxSettings.unk_06;
|
||||
globalCtx->envCtx.skyboxConfig = globalCtx->envCtx.changeSkyboxNextConfig = cmd->skyboxSettings.unk_05;
|
||||
globalCtx->envCtx.lightMode = cmd->skyboxSettings.unk_06;
|
||||
}
|
||||
|
||||
// Scene Command 0x12: Skybox Disables
|
||||
|
@ -362,30 +362,31 @@ void func_80098D80(GlobalContext* globalCtx, SceneCmd* cmd) {
|
|||
}
|
||||
|
||||
if (cmd->timeSettings.unk_06 != 0xFF) {
|
||||
globalCtx->envCtx.timeIncrement = cmd->timeSettings.unk_06;
|
||||
globalCtx->envCtx.sceneTimeSpeed = cmd->timeSettings.unk_06;
|
||||
} else {
|
||||
globalCtx->envCtx.timeIncrement = 0;
|
||||
globalCtx->envCtx.sceneTimeSpeed = 0;
|
||||
}
|
||||
|
||||
if (gSaveContext.sunsSongState == SUNSSONG_INACTIVE) {
|
||||
gTimeIncrement = globalCtx->envCtx.timeIncrement;
|
||||
gTimeSpeed = globalCtx->envCtx.sceneTimeSpeed;
|
||||
}
|
||||
|
||||
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;
|
||||
globalCtx->envCtx.sunPos.x = -(Math_SinS(((void)0, gSaveContext.dayTime) - CLOCK_TIME(12, 0)) * 120.0f) * 25.0f;
|
||||
globalCtx->envCtx.sunPos.y = (Math_CosS(((void)0, gSaveContext.dayTime) - CLOCK_TIME(12, 0)) * 120.0f) * 25.0f;
|
||||
globalCtx->envCtx.sunPos.z = (Math_CosS(((void)0, gSaveContext.dayTime) - CLOCK_TIME(12, 0)) * 20.0f) * 25.0f;
|
||||
|
||||
if (((globalCtx->envCtx.timeIncrement == 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) ||
|
||||
if (((globalCtx->envCtx.sceneTimeSpeed == 0) && (gSaveContext.cutsceneIndex < 0xFFF0)) ||
|
||||
(gSaveContext.entranceIndex == ENTR_SPOT06_8)) {
|
||||
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;
|
||||
if ((gSaveContext.skyboxTime > CLOCK_TIME(4, 0)) && (gSaveContext.skyboxTime < CLOCK_TIME(6, 30))) {
|
||||
gSaveContext.skyboxTime = CLOCK_TIME(5, 0) + 1;
|
||||
} else if ((gSaveContext.skyboxTime >= CLOCK_TIME(6, 30)) && (gSaveContext.skyboxTime <= CLOCK_TIME(8, 0))) {
|
||||
gSaveContext.skyboxTime = CLOCK_TIME(8, 0) + 1;
|
||||
} else if ((gSaveContext.skyboxTime >= CLOCK_TIME(16, 0)) && (gSaveContext.skyboxTime <= CLOCK_TIME(17, 0))) {
|
||||
gSaveContext.skyboxTime = CLOCK_TIME(17, 0) + 1;
|
||||
} else if ((gSaveContext.skyboxTime >= CLOCK_TIME(18, 0) + 1) &&
|
||||
(gSaveContext.skyboxTime <= CLOCK_TIME(19, 0))) {
|
||||
gSaveContext.skyboxTime = CLOCK_TIME(19, 0) + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -247,7 +247,7 @@ void func_80099BD8(GlobalContext* globalCtx) {
|
|||
gCustomLensFlarePos.z = -684.0f;
|
||||
gLensFlareScale = 10;
|
||||
gLensFlareColorIntensity = 8.0f;
|
||||
gLensFlareScreenFillAlpha = 200;
|
||||
gLensFlareGlareStrength = 200;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -999,14 +999,14 @@ void func_8009DA30(GlobalContext* globalCtx) {
|
|||
|
||||
gSPSegment(POLY_XLU_DISP++, 0x0A, displayListHead);
|
||||
|
||||
if ((gSaveContext.dayTime >= 0x4AAC) && (gSaveContext.dayTime <= 0xC555)) {
|
||||
if ((gSaveContext.dayTime > CLOCK_TIME(7, 0)) && (gSaveContext.dayTime <= CLOCK_TIME(18, 30))) {
|
||||
gSPEndDisplayList(displayListHead);
|
||||
} else {
|
||||
if (gSaveContext.dayTime > 0xC555) {
|
||||
if (gSaveContext.dayTime > CLOCK_TIME(18, 30)) {
|
||||
if (globalCtx->roomCtx.unk_74[0] != 255) {
|
||||
Math_StepToS(&globalCtx->roomCtx.unk_74[0], 255, 5);
|
||||
}
|
||||
} else if (gSaveContext.dayTime >= 0x4000) {
|
||||
} else if (gSaveContext.dayTime >= CLOCK_TIME(6, 0)) {
|
||||
if (globalCtx->roomCtx.unk_74[0] != 0) {
|
||||
Math_StepToS(&globalCtx->roomCtx.unk_74[0], 0, 10);
|
||||
}
|
||||
|
@ -1354,14 +1354,14 @@ void func_8009F5D4(GlobalContext* globalCtx) {
|
|||
|
||||
gSPSegment(POLY_XLU_DISP++, 0x08, displayListHead);
|
||||
|
||||
if ((gSaveContext.dayTime >= 0x4AAC) && (gSaveContext.dayTime <= 0xC000)) {
|
||||
if ((gSaveContext.dayTime > CLOCK_TIME(7, 0)) && (gSaveContext.dayTime <= CLOCK_TIME(18, 0))) {
|
||||
gSPEndDisplayList(displayListHead);
|
||||
} else {
|
||||
if (gSaveContext.dayTime > 0xC000) {
|
||||
if (gSaveContext.dayTime > CLOCK_TIME(18, 0)) {
|
||||
if (globalCtx->roomCtx.unk_74[0] != 255) {
|
||||
Math_StepToS(&globalCtx->roomCtx.unk_74[0], 255, 5);
|
||||
}
|
||||
} else if (gSaveContext.dayTime >= 0x4000) {
|
||||
} else if (gSaveContext.dayTime >= CLOCK_TIME(6, 0)) {
|
||||
if (globalCtx->roomCtx.unk_74[0] != 0) {
|
||||
Math_StepToS(&globalCtx->roomCtx.unk_74[0], 0, 10);
|
||||
}
|
||||
|
|
|
@ -707,7 +707,7 @@ void Sram_InitSave(FileChooseContext* fileChooseCtx, SramContext* sramCtx) {
|
|||
|
||||
gSaveContext.entranceIndex = ENTR_LINK_HOME_0;
|
||||
gSaveContext.linkAge = LINK_AGE_CHILD;
|
||||
gSaveContext.dayTime = 0x6AAB;
|
||||
gSaveContext.dayTime = CLOCK_TIME(10, 0);
|
||||
gSaveContext.cutsceneIndex = 0xFFF1;
|
||||
|
||||
if (fileChooseCtx->buttonIndex == 0) {
|
||||
|
|
|
@ -376,25 +376,28 @@ void Skybox_Setup(GlobalContext* globalCtx, SkyboxContext* skyboxCtx, s16 skybox
|
|||
u8 skybox1Index;
|
||||
u8 skybox2Index;
|
||||
u32 start;
|
||||
s32 phi_v1;
|
||||
s32 skyboxConfig;
|
||||
|
||||
switch (skyboxId) {
|
||||
case SKYBOX_NORMAL_SKY:
|
||||
phi_v1 = 0;
|
||||
if (gSaveContext.unk_13C3 != 0 && gSaveContext.sceneSetupIndex < 4 && gWeatherMode > 0 &&
|
||||
gWeatherMode < 6) {
|
||||
phi_v1 = 1;
|
||||
skyboxConfig = 0;
|
||||
if (gSaveContext.retainWeatherMode && gSaveContext.sceneSetupIndex < 4 &&
|
||||
gWeatherMode > WEATHER_MODE_CLEAR && gWeatherMode <= WEATHER_MODE_HEAVY_RAIN) {
|
||||
skyboxConfig = 1;
|
||||
}
|
||||
|
||||
for (i = 0; i < 9; i++) {
|
||||
if (gSaveContext.skyboxTime >= D_8011FC1C[phi_v1][i].startTime &&
|
||||
(gSaveContext.skyboxTime < D_8011FC1C[phi_v1][i].endTime ||
|
||||
D_8011FC1C[phi_v1][i].endTime == 0xFFFF)) {
|
||||
globalCtx->envCtx.skybox1Index = skybox1Index = D_8011FC1C[phi_v1][i].skybox1Index;
|
||||
globalCtx->envCtx.skybox2Index = skybox2Index = D_8011FC1C[phi_v1][i].skybox2Index;
|
||||
if (D_8011FC1C[phi_v1][i].blend != 0) {
|
||||
for (i = 0; i < ARRAY_COUNT(gTimeBasedSkyboxConfigs[skyboxConfig]); i++) {
|
||||
if (gSaveContext.skyboxTime >= gTimeBasedSkyboxConfigs[skyboxConfig][i].startTime &&
|
||||
(gSaveContext.skyboxTime < gTimeBasedSkyboxConfigs[skyboxConfig][i].endTime ||
|
||||
gTimeBasedSkyboxConfigs[skyboxConfig][i].endTime == 0xFFFF)) {
|
||||
globalCtx->envCtx.skybox1Index = skybox1Index =
|
||||
gTimeBasedSkyboxConfigs[skyboxConfig][i].skybox1Index;
|
||||
globalCtx->envCtx.skybox2Index = skybox2Index =
|
||||
gTimeBasedSkyboxConfigs[skyboxConfig][i].skybox2Index;
|
||||
if (gTimeBasedSkyboxConfigs[skyboxConfig][i].changeSkybox) {
|
||||
globalCtx->envCtx.skyboxBlend =
|
||||
Environment_LerpWeight(D_8011FC1C[phi_v1][i].endTime, D_8011FC1C[phi_v1][i].startTime,
|
||||
Environment_LerpWeight(gTimeBasedSkyboxConfigs[skyboxConfig][i].endTime,
|
||||
gTimeBasedSkyboxConfigs[skyboxConfig][i].startTime,
|
||||
((void)0, gSaveContext.skyboxTime)) *
|
||||
255.0f;
|
||||
} else {
|
||||
|
@ -404,44 +407,44 @@ void Skybox_Setup(GlobalContext* globalCtx, SkyboxContext* skyboxCtx, s16 skybox
|
|||
}
|
||||
}
|
||||
|
||||
size = gSkyboxFiles[skybox1Index].file.vromEnd - gSkyboxFiles[skybox1Index].file.vromStart;
|
||||
size = gNormalSkyFiles[skybox1Index].file.vromEnd - gNormalSkyFiles[skybox1Index].file.vromStart;
|
||||
skyboxCtx->staticSegments[0] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1054);
|
||||
ASSERT(skyboxCtx->staticSegments[0] != NULL, "vr_box->vr_box_staticSegment[0] != NULL", "../z_vr_box.c",
|
||||
1055);
|
||||
|
||||
DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], gSkyboxFiles[skybox1Index].file.vromStart, size,
|
||||
DmaMgr_SendRequest1(skyboxCtx->staticSegments[0], gNormalSkyFiles[skybox1Index].file.vromStart, size,
|
||||
"../z_vr_box.c", 1058);
|
||||
|
||||
size = gSkyboxFiles[skybox2Index].file.vromEnd - gSkyboxFiles[skybox2Index].file.vromStart;
|
||||
size = gNormalSkyFiles[skybox2Index].file.vromEnd - gNormalSkyFiles[skybox2Index].file.vromStart;
|
||||
skyboxCtx->staticSegments[1] = GameState_Alloc(&globalCtx->state, size, "../z_vr_box.c", 1060);
|
||||
ASSERT(skyboxCtx->staticSegments[1] != NULL, "vr_box->vr_box_staticSegment[1] != NULL", "../z_vr_box.c",
|
||||
1061);
|
||||
|
||||
DmaMgr_SendRequest1(skyboxCtx->staticSegments[1], gSkyboxFiles[skybox2Index].file.vromStart, size,
|
||||
DmaMgr_SendRequest1(skyboxCtx->staticSegments[1], gNormalSkyFiles[skybox2Index].file.vromStart, size,
|
||||
"../z_vr_box.c", 1064);
|
||||
|
||||
if ((skybox1Index & 1) ^ ((skybox1Index & 4) >> 2)) {
|
||||
size = gSkyboxFiles[skybox1Index].palette.vromEnd - gSkyboxFiles[skybox1Index].palette.vromStart;
|
||||
size = gNormalSkyFiles[skybox1Index].palette.vromEnd - gNormalSkyFiles[skybox1Index].palette.vromStart;
|
||||
|
||||
skyboxCtx->palettes = GameState_Alloc(&globalCtx->state, size * 2, "../z_vr_box.c", 1072);
|
||||
|
||||
ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1073);
|
||||
|
||||
DmaMgr_SendRequest1(skyboxCtx->palettes, gSkyboxFiles[skybox1Index].palette.vromStart, size,
|
||||
DmaMgr_SendRequest1(skyboxCtx->palettes, gNormalSkyFiles[skybox1Index].palette.vromStart, size,
|
||||
"../z_vr_box.c", 1075);
|
||||
DmaMgr_SendRequest1((u32)skyboxCtx->palettes + size, gSkyboxFiles[skybox2Index].palette.vromStart, size,
|
||||
"../z_vr_box.c", 1077);
|
||||
DmaMgr_SendRequest1((u32)skyboxCtx->palettes + size, gNormalSkyFiles[skybox2Index].palette.vromStart,
|
||||
size, "../z_vr_box.c", 1077);
|
||||
} else {
|
||||
size = gSkyboxFiles[skybox1Index].palette.vromEnd - gSkyboxFiles[skybox1Index].palette.vromStart;
|
||||
size = gNormalSkyFiles[skybox1Index].palette.vromEnd - gNormalSkyFiles[skybox1Index].palette.vromStart;
|
||||
|
||||
skyboxCtx->palettes = GameState_Alloc(&globalCtx->state, size * 2, "../z_vr_box.c", 1085);
|
||||
|
||||
ASSERT(skyboxCtx->palettes != NULL, "vr_box->vr_box_staticSegment[2] != NULL", "../z_vr_box.c", 1086);
|
||||
|
||||
DmaMgr_SendRequest1(skyboxCtx->palettes, gSkyboxFiles[skybox2Index].palette.vromStart, size,
|
||||
DmaMgr_SendRequest1(skyboxCtx->palettes, gNormalSkyFiles[skybox2Index].palette.vromStart, size,
|
||||
"../z_vr_box.c", 1088);
|
||||
DmaMgr_SendRequest1((u32)skyboxCtx->palettes + size, gSkyboxFiles[skybox1Index].palette.vromStart, size,
|
||||
"../z_vr_box.c", 1090);
|
||||
DmaMgr_SendRequest1((u32)skyboxCtx->palettes + size, gNormalSkyFiles[skybox1Index].palette.vromStart,
|
||||
size, "../z_vr_box.c", 1090);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue