diff options
| author | Alejandro Javier Asenjo Nitti <alejandro.asenjo88@gmail.com> | 2023-11-09 01:14:38 -0300 |
|---|---|---|
| committer | Alejandro Javier Asenjo Nitti <alejandro.asenjo88@gmail.com> | 2023-11-09 01:14:38 -0300 |
| commit | 956436315ed73d80ffe167212ea755307edc6ba1 (patch) | |
| tree | 76a6e247f230baa231a28416b3a4d427d126d35b | |
| parent | 07cc2fe0e7f10d7178bf4b9b54a2ba194c4dc81b (diff) | |
Environment_UpdateLights
| -rw-r--r-- | src/code/z_kankyo.c | 66 |
1 files changed, 29 insertions, 37 deletions
diff --git a/src/code/z_kankyo.c b/src/code/z_kankyo.c index 70c761706..baeb22e24 100644 --- a/src/code/z_kankyo.c +++ b/src/code/z_kankyo.c @@ -1254,9 +1254,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; @@ -1419,30 +1416,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); @@ -1464,33 +1460,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); } } } @@ -1569,10 +1565,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; |
