z_kankyo Decompiled (3 non-matching) (#1451)

* z_Kankyo progress

* build OK

* progress

* more progress

* Kankyo WIP

* Add docs

* func_800FEAF4

* more docs

* func_800FEAF4

* improve Init

* Small cleanup

* kankyo data

* data cleanup

* Environment_DrawLensFlare

* Match Environment_UpdateSkybox

* Match Environment_DrawRainImpl

* Start on Environment_UpdateLights

* Match Environment_DrawSandstorm

* gRainDropDL

* Some light renamings

* Fix merge

* cleanup

* improve non-equivalents

* cleanup

* PR Review

* match Environment_UpdatePostmanEvents

* PR Review

* small improvement to Environment_UpdatePostmanEvents from anon

* more cleanup

* void

* bits

* fix comment

* improve Environment_UpdateLights

* Skybox Stars Docs

* PR Review

* fix merge

* macros

* Add comments

* PR Review

* gRandFloat

* bug

---------

Co-authored-by: Rozelette <Uberpanzermensch@gmail.com>
Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
This commit is contained in:
engineer124 2023-10-31 14:50:11 +11:00 committed by GitHub
parent 0492c8e89a
commit 83ceaf3717
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 2702 additions and 120 deletions

View File

@ -42,9 +42,11 @@
<Texture Name="gameplay_field_keep_Tex_007010" OutName="tex_007010" Format="rgba16" Width="32" Height="32" Offset="0x7010" />
<DList Name="gKusaBushType1DL" Offset="0x78A0" />
<DList Name="gKusaBushType2DL" Offset="0x7938" />
<Texture Name="gameplay_field_keep_Tex_0079D0" OutName="tex_0079D0" Format="i8" Width="64" Height="32" Offset="0x79D0" />
<Texture Name="gameplay_field_keep_Tex_0081D0" OutName="tex_0081D0" Format="ia8" Width="64" Height="32" Offset="0x81D0" />
<DList Name="gameplay_field_keep_DL_0089D0" Offset="0x89D0" />
<Texture Name="gFieldSandstorm1Tex" OutName="sandstorm_1" Format="i8" Width="64" Height="32" Offset="0x79D0" />
<Texture Name="gFieldSandstorm2Tex" OutName="sandstorm_2" Format="ia8" Width="64" Height="32" Offset="0x81D0" />
<DList Name="gFieldSandstormDL" Offset="0x89D0" />
<Texture Name="gameplay_field_keep_Tex_008A90" OutName="tex_008A90" Format="rgba16" Width="32" Height="32" Offset="0x8A90" />
</File>
</Root>

View File

@ -1230,7 +1230,7 @@
<Texture Name="gameplay_keep_Tex_053940" OutName="tex_053940" Format="i4" Width="64" Height="64" Offset="0x53940" />
<Texture Name="gameplay_keep_Tex_054140" OutName="tex_054140" Format="i4" Width="64" Height="64" Offset="0x54140" />
<DList Name="gLensFlareCircleDL" Offset="0x54940" />
<DList Name="gameplay_keep_DL_0549A8" Offset="0x549A8" />
<DList Name="gLensFlareRingDL" Offset="0x549A8" />
<DList Name="gEffSparklesDL" Offset="0x54A90" />
<Texture Name="gameplay_keep_Tex_054AF0" OutName="tex_054AF0" Format="i4" Width="16" Height="16" Offset="0x54AF0" />
<DList Name="gameplay_keep_DL_054C90" Offset="0x54C90" />
@ -1347,7 +1347,7 @@
<DList Name="gameplay_keep_DL_06FF68" Offset="0x6FF68" />
<Texture Name="gameplay_keep_Tex_0700B0" OutName="tex_0700B0" Format="rgba16" Width="16" Height="32" Offset="0x700B0" />
<Texture Name="gameplay_keep_Tex_0704B0" OutName="tex_0704B0" Format="rgba16" Width="16" Height="16" Offset="0x704B0" />
<DList Name="gameplay_keep_DL_0706E0" Offset="0x706E0" />
<DList Name="gFallingRainDropDL" Offset="0x706E0" />
<!-- Popped Deku Bubbles (EffSsSbn) -->

View File

@ -537,7 +537,7 @@ void Lib_PlaySfx(u16 sfxId);
void Lib_PlaySfx_2(u16 sfxId);
void Lib_PlaySfx_AtPos(Vec3f* pos, u16 sfxId);
void Lib_Vec3f_TranslateAndRotateY(Vec3f* translation, s16 rotAngle, Vec3f* src, Vec3f* dst);
void Color_RGB8_Lerp(Color_RGB8* a, Color_RGB8* b, f32 t, Color_RGB8* dst);
void Color_RGB8_Lerp(Color_RGB8* from, Color_RGB8* to, f32 lerp, Color_RGB8* dst);
void Lib_Nop801004FC(void);
void* Lib_SegmentedToVirtual(void* ptr);
void* Lib_SegmentedToVirtualNull(void* ptr);

View File

@ -61,6 +61,7 @@ extern RegEditor* gRegEditor;
/* TODO: There are still a few OoT defines here that need confirmation */
#define R_ENV_DISABLE_DBG REG(9)
#define R_TIME_SPEED REG(15)
#define R_RUN_SPEED_LIMIT REG(45)
@ -148,6 +149,9 @@ extern RegEditor* gRegEditor;
#define R_REVERSE_FLOOR_INDEX XREG(94)
#define R_MINIMAP_DISABLED XREG(95)
#define R_ENV_LIGHT1_DIR(i) cREG(3 + (i))
#define R_ENV_LIGHT2_DIR(i) cREG(6 + (i))
#define R_TRANS_FADE_FLASH_ALPHA_STEP iREG(50) // Set to a negative number to start the flash
#define R_ROOM_CULL_DEBUG_MODE iREG(86)
#define R_ROOM_CULL_NUM_ENTRIES iREG(87)

View File

@ -32,7 +32,7 @@ extern u8* sYaz0MaxPtr;
extern void* gYaz0DecompressDstEnd;
// extern UNK_TYPE4 D_8009CD10;
extern u32 sRandFloat;
extern u32 gRandFloat;
// extern UNK_TYPE4 sArenaLockMsg;
extern DmaEntry dmadata[1568];

View File

@ -131,7 +131,10 @@ typedef union {
} MtxF; // size = 0x40
#define LERPIMP(v0, v1, t) ((v0) + (((v1) - (v0)) * (t)))
#define LERPIMP_ALT(v0, v1, t) (((v1) - (v0)) * (t) + (v0))
#define S16_LERP(v0, v1, t) ((s16)(((v1) - (v0)) * (t)) + (v0))
#define F32_LERP(v0, v1, t) ((1.0f - (t)) * (f32)(v0) + (t) * (f32)(v1))
#define F32_LERP_ALT(v0, v1, t) ((f32)(v0) * (1.0f - (t)) + (t) * (f32)(v1))
#define F32_LERPIMP(v0, v1, t) ((f32)(v0) + (((f32)(v1) - (f32)(v0)) * (t)))
#define F32_LERPIMPINV(v0, v1, t) ((f32)(v0) + (((f32)(v1) - (f32)(v0)) / (t)))
#define BINANG_LERPIMP(v0, v1, t) ((v0) + (s16)(BINANG_SUB((v1), (v0)) * (t)))

View File

@ -240,7 +240,7 @@ typedef struct PermanentSceneFlags {
/* 0x08 */ u32 switch1;
/* 0x0C */ u32 clearedRoom;
/* 0x10 */ u32 collectible;
/* 0x14 */ u32 unk_14; // varies based on scene. For dungeons, floors visited.
/* 0x14 */ u32 unk_14; // varies based on scene. For dungeons, floors visited.
/* 0x18 */ u32 rooms;
} PermanentSceneFlags; // size = 0x1C
@ -1598,9 +1598,8 @@ typedef enum {
#define EVENTINF_THREEDAYRESET_LOST_STICK_AMMO 0x73
#define EVENTINF_THREEDAYRESET_LOST_ARROW_AMMO 0x74
#define EVENTINF_75 0x75
#define EVENTINF_76 0x76
#define EVENTINF_77 0x77
// Checked in Kankyo as one to store the day: gSaveContext.eventInf[7] & 0xE0
// EVENTINF_75 to EVENTINF_77
#define CHECK_EVENTINF(flag) (gSaveContext.eventInf[(flag) >> 4] & (1 << ((flag) & 0xF)))
#define SET_EVENTINF(flag) (gSaveContext.eventInf[(flag) >> 4] |= (1 << ((flag) & 0xF)))
@ -1628,6 +1627,13 @@ typedef enum {
#define SET_EVENTINF_DOG_RACE_RACE_STANDING(raceStanding) \
(gSaveContext.eventInf[0] = (gSaveContext.eventInf[0] & EVENTINF_DOG_RACE_STATE_MASK) | (raceStanding << 3))
#define EVENTINF_GET_7_E0 ((gSaveContext.eventInf[7] & 0xE0) >> 5)
#define EVENTINF_SET_7_E0(day, temp) \
(temp) = gSaveContext.eventInf[7] & (u8)~0xE0; \
(temp) |= (u8)((day) << 5); \
gSaveContext.eventInf[7] = (temp)
typedef enum {
/* 0 */ DUNGEON_INDEX_WOODFALL_TEMPLE,
/* 1 */ DUNGEON_INDEX_SNOWHEAD_TEMPLE,

View File

@ -5,7 +5,7 @@ static u32 sRandInt = 1;
//! Space to store a value to be re-interpreted as a float.
//! This can't be static because it is used in z_kankyo.
u32 sRandFloat;
u32 gRandFloat;
//! These values are recommended by the algorithms book *Numerical Recipes in C. The Art of Scientific Computing*, 2nd
//! Edition, 1992, ISBN 0-521-43108-5. (p. 284):
@ -37,8 +37,8 @@ void Rand_Seed(u32 seed) {
*/
f32 Rand_ZeroOne(void) {
sRandInt = (sRandInt * RAND_MULTIPLIER) + RAND_INCREMENT;
sRandFloat = ((sRandInt >> 9) | 0x3F800000);
return *((f32*)&sRandFloat) - 1.0f;
gRandFloat = ((sRandInt >> 9) | 0x3F800000);
return *((f32*)&gRandFloat) - 1.0f;
}
/**
@ -46,8 +46,8 @@ f32 Rand_ZeroOne(void) {
*/
f32 Rand_Centered(void) {
sRandInt = (sRandInt * RAND_MULTIPLIER) + RAND_INCREMENT;
sRandFloat = ((sRandInt >> 9) | 0x3F800000);
return *((f32*)&sRandFloat) - 1.5f;
gRandFloat = ((sRandInt >> 9) | 0x3F800000);
return *((f32*)&gRandFloat) - 1.5f;
}
//! All functions below are unused variants of the above four, that use a provided random number variable instead of the
@ -79,8 +79,8 @@ u32 Rand_Next_Variable(u32* rndNum) {
f32 Rand_ZeroOne_Variable(u32* rndNum) {
u32 next = (*rndNum * RAND_MULTIPLIER) + RAND_INCREMENT;
sRandFloat = ((*rndNum = next) >> 9) | 0x3F800000;
return *((f32*)&sRandFloat) - 1.0f;
gRandFloat = ((*rndNum = next) >> 9) | 0x3F800000;
return *((f32*)&gRandFloat) - 1.0f;
}
/**
@ -91,6 +91,6 @@ f32 Rand_ZeroOne_Variable(u32* rndNum) {
f32 Rand_Centered_Variable(u32* rndNum) {
u32 next = (*rndNum * RAND_MULTIPLIER) + RAND_INCREMENT;
sRandFloat = ((*rndNum = next) >> 9) | 0x3F800000;
return *((f32*)&sRandFloat) - 1.5f;
gRandFloat = ((*rndNum = next) >> 9) | 0x3F800000;
return *((f32*)&gRandFloat) - 1.5f;
}

File diff suppressed because it is too large Load Diff

View File

@ -663,15 +663,15 @@ void Lib_Vec3f_TranslateAndRotateY(Vec3f* translation, s16 rotAngle, Vec3f* src,
dst->z = translation->z + (src->z * cos - src->x * sin);
}
void Color_RGB8_Lerp(Color_RGB8* a, Color_RGB8* b, f32 t, Color_RGB8* dst) {
void Color_RGB8_Lerp(Color_RGB8* from, Color_RGB8* to, f32 lerp, Color_RGB8* dst) {
f32 aF;
aF = a->r;
dst->r = aF + (b->r - aF) * t;
aF = a->g;
dst->g = aF + (b->g - aF) * t;
aF = a->b;
dst->b = aF + (b->b - aF) * t;
aF = from->r;
dst->r = aF + (to->r - aF) * lerp;
aF = from->g;
dst->g = aF + (to->g - aF) * lerp;
aF = from->b;
dst->b = aF + (to->b - aF) * lerp;
}
f32 Math_Vec3f_StepTo(Vec3f* start, Vec3f* target, f32 speed) {

View File

@ -385,7 +385,7 @@ void Play_Destroy(GameState* thisx) {
BombersNotebook_Destroy(&sBombersNotebook);
this->state.gfxCtx->callback = NULL;
this->state.gfxCtx->callbackArg = 0;
this->state.gfxCtx->callbackArg = NULL;
Play_DestroyMotionBlur();
if (R_PAUSE_BG_PRERENDER_STATE != PAUSE_BG_PRERENDER_OFF) {
@ -1332,7 +1332,7 @@ void Play_DrawMain(PlayState* this) {
}
if (1) {
Environment_FillScreen(gfxCtx, 0, 0, 0, this->bgCoverAlpha, 1);
Environment_FillScreen(gfxCtx, 0, 0, 0, this->bgCoverAlpha, FILL_SCREEN_OPA);
}
if (1) {
@ -1353,13 +1353,14 @@ void Play_DrawMain(PlayState* this) {
if (1) {
if (R_PLAY_FILL_SCREEN_ON) {
Environment_FillScreen(gfxCtx, R_PLAY_FILL_SCREEN_R, R_PLAY_FILL_SCREEN_G, R_PLAY_FILL_SCREEN_B,
R_PLAY_FILL_SCREEN_ALPHA, 3);
R_PLAY_FILL_SCREEN_ALPHA, FILL_SCREEN_OPA | FILL_SCREEN_XLU);
}
switch (this->envCtx.fillScreen) {
case 1:
Environment_FillScreen(gfxCtx, this->envCtx.screenFillColor[0], this->envCtx.screenFillColor[1],
this->envCtx.screenFillColor[2], this->envCtx.screenFillColor[3], 3);
this->envCtx.screenFillColor[2], this->envCtx.screenFillColor[3],
FILL_SCREEN_OPA | FILL_SCREEN_XLU);
break;
default:
@ -1374,7 +1375,7 @@ void Play_DrawMain(PlayState* this) {
}
if (this->worldCoverAlpha != 0) {
Environment_FillScreen(gfxCtx, 0, 0, 0, this->worldCoverAlpha, 3);
Environment_FillScreen(gfxCtx, 0, 0, 0, this->worldCoverAlpha, FILL_SCREEN_OPA | FILL_SCREEN_XLU);
}
if (1) {

View File

@ -159,7 +159,7 @@ void EnEncount3_Update(Actor* thisx, PlayState* play2) {
Math_ApproachZeroF(&this->unk170, 0.3f, 10.0f);
Math_ApproachZeroF(&this->unk160, 0.3f, 5.0f);
if (this->unk160 < 1.0f) {
play->unk_18880 = 0;
play->unk_18880 = false;
}
} else if (this->unk148 != 0) {
Math_ApproachF(&this->unk170, 255.0f, 0.4f, 10.0f);

View File

@ -750,7 +750,8 @@ void EnInvadepohDemo_Ufo_Draw(EnInvadepohDemo* this, PlayState* play) {
CLOSE_DISPS(play->state.gfxCtx);
if (EnInvadepohDemo_Ufo_ShouldDrawLensFlare(play, &flashPos)) {
Environment_DrawLensFlare(play, &play->envCtx, &play->view, play->state.gfxCtx, flashPos, 20.0f, 9.0f, 0, 0);
Environment_DrawLensFlare(play, &play->envCtx, &play->view, play->state.gfxCtx, flashPos, 20.0f, 9.0f, 0,
false);
}
}

View File

@ -553,7 +553,7 @@ void EnJso_HandleIntroCutscene(EnJso* this, PlayState* play) {
if (parent->actor.update != NULL) {
parent->unk148 = 1;
play->unk_18880 = 1;
play->unk_18880 = true;
}
}

View File

@ -48,7 +48,7 @@ void EnOkarinaEffect_Init(Actor* thisx, PlayState* play) {
}
void func_8096B104(EnOkarinaEffect* this, PlayState* play) {
this->unk144 = 0x50;
this->timer = 80;
play->envCtx.precipitation[PRECIP_SOS_MAX] = 60;
gLightningStrike.delayTimer = 501.0f;
play->envCtx.lightningState = LIGHTNING_LAST;
@ -57,9 +57,9 @@ void func_8096B104(EnOkarinaEffect* this, PlayState* play) {
}
void func_8096B174(EnOkarinaEffect* this, PlayState* play) {
DECR(this->unk144);
DECR(this->timer);
if ((play->pauseCtx.state == PAUSE_STATE_OFF) && (play->gameOverCtx.state == GAMEOVER_INACTIVE) &&
(play->msgCtx.msgLength == 0) && !FrameAdvance_IsEnabled(&play->state) && (this->unk144 == 0)) {
(play->msgCtx.msgLength == 0) && !FrameAdvance_IsEnabled(&play->state) && (this->timer == 0)) {
EnOkarinaEffect_SetupAction(this, func_8096B1FC);
}
}

View File

@ -9,8 +9,7 @@ typedef void (*EnOkarinaEffectActionFunc)(struct EnOkarinaEffect*, PlayState*);
typedef struct EnOkarinaEffect {
/* 0x000 */ Actor actor;
/* 0x144 */ u16 unk144;
/* 0x146 */ u16 unk146;
/* 0x144 */ u16 timer;
/* 0x148 */ EnOkarinaEffectActionFunc actionFunc;
} EnOkarinaEffect; // size = 0x14C

View File

@ -431,7 +431,7 @@ void func_80A42AB8(EnTest4* this, PlayState* play) {
this->unk_146 = gSaveContext.save.time += CLOCK_TIME_MINUTE;
}
} else if ((new_var * bellDiff) <= 0) {
Audio_PlaySfx_BigBells(&this->actor.projectedPos, (this->actor.params >> 5) & 0xF);
Audio_PlaySfx_BigBells(&this->actor.projectedPos, TEST4_GET_BIG_BELLS_SFX_VOLUME_INDEX(&this->actor));
this->lastBellTime = gSaveContext.save.time;
if (CURRENT_DAY == 3) {
@ -553,11 +553,11 @@ void func_80A431C8(EnTest4* this, PlayState* play) {
}
}
void func_80A4323C(EnTest4* this, PlayState* play) {
s32 temp_v0 = (this->actor.params >> 0xA) * 0x64;
void EnTest4_SetSkyboxNumStars(EnTest4* this, PlayState* play) {
s32 numStars = TEST4_GET_SKYBOX_NUM_STARS(&this->actor);
if (temp_v0 > 0) {
gSkyboxNumStars = temp_v0;
if (numStars > 0) {
gSkyboxNumStars = numStars;
}
}
@ -578,6 +578,6 @@ void EnTest4_Update(Actor* thisx, PlayState* play) {
break;
}
}
func_80A4323C(this, play);
EnTest4_SetSkyboxNumStars(this, play);
}
}

View File

@ -5,6 +5,9 @@
struct EnTest4;
#define TEST4_GET_SKYBOX_NUM_STARS(thisx) (((thisx)->params >> 10) * 100)
#define TEST4_GET_BIG_BELLS_SFX_VOLUME_INDEX(thisx) (((thisx)->params >> 5) & 0xF)
typedef void (*EnTest4ActionFunc)(struct EnTest4*, PlayState*);
typedef struct EnTest4 {

View File

@ -988,6 +988,6 @@ void EnTest7_Draw(Actor* thisx, PlayState* play) {
if (this->unk_144 & 4) {
Environment_DrawLensFlare(play, &play->envCtx, &play->view, play->state.gfxCtx, this->actor.world.pos, 70.0f,
5.0f, 0, 0);
5.0f, 0, false);
}
}

View File

@ -86,7 +86,7 @@ void EnWeatherTag_Init(Actor* thisx, PlayState* play) {
EnWeatherTag_SetupAction(this, func_80966EF0);
break;
case WEATHERTAG_TYPE_UNK4:
case WEATHERTAG_TYPE_SKYBOX_STARS:
EnWeatherTag_SetupAction(this, func_80966FEC);
break;
@ -352,14 +352,11 @@ void func_80966F74(EnWeatherTag* this, PlayState* play) {
}
}
// WEATHERTAG_TYPE_UNK4: no visible effect, what does it doooo??
// used in south clock town??? romani ranch, clock tower rooftop woodfall..? stt
// all of them have shorter distances though, like 0xA and 0x6, so their locations are important
void func_80966FEC(EnWeatherTag* this, PlayState* play) {
// weirdly, not the same as the other param lookup used in the rest of the file, which is float
s32 distance = WEATHER_TAG_RANGE100INT(&this->actor);
if (distance > 0) {
gSkyboxNumStars = distance;
s32 numStars = WEATHER_TAG_GET_SKYBOX_NUM_STARS(&this->actor);
if (numStars > 0) {
gSkyboxNumStars = numStars;
}
if ((play->sceneId == SCENE_KAIZOKU) && (play->actorCtx.flags & ACTORCTX_FLAG_1)) {

View File

@ -22,14 +22,14 @@ typedef struct EnWeatherTag {
#define WEATHER_TAG_TYPE(thisx) ((thisx)->params & 0xF)
#define WEATHER_TAG_PATHID(thisx) (((thisx)->params >> 4) & 0xF)
#define WEATHER_TAG_RANGE100(thisx) ((u8)(((thisx)->params >> 8) & 0xFF) * 100.0f)
#define WEATHER_TAG_RANGE100INT(thisx) ((u8)(((thisx)->params >> 8) & 0xFF) * 100)
#define WEATHER_TAG_GET_SKYBOX_NUM_STARS(thisx) ((u8)(((thisx)->params >> 8) & 0xFF) * 100)
typedef enum {
/* 0 */ WEATHERTAG_TYPE_UNK0,
/* 1 */ WEATHERTAG_TYPE_UNK1,
/* 2 */ WEATHERTAG_TYPE_WINTERFOG,
/* 3 */ WEATHERTAG_TYPE_UNK3,
/* 4 */ WEATHERTAG_TYPE_UNK4,
/* 4 */ WEATHERTAG_TYPE_SKYBOX_STARS,
/* 5 */ WEATHERTAG_TYPE_UNK5,
/* 6 */ WEATHERTAG_TYPE_WATERMURK,
/* 7 */ WEATHERTAG_TYPE_LOCALDAY2RAIN

View File

@ -511,7 +511,8 @@ void func_808DD3C8(Actor* thisx, PlayState* play2) {
f32 temp_f2;
f32 tempf;
if ((play->cameraPtrs[CAM_ID_MAIN]->stateFlags & CAM_STATE_UNDERWATER) || ((u8)play->envCtx.stormState == 0)) {
if ((play->cameraPtrs[CAM_ID_MAIN]->stateFlags & CAM_STATE_UNDERWATER) ||
((u8)play->envCtx.stormState == STORM_STATE_OFF)) {
return;
}
@ -687,7 +688,7 @@ void func_808DDE9C(Actor* thisx, PlayState* play2) {
}
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(POLY_XLU_DISP++, gameplay_keep_DL_0706E0);
gSPDisplayList(POLY_XLU_DISP++, gFallingRainDropDL);
}
}

View File

@ -112,7 +112,7 @@ void ConsoleLogo_Draw(GameState* thisx) {
1 << 10, 1 << 10);
}
Environment_FillScreen(this->state.gfxCtx, 0, 0, 0, this->coverAlpha, 2);
Environment_FillScreen(this->state.gfxCtx, 0, 0, 0, this->coverAlpha, FILL_SCREEN_XLU);
sTitleRotation += 300;

View File

@ -1720,7 +1720,7 @@
0x800F6AB8:("Environment_UpdateNextDayTime",),
0x800F6B44:("Environment_UpdateTime",),
0x800F6CEC:("func_800F6CEC",),
0x800F6EA4:("func_800F6EA4",),
0x800F6EA4:("Environment_LerpColor",),
0x800F6FCC:("Environment_IsSceneUpsideDown",),
0x800F6FF8:("Environment_UpdateLights",),
0x800F8554:("Environment_UpdateSun",),
@ -10412,7 +10412,7 @@
0x80A42F20:("func_80A42F20",),
0x80A430C8:("func_80A430C8",),
0x80A431C8:("func_80A431C8",),
0x80A4323C:("func_80A4323C",),
0x80A4323C:("EnTest4_SetSkyboxNumStars",),
0x80A43274:("EnTest4_Update",),
0x80A434E0:("EnBat_Init",),
0x80A437A0:("EnBat_Destroy",),

View File

@ -323,7 +323,7 @@
0x8009CCD0:("sFaultDrawer","FaultDrawer","",0x3c),
0x8009CD10:("D_8009CD10","UNK_TYPE4","",0x4),
0x8009CD20:("gSystemArena","Arena","",0x24),
0x8009CD50:("sRandFloat","f32","",0x4),
0x8009CD50:("gRandFloat","f32","",0x4),
0x8009CD60:("sArenaLockMsg","OSMesg","[1]",0x4),
0x8009CD70:("tmp_task","OSTask","",0x40),
0x8009CDB0:("__MotorDataBuf","OSPifRam","[4]",0x100),

View File

@ -1229,12 +1229,12 @@ asm/non_matchings/code/z_kankyo/Environment_LerpWeightAccelDecel.s,Environment_L
asm/non_matchings/code/z_kankyo/Environment_UpdateSkybox.s,Environment_UpdateSkybox,0x800F5CD0,0x2D9
asm/non_matchings/code/z_kankyo/Environment_EnableUnderwaterLights.s,Environment_EnableUnderwaterLights,0x800F6834,0x46
asm/non_matchings/code/z_kankyo/Environment_DisableUnderwaterLights.s,Environment_DisableUnderwaterLights,0x800F694C,0x2E
asm/non_matchings/code/z_kankyo/func_800F6A04.s,func_800F6A04,0x800F6A04,0xF
asm/non_matchings/code/z_kankyo/Environment_WipeRumbleRequests.s,Environment_WipeRumbleRequests,0x800F6A04,0xF
asm/non_matchings/code/z_kankyo/Environment_UpdateSkyboxRotY.s,Environment_UpdateSkyboxRotY,0x800F6A40,0x1E
asm/non_matchings/code/z_kankyo/Environment_UpdateNextDayTime.s,Environment_UpdateNextDayTime,0x800F6AB8,0x23
asm/non_matchings/code/z_kankyo/Environment_UpdateTime.s,Environment_UpdateTime,0x800F6B44,0x6A
asm/non_matchings/code/z_kankyo/func_800F6CEC.s,func_800F6CEC,0x800F6CEC,0x6E
asm/non_matchings/code/z_kankyo/func_800F6EA4.s,func_800F6EA4,0x800F6EA4,0x4A
asm/non_matchings/code/z_kankyo/Environment_LerpColor.s,Environment_LerpColor,0x800F6EA4,0x4A
asm/non_matchings/code/z_kankyo/Environment_IsSceneUpsideDown.s,Environment_IsSceneUpsideDown,0x800F6FCC,0xB
asm/non_matchings/code/z_kankyo/Environment_UpdateLights.s,Environment_UpdateLights,0x800F6FF8,0x557
asm/non_matchings/code/z_kankyo/Environment_UpdateSun.s,Environment_UpdateSun,0x800F8554,0xDC

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
1229 asm/non_matchings/code/z_kankyo/Environment_UpdateSkybox.s Environment_UpdateSkybox 0x800F5CD0 0x2D9
1230 asm/non_matchings/code/z_kankyo/Environment_EnableUnderwaterLights.s Environment_EnableUnderwaterLights 0x800F6834 0x46
1231 asm/non_matchings/code/z_kankyo/Environment_DisableUnderwaterLights.s Environment_DisableUnderwaterLights 0x800F694C 0x2E
1232 asm/non_matchings/code/z_kankyo/func_800F6A04.s asm/non_matchings/code/z_kankyo/Environment_WipeRumbleRequests.s func_800F6A04 Environment_WipeRumbleRequests 0x800F6A04 0xF
1233 asm/non_matchings/code/z_kankyo/Environment_UpdateSkyboxRotY.s Environment_UpdateSkyboxRotY 0x800F6A40 0x1E
1234 asm/non_matchings/code/z_kankyo/Environment_UpdateNextDayTime.s Environment_UpdateNextDayTime 0x800F6AB8 0x23
1235 asm/non_matchings/code/z_kankyo/Environment_UpdateTime.s Environment_UpdateTime 0x800F6B44 0x6A
1236 asm/non_matchings/code/z_kankyo/func_800F6CEC.s func_800F6CEC 0x800F6CEC 0x6E
1237 asm/non_matchings/code/z_kankyo/func_800F6EA4.s asm/non_matchings/code/z_kankyo/Environment_LerpColor.s func_800F6EA4 Environment_LerpColor 0x800F6EA4 0x4A
1238 asm/non_matchings/code/z_kankyo/Environment_IsSceneUpsideDown.s Environment_IsSceneUpsideDown 0x800F6FCC 0xB
1239 asm/non_matchings/code/z_kankyo/Environment_UpdateLights.s Environment_UpdateLights 0x800F6FF8 0x557
1240 asm/non_matchings/code/z_kankyo/Environment_UpdateSun.s Environment_UpdateSun 0x800F8554 0xDC