mirror of https://github.com/zeldaret/mm.git
Match `Environment_UpdateLights` (z_kankyo OK) (#1478)
* Match Environment_UpdateLights * cleanup
This commit is contained in:
parent
54e2eff961
commit
5b17c3793e
|
@ -1253,9 +1253,6 @@ s32 Environment_IsSceneUpsideDown(PlayState* play) {
|
||||||
return ret;
|
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) {
|
void Environment_UpdateLights(PlayState* play, EnvironmentContext* envCtx, LightContext* lightCtx) {
|
||||||
EnvLightSettings* lightSettingsList;
|
EnvLightSettings* lightSettingsList;
|
||||||
f32 var_fs3;
|
f32 var_fs3;
|
||||||
|
@ -1418,30 +1415,29 @@ void Environment_UpdateLights(PlayState* play, EnvironmentContext* envCtx, Light
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
u8 lightSetting;
|
||||||
|
u8 var_v0_3;
|
||||||
|
|
||||||
if ((envCtx->lightSetting >= envCtx->numLightSettings) && !D_801BDBA8) {
|
if ((envCtx->lightSetting >= envCtx->numLightSettings) && !D_801BDBA8) {
|
||||||
D_801BDBA8 = true;
|
D_801BDBA8 = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!envCtx->lightBlendEnabled) {
|
if (!envCtx->lightBlendEnabled) {
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
envCtx->lightSettings.ambientColor[i] =
|
envCtx->lightSettings.ambientColor[i] = lightSettingsList[envCtx->lightSetting].ambientColor[i];
|
||||||
lightSettingsList[(s32)envCtx->lightSetting].ambientColor[i];
|
envCtx->lightSettings.light1Dir[i] = lightSettingsList[envCtx->lightSetting].light1Dir[i];
|
||||||
envCtx->lightSettings.light1Dir[i] = lightSettingsList[(s32)envCtx->lightSetting].light1Dir[i];
|
envCtx->lightSettings.light1Color[i] = lightSettingsList[envCtx->lightSetting].light1Color[i];
|
||||||
envCtx->lightSettings.light1Color[i] = lightSettingsList[(s32)envCtx->lightSetting].light1Color[i];
|
envCtx->lightSettings.light2Dir[i] = lightSettingsList[envCtx->lightSetting].light2Dir[i];
|
||||||
envCtx->lightSettings.light2Dir[i] = lightSettingsList[(s32)envCtx->lightSetting].light2Dir[i];
|
envCtx->lightSettings.light2Color[i] = lightSettingsList[envCtx->lightSetting].light2Color[i];
|
||||||
envCtx->lightSettings.light2Color[i] = lightSettingsList[(s32)envCtx->lightSetting].light2Color[i];
|
envCtx->lightSettings.fogColor[i] = lightSettingsList[envCtx->lightSetting].fogColor[i];
|
||||||
envCtx->lightSettings.fogColor[i] = lightSettingsList[(s32)envCtx->lightSetting].fogColor[i];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lightSetting = envCtx->lightSetting;
|
||||||
envCtx->lightSettings.fogNear =
|
envCtx->lightSettings.fogNear =
|
||||||
ENV_LIGHT_SETTINGS_FOG_NEAR(lightSettingsList[(s32)envCtx->lightSetting].blendRateAndFogNear);
|
ENV_LIGHT_SETTINGS_FOG_NEAR(lightSettingsList[(s32)lightSetting].blendRateAndFogNear);
|
||||||
envCtx->lightSettings.zFar = lightSettingsList[(s32)envCtx->lightSetting].zFar;
|
envCtx->lightSettings.zFar = lightSettingsList[(s32)lightSetting].zFar;
|
||||||
envCtx->lightBlend = 1.0f;
|
envCtx->lightBlend = 1.0f;
|
||||||
} else {
|
} else {
|
||||||
u8 var_v0_3;
|
|
||||||
|
|
||||||
//! FAKE:
|
|
||||||
if (1) {}
|
|
||||||
|
|
||||||
var_v0_3 =
|
var_v0_3 =
|
||||||
ENV_LIGHT_SETTINGS_BLEND_RATE_U8(lightSettingsList[(s32)envCtx->lightSetting].blendRateAndFogNear);
|
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++) {
|
for (i = 0; i < 3; i++) {
|
||||||
envCtx->lightSettings.ambientColor[i] =
|
envCtx->lightSettings.ambientColor[i] =
|
||||||
LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].ambientColor[i],
|
LERPIMP_ALT(lightSettingsList[envCtx->prevLightSetting].ambientColor[i],
|
||||||
lightSettingsList[(s32)envCtx->lightSetting].ambientColor[i], envCtx->lightBlend);
|
lightSettingsList[envCtx->lightSetting].ambientColor[i], envCtx->lightBlend);
|
||||||
envCtx->lightSettings.light1Dir[i] =
|
envCtx->lightSettings.light1Dir[i] =
|
||||||
LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].light1Dir[i],
|
LERPIMP_ALT(lightSettingsList[envCtx->prevLightSetting].light1Dir[i],
|
||||||
lightSettingsList[(s32)envCtx->lightSetting].light1Dir[i], envCtx->lightBlend);
|
lightSettingsList[envCtx->lightSetting].light1Dir[i], envCtx->lightBlend);
|
||||||
envCtx->lightSettings.light1Color[i] =
|
envCtx->lightSettings.light1Color[i] =
|
||||||
LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].light1Color[i],
|
LERPIMP_ALT(lightSettingsList[envCtx->prevLightSetting].light1Color[i],
|
||||||
lightSettingsList[(s32)envCtx->lightSetting].light1Color[i], envCtx->lightBlend);
|
lightSettingsList[envCtx->lightSetting].light1Color[i], envCtx->lightBlend);
|
||||||
envCtx->lightSettings.light2Dir[i] =
|
envCtx->lightSettings.light2Dir[i] =
|
||||||
LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].light2Dir[i],
|
LERPIMP_ALT(lightSettingsList[envCtx->prevLightSetting].light2Dir[i],
|
||||||
lightSettingsList[(s32)envCtx->lightSetting].light2Dir[i], envCtx->lightBlend);
|
lightSettingsList[envCtx->lightSetting].light2Dir[i], envCtx->lightBlend);
|
||||||
envCtx->lightSettings.light2Color[i] =
|
envCtx->lightSettings.light2Color[i] =
|
||||||
LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].light2Color[i],
|
LERPIMP_ALT(lightSettingsList[envCtx->prevLightSetting].light2Color[i],
|
||||||
lightSettingsList[(s32)envCtx->lightSetting].light2Color[i], envCtx->lightBlend);
|
lightSettingsList[envCtx->lightSetting].light2Color[i], envCtx->lightBlend);
|
||||||
envCtx->lightSettings.fogColor[i] =
|
envCtx->lightSettings.fogColor[i] =
|
||||||
LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].fogColor[i],
|
LERPIMP_ALT(lightSettingsList[envCtx->prevLightSetting].fogColor[i],
|
||||||
lightSettingsList[(s32)envCtx->lightSetting].fogColor[i], envCtx->lightBlend);
|
lightSettingsList[envCtx->lightSetting].fogColor[i], envCtx->lightBlend);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lightSetting = envCtx->lightSetting;
|
||||||
envCtx->lightSettings.fogNear = LERPIMP_ALT(
|
envCtx->lightSettings.fogNear = LERPIMP_ALT(
|
||||||
ENV_LIGHT_SETTINGS_FOG_NEAR(lightSettingsList[(s32)envCtx->prevLightSetting].blendRateAndFogNear),
|
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->lightBlend);
|
||||||
|
|
||||||
envCtx->lightSettings.zFar =
|
envCtx->lightSettings.zFar = LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].zFar,
|
||||||
LERPIMP_ALT(lightSettingsList[(s32)envCtx->prevLightSetting].zFar,
|
lightSettingsList[(s32)lightSetting].zFar, envCtx->lightBlend);
|
||||||
lightSettingsList[(s32)envCtx->lightSetting].zFar, envCtx->lightBlend);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1568,10 +1564,6 @@ void Environment_UpdateLights(PlayState* play, EnvironmentContext* envCtx, Light
|
||||||
envCtx->dirLight2.params.dir.x = 1;
|
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) {
|
void Environment_UpdateSun(PlayState* play) {
|
||||||
f32 temp_f0;
|
f32 temp_f0;
|
||||||
|
|
Loading…
Reference in New Issue