summaryrefslogtreecommitdiff
path: root/src/code
diff options
context:
space:
mode:
authorengineer124 <47598039+engineer124@users.noreply.github.com>2023-11-09 22:56:33 +1100
committerGitHub <noreply@github.com>2023-11-09 08:56:33 -0300
commit5b17c3793e9bd73b1aed65f6d940e3502640e41d (patch)
tree28a6aa719a9bed3598e9bafc5c85f987b9c4a479 /src/code
parent54e2eff9618db5eb88f1efd23c118efa13c7de92 (diff)
Match `Environment_UpdateLights` (z_kankyo OK) (#1478)
* Match Environment_UpdateLights * cleanup
Diffstat (limited to 'src/code')
-rw-r--r--src/code/z_kankyo.c66
1 files changed, 29 insertions, 37 deletions
diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c
index 86aeaa330..82a7a8df5 100644
--- a/src/code/z_kankyo.c
+++ b/src/code/z_kankyo.c
@@ -1253,9 +1253,6 @@ s32 Environment_IsSceneUpsideDown(PlayState* play) {
return ret;
}
-#ifdef NON_MATCHING
-// Something is happening with the indexing of:
-// `lightSettingsList[(s32)envCtx->lightSetting]` and `lightSettingsList[(s32)envCtx->prevLightSetting]`
void Environment_UpdateLights(PlayState* play, EnvironmentContext* envCtx, LightContext* lightCtx) {
EnvLightSettings* lightSettingsList;
f32 var_fs3;
@@ -1418,30 +1415,29 @@ void Environment_UpdateLights(PlayState* play, EnvironmentContext* envCtx, Light
}
}
} else {
+ u8 lightSetting;
+ u8 var_v0_3;
+
if ((envCtx->lightSetting >= envCtx->numLightSettings) && !D_801BDBA8) {
D_801BDBA8 = true;
}
if (!envCtx->lightBlendEnabled) {
for (i = 0; i < 3; i++) {
- envCtx->lightSettings.ambientColor[i] =
- lightSettingsList[(s32)envCtx->lightSetting].ambientColor[i];
- envCtx->lightSettings.light1Dir[i] = lightSettingsList[(s32)envCtx->lightSetting].light1Dir[i];
- envCtx->lightSettings.light1Color[i] = lightSettingsList[(s32)envCtx->lightSetting].light1Color[i];
- envCtx->lightSettings.light2Dir[i] = lightSettingsList[(s32)envCtx->lightSetting].light2Dir[i];
- envCtx->lightSettings.light2Color[i] = lightSettingsList[(s32)envCtx->lightSetting].light2Color[i];
- envCtx->lightSettings.fogColor[i] = lightSettingsList[(s32)envCtx->lightSetting].fogColor[i];
+ envCtx->lightSettings.ambientColor[i] = lightSettingsList[envCtx->lightSetting].ambientColor[i];
+ envCtx->lightSettings.light1Dir[i] = lightSettingsList[envCtx->lightSetting].light1Dir[i];
+ envCtx->lightSettings.light1Color[i] = lightSettingsList[envCtx->lightSetting].light1Color[i];
+ envCtx->lightSettings.light2Dir[i] = lightSettingsList[envCtx->lightSetting].light2Dir[i];
+ envCtx->lightSettings.light2Color[i] = lightSettingsList[envCtx->lightSetting].light2Color[i];
+ envCtx->lightSettings.fogColor[i] = lightSettingsList[envCtx->lightSetting].fogColor[i];
}
+
+ lightSetting = envCtx->lightSetting;
envCtx->lightSettings.fogNear =
- ENV_LIGHT_SETTINGS_FOG_NEAR(lightSettingsList[(s32)envCtx->lightSetting].blendRateAndFogNear);
- envCtx->lightSettings.zFar = lightSettingsList[(s32)envCtx->lightSetting].zFar;
+ ENV_LIGHT_SETTINGS_FOG_NEAR(lightSettingsList[(s32)lightSetting].blendRateAndFogNear);
+ envCtx->lightSettings.zFar = lightSettingsList[(s32)lightSetting].zFar;
envCtx->lightBlend = 1.0f;
} else {
- u8 var_v0_3;
-
- //! FAKE:
- if (1) {}
-
var_v0_3 =
ENV_LIGHT_SETTINGS_BLEND_RATE_U8(lightSettingsList[(s32)envCtx->lightSetting].blendRateAndFogNear);
@@ -1463,33 +1459,33 @@ void Environment_UpdateLights(PlayState* play, EnvironmentContext* envCtx, Light
for (i = 0; i < 3; i++) {
envCtx->lightSettings.ambientColor[i] =
- LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].ambientColor[i],
- lightSettingsList[(s32)envCtx->lightSetting].ambientColor[i], envCtx->lightBlend);
+ LERPIMP_ALT(lightSettingsList[envCtx->prevLightSetting].ambientColor[i],
+ lightSettingsList[envCtx->lightSetting].ambientColor[i], envCtx->lightBlend);
envCtx->lightSettings.light1Dir[i] =
- LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].light1Dir[i],
- lightSettingsList[(s32)envCtx->lightSetting].light1Dir[i], envCtx->lightBlend);
+ LERPIMP_ALT(lightSettingsList[envCtx->prevLightSetting].light1Dir[i],
+ lightSettingsList[envCtx->lightSetting].light1Dir[i], envCtx->lightBlend);
envCtx->lightSettings.light1Color[i] =
- LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].light1Color[i],
- lightSettingsList[(s32)envCtx->lightSetting].light1Color[i], envCtx->lightBlend);
+ LERPIMP_ALT(lightSettingsList[envCtx->prevLightSetting].light1Color[i],
+ lightSettingsList[envCtx->lightSetting].light1Color[i], envCtx->lightBlend);
envCtx->lightSettings.light2Dir[i] =
- LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].light2Dir[i],
- lightSettingsList[(s32)envCtx->lightSetting].light2Dir[i], envCtx->lightBlend);
+ LERPIMP_ALT(lightSettingsList[envCtx->prevLightSetting].light2Dir[i],
+ lightSettingsList[envCtx->lightSetting].light2Dir[i], envCtx->lightBlend);
envCtx->lightSettings.light2Color[i] =
- LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].light2Color[i],
- lightSettingsList[(s32)envCtx->lightSetting].light2Color[i], envCtx->lightBlend);
+ LERPIMP_ALT(lightSettingsList[envCtx->prevLightSetting].light2Color[i],
+ lightSettingsList[envCtx->lightSetting].light2Color[i], envCtx->lightBlend);
envCtx->lightSettings.fogColor[i] =
- LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].fogColor[i],
- lightSettingsList[(s32)envCtx->lightSetting].fogColor[i], envCtx->lightBlend);
+ LERPIMP_ALT(lightSettingsList[envCtx->prevLightSetting].fogColor[i],
+ lightSettingsList[envCtx->lightSetting].fogColor[i], envCtx->lightBlend);
}
+ lightSetting = envCtx->lightSetting;
envCtx->lightSettings.fogNear = LERPIMP_ALT(
ENV_LIGHT_SETTINGS_FOG_NEAR(lightSettingsList[(s32)envCtx->prevLightSetting].blendRateAndFogNear),
- ENV_LIGHT_SETTINGS_FOG_NEAR(lightSettingsList[(s32)envCtx->lightSetting].blendRateAndFogNear),
+ ENV_LIGHT_SETTINGS_FOG_NEAR(lightSettingsList[(s32)lightSetting].blendRateAndFogNear),
envCtx->lightBlend);
- envCtx->lightSettings.zFar =
- LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].zFar,
- lightSettingsList[(s32)envCtx->lightSetting].zFar, envCtx->lightBlend);
+ envCtx->lightSettings.zFar = LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].zFar,
+ lightSettingsList[(s32)lightSetting].zFar, envCtx->lightBlend);
}
}
}
@@ -1568,10 +1564,6 @@ void Environment_UpdateLights(PlayState* play, EnvironmentContext* envCtx, Light
envCtx->dirLight2.params.dir.x = 1;
}
}
-#else
-void Environment_UpdateLights(PlayState* play, EnvironmentContext* envCtx, LightContext* lightCtx);
-#pragma GLOBAL_ASM("asm/non_matchings/code/z_kankyo/Environment_UpdateLights.s")
-#endif
void Environment_UpdateSun(PlayState* play) {
f32 temp_f0;