summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Longstaff <JordanLongstaff@users.noreply.github.com>2026-07-18 14:25:26 -0400
committerGitHub <noreply@github.com>2026-07-18 11:25:26 -0700
commitae6e93fcf91830ba5e3dd28e7bf1623ee006002e (patch)
tree2ea954cf456a385dadfe56d6cbccced30e98226d
parent29425bb7cfa5a074d73994b23e0144d6f070c6f6 (diff)
Document `BgIknvDoukutu` (#1867)
-rw-r--r--assets/xml/objects/object_iknv_obj.xml20
-rw-r--r--src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.c154
-rw-r--r--src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.h12
-rw-r--r--tools/disasm/n64-jp-1.1/functions.txt20
-rw-r--r--tools/disasm/n64-us/functions.txt20
5 files changed, 113 insertions, 113 deletions
diff --git a/assets/xml/objects/object_iknv_obj.xml b/assets/xml/objects/object_iknv_obj.xml
index e0c45a7a0..d5685b53f 100644
--- a/assets/xml/objects/object_iknv_obj.xml
+++ b/assets/xml/objects/object_iknv_obj.xml
@@ -24,16 +24,16 @@
<Texture Name="object_iknv_obj_Tex_007360" OutName="tex_007360" Format="i8" Width="32" Height="64" Offset="0x7360" />
<Texture Name="object_iknv_obj_Tex_007B60" OutName="tex_007B60" Format="rgba16" Width="32" Height="32" Offset="0x7B60" />
<Texture Name="object_iknv_obj_Tex_008360" OutName="tex_008360" Format="i8" Width="32" Height="128" Offset="0x8360" />
- <DList Name="object_iknv_obj_DL_00DB60" Offset="0xDB60" /> <!-- Original name is "z2_dokuana_modelT" -->
- <DList Name="object_iknv_obj_DL_00DDD8" Offset="0xDDD8" /> <!-- Original name is "z2_dokuana_model" -->
- <TextureAnimation Name="object_iknv_obj_Matanimheader_00F1C0" Offset="0xF1C0" />
+ <DList Name="gIkanaCaveFogDL" Offset="0xDB60" /> <!-- Original name is "z2_dokuana_modelT" -->
+ <DList Name="gIkanaCaveCursedDL" Offset="0xDDD8" /> <!-- Original name is "z2_dokuana_model" -->
+ <TextureAnimation Name="gIkanaCaveInteriorTexAnim" Offset="0xF1C0" />
<DList Name="object_iknv_obj_DL_010D90" Offset="0x10D90" /> <!-- Original name is "z2_doukutu_modelT" -->
- <DList Name="object_iknv_obj_DL_010D98" Offset="0x10D98" /> <!-- Original name is "z2_doukutu_model" -->
+ <DList Name="gIkanaCavePurifiedDL" Offset="0x10D98" /> <!-- Original name is "z2_doukutu_model" -->
<TextureAnimation Name="object_iknv_obj_Matanimheader_0113E0" Offset="0x113E0" /> <!-- Empty TexAnim -->
- <DList Name="object_iknv_obj_DL_0115E0" Offset="0x115E0" /> <!-- Original name is "z2_doumizu_modelT" -->
+ <DList Name="gIkanaCaveSpringWaterDL" Offset="0x115E0" /> <!-- Original name is "z2_doumizu_modelT" -->
<DList Name="object_iknv_obj_DL_011788" Offset="0x11788" /> <!-- Original name is "z2_doumizu_model" -->
- <TextureAnimation Name="object_iknv_obj_Matanimheader_0117A0" Offset="0x117A0" />
- <Collision Name="object_iknv_obj_Colheader_0117C8" Offset="0x117C8" /> <!-- Original name is "z2_doumizu_bgdatainfo" -->
+ <TextureAnimation Name="gIkanaCaveSpringWaterTexAnim" Offset="0x117A0" />
+ <Collision Name="gIkanaCaveSpringWaterCol" Offset="0x117C8" /> <!-- Original name is "z2_doumizu_bgdatainfo" -->
<DList Name="object_iknv_obj_DL_011880" Offset="0x11880" /> <!-- Original name is "z2_ikiriguti_modelT" -->
<DList Name="object_iknv_obj_DL_011950" Offset="0x11950" /> <!-- Original name is "z2_ikiriguti_model" -->
<Collision Name="object_iknv_obj_Colheader_0119D4" Offset="0x119D4" /> <!-- Original name is "z2_ikiriguti_bgdatainfo" -->
@@ -57,9 +57,9 @@
<DList Name="object_iknv_obj_DL_012550" Offset="0x12550" />
<DList Name="object_iknv_obj_DL_0125E0" Offset="0x125E0" />
<DList Name="object_iknv_obj_DL_0126D0" Offset="0x126D0" />
- <DList Name="object_iknv_obj_DL_012700" Offset="0x12700" /> <!-- Original name is "z2_ikkawa_modelT" -->
- <TextureAnimation Name="object_iknv_obj_Matanimheader_012728" Offset="0x12728" />
- <Collision Name="object_iknv_obj_Colheader_012788" Offset="0x12788" /> <!-- Original name is "z2_ikkawa_bgdatainfo" -->
+ <DList Name="gIkanaStreamDL" Offset="0x12700" /> <!-- Original name is "z2_ikkawa_modelT" -->
+ <TextureAnimation Name="gIkanaStreamTexAnim" Offset="0x12728" />
+ <Collision Name="gIkanaStreamCol" Offset="0x12788" /> <!-- Original name is "z2_ikkawa_bgdatainfo" -->
<DList Name="object_iknv_obj_DL_012880" Offset="0x12880" /> <!-- Original name is "z2_ikkawa_c_model" -->
<DList Name="object_iknv_obj_DL_0129C0" Offset="0x129C0" /> <!-- Not present in MM3D, but it was probably named "z2_iwado_model" based on the rest of this object. -->
<DList Name="object_iknv_obj_DL_0129C8" Offset="0x129C8" /> <!-- Original name is "z2_iwado_model" -->
diff --git a/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.c b/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.c
index 96d2cf9fc..05a5244f6 100644
--- a/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.c
+++ b/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.c
@@ -14,16 +14,16 @@ void BgIknvDoukutu_Destroy(Actor* thisx, PlayState* play);
void BgIknvDoukutu_Update(Actor* thisx, PlayState* play);
void BgIknvDoukutu_Draw(Actor* thisx, PlayState* play);
-void func_80BD716C(BgIknvDoukutu* this, PlayState* play);
-void func_80BD71BC(BgIknvDoukutu* this, PlayState* play);
-void func_80BD7250(BgIknvDoukutu* this, PlayState* play);
-void func_80BD72BC(BgIknvDoukutu* this, PlayState* play);
-void func_80BD7360(BgIknvDoukutu* this, PlayState* play);
-void func_80BD73D0(BgIknvDoukutu* this, PlayState* play);
-void func_80BD7768(Actor* thisx, PlayState* play);
-void func_80BD7820(Actor* thisx, PlayState* play);
-void func_80BD78C4(Actor* thisx, PlayState* play);
-void func_80BD7538(Actor* thisx, PlayState* play);
+void BgIknvDoukutu_Cleanse(BgIknvDoukutu* this, PlayState* play);
+void BgIknvDoukutu_Cursed(BgIknvDoukutu* this, PlayState* play);
+void BgIknvDoukutu_FillSpring(BgIknvDoukutu* this, PlayState* play);
+void BgIknvDoukutu_FadeInWater(BgIknvDoukutu* this, PlayState* play);
+void BgIknvDoukutu_Dry(BgIknvDoukutu* this, PlayState* play);
+void BgIknvDoukutu_DoNothing(BgIknvDoukutu* this, PlayState* play);
+void BgIknvDoukutu_DrawPurified(Actor* thisx, PlayState* play);
+void BgIknvDoukutu_DrawStream(Actor* thisx, PlayState* play);
+void BgIknvDoukutu_DrawSpringWater(Actor* thisx, PlayState* play);
+void BgIknvDoukutu_DrawCleansing(Actor* thisx, PlayState* play);
ActorProfile Bg_Iknv_Doukutu_Profile = {
/**/ ACTOR_BG_IKNV_DOUKUTU,
@@ -43,48 +43,48 @@ void BgIknvDoukutu_Init(Actor* thisx, PlayState* play) {
s32 pad;
Actor_SetScale(&this->dyna.actor, 0.1f);
- this->actionFunc = func_80BD73D0;
+ this->actionFunc = BgIknvDoukutu_DoNothing;
this->unk_15C = 0;
- switch (BGIKNVDOUKUTU_GET_F(&this->dyna.actor)) {
- case BGIKNVDOUKUTU_F_0:
- this->actionFunc = func_80BD71BC;
+ switch (BGIKNVDOUKUTU_GET_TYPE(&this->dyna.actor)) {
+ case BGIKNVDOUKUTU_INTERIOR:
+ this->actionFunc = BgIknvDoukutu_Cursed;
this->cueType = CS_CMD_ACTOR_CUE_516;
- this->unk_160 = 1.0f;
+ this->opacity = 1.0f;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_IKANA_SPRING_RESTORED) ||
CHECK_WEEKEVENTREG(WEEKEVENTREG_CLEARED_STONE_TOWER_TEMPLE)) {
- this->dyna.actor.draw = func_80BD7768;
- this->actionFunc = func_80BD73D0;
+ this->dyna.actor.draw = BgIknvDoukutu_DrawPurified;
+ this->actionFunc = BgIknvDoukutu_DoNothing;
play->envCtx.lightSettingOverride = 25;
} else {
play->envCtx.lightSettingOverride = 24;
}
break;
- case BGIKNVDOUKUTU_F_1:
+ case BGIKNVDOUKUTU_STREAM:
Actor_SetScale(&this->dyna.actor, 1.0f);
- this->dyna.actor.draw = func_80BD7820;
+ this->dyna.actor.draw = BgIknvDoukutu_DrawStream;
this->cueType = CS_CMD_ACTOR_CUE_516;
DynaPolyActor_Init(&this->dyna, 0);
- CollisionHeader_GetVirtual(&object_iknv_obj_Colheader_012788, &colHeader);
+ CollisionHeader_GetVirtual(&gIkanaStreamCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_IKANA_SPRING_RESTORED)) {
Actor_Kill(&this->dyna.actor);
}
break;
- case BGIKNVDOUKUTU_F_2:
+ case BGIKNVDOUKUTU_SPRING_WATER:
this->cueType = CS_CMD_ACTOR_CUE_516;
- this->dyna.actor.draw = func_80BD78C4;
+ this->dyna.actor.draw = BgIknvDoukutu_DrawSpringWater;
DynaPolyActor_Init(&this->dyna, 0);
- CollisionHeader_GetVirtual(&object_iknv_obj_Colheader_0117C8, &colHeader);
+ CollisionHeader_GetVirtual(&gIkanaCaveSpringWaterCol, &colHeader);
this->dyna.bgId = DynaPoly_SetBgActor(play, &play->colCtx.dyna, &this->dyna.actor, colHeader);
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_IKANA_SPRING_RESTORED)) {
- this->unk_160 = 1.0f;
+ this->opacity = 1.0f;
this->dyna.actor.world.pos.y += 68.0f;
} else {
- this->actionFunc = func_80BD7360;
- this->unk_160 = 0.0f;
+ this->actionFunc = BgIknvDoukutu_Dry;
+ this->opacity = 0.0f;
}
break;
@@ -97,61 +97,61 @@ void BgIknvDoukutu_Init(Actor* thisx, PlayState* play) {
void BgIknvDoukutu_Destroy(Actor* thisx, PlayState* play) {
BgIknvDoukutu* this = (BgIknvDoukutu*)thisx;
- if ((BGIKNVDOUKUTU_GET_F(&this->dyna.actor) == BGIKNVDOUKUTU_F_1) ||
- (BGIKNVDOUKUTU_GET_F(&this->dyna.actor) == BGIKNVDOUKUTU_F_2)) {
+ if ((BGIKNVDOUKUTU_GET_TYPE(&this->dyna.actor) == BGIKNVDOUKUTU_STREAM) ||
+ (BGIKNVDOUKUTU_GET_TYPE(&this->dyna.actor) == BGIKNVDOUKUTU_SPRING_WATER)) {
DynaPoly_DeleteBgActor(play, &play->colCtx.dyna, this->dyna.bgId);
}
}
-void func_80BD716C(BgIknvDoukutu* this, PlayState* play) {
- if (this->unk_160 >= 0.05f) {
- this->unk_160 -= 0.05f;
+void BgIknvDoukutu_Cleanse(BgIknvDoukutu* this, PlayState* play) {
+ if (this->opacity >= 0.05f) {
+ this->opacity -= 0.05f;
} else {
- this->actionFunc = func_80BD73D0;
- this->dyna.actor.draw = func_80BD7768;
+ this->actionFunc = BgIknvDoukutu_DoNothing;
+ this->dyna.actor.draw = BgIknvDoukutu_DrawPurified;
}
play->envCtx.lightSettingOverride = 25;
}
-void func_80BD71BC(BgIknvDoukutu* this, PlayState* play) {
+void BgIknvDoukutu_Cursed(BgIknvDoukutu* this, PlayState* play) {
play->envCtx.lightSettingOverride = 24;
if (Cutscene_IsCueInChannel(play, this->cueType) &&
(play->csCtx.actorCues[Cutscene_GetCueChannel(play, this->cueType)]->id == 2)) {
- this->actionFunc = func_80BD716C;
- this->dyna.actor.draw = func_80BD7538;
+ this->actionFunc = BgIknvDoukutu_Cleanse;
+ this->dyna.actor.draw = BgIknvDoukutu_DrawCleansing;
}
}
-void func_80BD7250(BgIknvDoukutu* this, PlayState* play) {
- f32 temp_fv0 = this->dyna.actor.home.pos.y + 68.0f;
+void BgIknvDoukutu_FillSpring(BgIknvDoukutu* this, PlayState* play) {
+ f32 waterLevelMax = this->dyna.actor.home.pos.y + 68.0f;
this->dyna.actor.world.pos.y += 1.7f;
- if (temp_fv0 < this->dyna.actor.world.pos.y) {
- this->dyna.actor.world.pos.y = temp_fv0;
- this->actionFunc = func_80BD73D0;
+ if (waterLevelMax < this->dyna.actor.world.pos.y) {
+ this->dyna.actor.world.pos.y = waterLevelMax;
+ this->actionFunc = BgIknvDoukutu_DoNothing;
}
Audio_PlaySfx_2(NA_SE_EV_WATER_LEVEL_DOWN - SFX_FLAG);
}
-void func_80BD72BC(BgIknvDoukutu* this, PlayState* play) {
+void BgIknvDoukutu_FadeInWater(BgIknvDoukutu* this, PlayState* play) {
if (Cutscene_IsCueInChannel(play, this->cueType) &&
(play->csCtx.actorCues[Cutscene_GetCueChannel(play, this->cueType)]->id == 3)) {
- this->actionFunc = func_80BD7250;
+ this->actionFunc = BgIknvDoukutu_FillSpring;
}
- if (this->unk_160 < 0.95f) {
- this->unk_160 += 0.05f;
+ if (this->opacity < 0.95f) {
+ this->opacity += 0.05f;
}
}
-void func_80BD7360(BgIknvDoukutu* this, PlayState* play) {
+void BgIknvDoukutu_Dry(BgIknvDoukutu* this, PlayState* play) {
if (Cutscene_IsCueInChannel(play, this->cueType) &&
(play->csCtx.actorCues[Cutscene_GetCueChannel(play, this->cueType)]->id == 2)) {
- this->actionFunc = func_80BD72BC;
+ this->actionFunc = BgIknvDoukutu_FadeInWater;
}
}
-void func_80BD73D0(BgIknvDoukutu* this, PlayState* play) {
+void BgIknvDoukutu_DoNothing(BgIknvDoukutu* this, PlayState* play) {
}
void BgIknvDoukutu_Update(Actor* thisx, PlayState* play) {
@@ -165,7 +165,7 @@ void BgIknvDoukutu_Draw(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx);
- AnimatedMat_Draw(play, Lib_SegmentedToVirtual(object_iknv_obj_Matanimheader_00F1C0));
+ AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gIkanaCaveInteriorTexAnim));
Scene_SetRenderModeXlu(play, 0, 1);
MATRIX_FINALIZE_AND_LOAD(POLY_OPA_DISP++, play->state.gfxCtx);
@@ -175,32 +175,32 @@ void BgIknvDoukutu_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
- gSPDisplayList(POLY_OPA_DISP++, object_iknv_obj_DL_00DDD8);
+ gSPDisplayList(POLY_OPA_DISP++, gIkanaCaveCursedDL);
gDPSetEnvColor(POLY_XLU_DISP++, 215, 42, 55, 120);
- gSPDisplayList(POLY_XLU_DISP++, object_iknv_obj_DL_00DB60);
+ gSPDisplayList(POLY_XLU_DISP++, gIkanaCaveFogDL);
CLOSE_DISPS(play->state.gfxCtx);
}
-void func_80BD7538(Actor* thisx, PlayState* play) {
+void BgIknvDoukutu_DrawCleansing(Actor* thisx, PlayState* play) {
BgIknvDoukutu* this = (BgIknvDoukutu*)thisx;
GraphicsContext* gfxCtx;
- f32 sp54;
+ f32 opacity;
- func_80BD7768(&this->dyna.actor, play);
+ BgIknvDoukutu_DrawPurified(&this->dyna.actor, play);
gfxCtx = play->state.gfxCtx;
OPEN_DISPS(gfxCtx);
- Vec3f sp40;
- s16 sp3E = Math_Vec3f_Yaw(&GET_ACTIVE_CAM(play)->eye, &GET_ACTIVE_CAM(play)->at);
- s16 sp3C = -Math_Vec3f_Pitch(&GET_ACTIVE_CAM(play)->eye, &GET_ACTIVE_CAM(play)->at);
+ Vec3f translationVec;
+ s16 cameraYaw = Math_Vec3f_Yaw(&GET_ACTIVE_CAM(play)->eye, &GET_ACTIVE_CAM(play)->at);
+ s16 cameraPitch = -Math_Vec3f_Pitch(&GET_ACTIVE_CAM(play)->eye, &GET_ACTIVE_CAM(play)->at);
- sp40.x = -100.0f * Math_SinS(sp3E) * Math_CosS(sp3C);
- sp40.y = Math_SinS(sp3C) * -100.0f;
- sp40.z = -100.0f * Math_CosS(sp3E) * Math_CosS(sp3C);
- Matrix_Translate(sp40.x, sp40.y, sp40.z, MTXMODE_APPLY);
- sp54 = this->unk_160;
- AnimatedMat_Draw(play, Lib_SegmentedToVirtual(object_iknv_obj_Matanimheader_00F1C0));
+ translationVec.x = -100.0f * Math_SinS(cameraYaw) * Math_CosS(cameraPitch);
+ translationVec.y = Math_SinS(cameraPitch) * -100.0f;
+ translationVec.z = -100.0f * Math_CosS(cameraYaw) * Math_CosS(cameraPitch);
+ Matrix_Translate(translationVec.x, translationVec.y, translationVec.z, MTXMODE_APPLY);
+ opacity = this->opacity;
+ AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gIkanaCaveInteriorTexAnim));
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx);
@@ -208,15 +208,15 @@ void func_80BD7538(Actor* thisx, PlayState* play) {
Scene_SetRenderModeXlu(play, 1, 2);
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
- gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, (s32)(255.0f * sp54));
- gSPDisplayList(POLY_XLU_DISP++, object_iknv_obj_DL_00DDD8);
- gDPSetEnvColor(POLY_XLU_DISP++, 215, 42, 55, (s32)(120.0f * sp54));
- gSPDisplayList(POLY_XLU_DISP++, object_iknv_obj_DL_00DB60);
+ gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 0, (s32)(255.0f * opacity));
+ gSPDisplayList(POLY_XLU_DISP++, gIkanaCaveCursedDL);
+ gDPSetEnvColor(POLY_XLU_DISP++, 215, 42, 55, (s32)(120.0f * opacity));
+ gSPDisplayList(POLY_XLU_DISP++, gIkanaCaveFogDL);
CLOSE_DISPS(gfxCtx);
}
-void func_80BD7768(Actor* thisx, PlayState* play) {
+void BgIknvDoukutu_DrawPurified(Actor* thisx, PlayState* play) {
BgIknvDoukutu* this = (BgIknvDoukutu*)thisx;
OPEN_DISPS(play->state.gfxCtx);
@@ -228,43 +228,43 @@ void func_80BD7768(Actor* thisx, PlayState* play) {
Gfx_SetupDL25_Opa(play->state.gfxCtx);
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
- gSPDisplayList(POLY_OPA_DISP++, object_iknv_obj_DL_010D98);
+ gSPDisplayList(POLY_OPA_DISP++, gIkanaCavePurifiedDL);
CLOSE_DISPS(play->state.gfxCtx);
}
-void func_80BD7820(Actor* thisx, PlayState* play) {
+void BgIknvDoukutu_DrawStream(Actor* thisx, PlayState* play) {
BgIknvDoukutu* this = (BgIknvDoukutu*)thisx;
OPEN_DISPS(play->state.gfxCtx);
- AnimatedMat_Draw(play, Lib_SegmentedToVirtual(object_iknv_obj_Matanimheader_012728));
+ AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gIkanaStreamTexAnim));
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx);
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
- gSPDisplayList(POLY_XLU_DISP++, object_iknv_obj_DL_012700);
+ gSPDisplayList(POLY_XLU_DISP++, gIkanaStreamDL);
CLOSE_DISPS(play->state.gfxCtx);
}
-void func_80BD78C4(Actor* thisx, PlayState* play) {
+void BgIknvDoukutu_DrawSpringWater(Actor* thisx, PlayState* play) {
BgIknvDoukutu* this = (BgIknvDoukutu*)thisx;
- f32 sp30 = this->unk_160;
+ f32 opacity = this->opacity;
s32 pad;
OPEN_DISPS(play->state.gfxCtx);
- AnimatedMat_Draw(play, Lib_SegmentedToVirtual(object_iknv_obj_Matanimheader_0117A0));
+ AnimatedMat_Draw(play, Lib_SegmentedToVirtual(gIkanaCaveSpringWaterTexAnim));
MATRIX_FINALIZE_AND_LOAD(POLY_XLU_DISP++, play->state.gfxCtx);
Gfx_SetupDL25_Xlu(play->state.gfxCtx);
- gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, 255, 255, 255, (s32)(140.0f * sp30));
+ gDPSetPrimColor(POLY_XLU_DISP++, 0, 0x80, 255, 255, 255, (s32)(140.0f * opacity));
- gSPDisplayList(POLY_XLU_DISP++, object_iknv_obj_DL_0115E0);
+ gSPDisplayList(POLY_XLU_DISP++, gIkanaCaveSpringWaterDL);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.h b/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.h
index 643be076c..6434803c7 100644
--- a/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.h
+++ b/src/overlays/actors/ovl_Bg_Iknv_Doukutu/z_bg_iknv_doukutu.h
@@ -7,19 +7,19 @@ struct BgIknvDoukutu;
typedef void (*BgIknvDoukutuActionFunc)(struct BgIknvDoukutu*, PlayState*);
-#define BGIKNVDOUKUTU_GET_F(thisx) ((thisx)->params & 0xF)
+#define BGIKNVDOUKUTU_GET_TYPE(thisx) ((thisx)->params & 0xF)
typedef enum {
- /* 0 */ BGIKNVDOUKUTU_F_0,
- /* 1 */ BGIKNVDOUKUTU_F_1,
- /* 2 */ BGIKNVDOUKUTU_F_2
-} BgIknvDoukutuParam;
+ /* 0 */ BGIKNVDOUKUTU_INTERIOR,
+ /* 1 */ BGIKNVDOUKUTU_STREAM,
+ /* 2 */ BGIKNVDOUKUTU_SPRING_WATER
+} BgIknvDoukutuType;
typedef struct BgIknvDoukutu {
/* 0x000 */ DynaPolyActor dyna;
/* 0x15C */ s16 unk_15C; // set and not used
/* 0x15E */ u16 cueType;
- /* 0x160 */ f32 unk_160;
+ /* 0x160 */ f32 opacity;
/* 0x164 */ BgIknvDoukutuActionFunc actionFunc;
} BgIknvDoukutu;// size = 0x168
diff --git a/tools/disasm/n64-jp-1.1/functions.txt b/tools/disasm/n64-jp-1.1/functions.txt
index e9908c1ca..4fe963acf 100644
--- a/tools/disasm/n64-jp-1.1/functions.txt
+++ b/tools/disasm/n64-jp-1.1/functions.txt
@@ -15844,18 +15844,18 @@ EnScRuppe_Update = 0x80BD9B1C; // type:func size:0x3C
EnScRuppe_Draw = 0x80BD9B58; // type:func size:0xD8
BgIknvDoukutu_Init = 0x80BD9D50; // type:func size:0x210
BgIknvDoukutu_Destroy = 0x80BD9F60; // type:func size:0x4C
-func_80BD716C = 0x80BD9FAC; // type:func size:0x50
-func_80BD71BC = 0x80BD9FFC; // type:func size:0x94
-func_80BD7250 = 0x80BDA090; // type:func size:0x6C
-func_80BD72BC = 0x80BDA0FC; // type:func size:0xA4
-func_80BD7360 = 0x80BDA1A0; // type:func size:0x70
-func_80BD73D0 = 0x80BDA210; // type:func size:0x10
+BgIknvDoukutu_Cleanse = 0x80BD9FAC; // type:func size:0x50
+BgIknvDoukutu_Cursed = 0x80BD9FFC; // type:func size:0x94
+BgIknvDoukutu_FillSpring = 0x80BDA090; // type:func size:0x6C
+BgIknvDoukutu_FadeInWater = 0x80BDA0FC; // type:func size:0xA4
+BgIknvDoukutu_Dry = 0x80BDA1A0; // type:func size:0x70
+BgIknvDoukutu_DoNothing = 0x80BDA210; // type:func size:0x10
BgIknvDoukutu_Update = 0x80BDA220; // type:func size:0x24
BgIknvDoukutu_Draw = 0x80BDA244; // type:func size:0x134
-func_80BD7538 = 0x80BDA378; // type:func size:0x230
-func_80BD7768 = 0x80BDA5A8; // type:func size:0xB8
-func_80BD7820 = 0x80BDA660; // type:func size:0xA4
-func_80BD78C4 = 0x80BDA704; // type:func size:0xFC
+BgIknvDoukutu_DrawCleansing = 0x80BDA378; // type:func size:0x230
+BgIknvDoukutu_DrawPurified = 0x80BDA5A8; // type:func size:0xB8
+BgIknvDoukutu_DrawStream = 0x80BDA660; // type:func size:0xA4
+BgIknvDoukutu_DrawSpringWater = 0x80BDA704; // type:func size:0xFC
BgIknvObj_Init = 0x80BDA8F0; // type:func size:0x1CC
BgIknvObj_Destroy = 0x80BDAABC; // type:func size:0x70
func_80BD7CEC = 0x80BDAB2C; // type:func size:0x80
diff --git a/tools/disasm/n64-us/functions.txt b/tools/disasm/n64-us/functions.txt
index ad9851ade..339c391e6 100644
--- a/tools/disasm/n64-us/functions.txt
+++ b/tools/disasm/n64-us/functions.txt
@@ -15854,18 +15854,18 @@ EnScRuppe_Update = 0x80BD6CDC; // type:func
EnScRuppe_Draw = 0x80BD6D18; // type:func
BgIknvDoukutu_Init = 0x80BD6F10; // type:func
BgIknvDoukutu_Destroy = 0x80BD7120; // type:func
-func_80BD716C = 0x80BD716C; // type:func
-func_80BD71BC = 0x80BD71BC; // type:func
-func_80BD7250 = 0x80BD7250; // type:func
-func_80BD72BC = 0x80BD72BC; // type:func
-func_80BD7360 = 0x80BD7360; // type:func
-func_80BD73D0 = 0x80BD73D0; // type:func
+BgIknvDoukutu_Cleanse = 0x80BD716C; // type:func
+BgIknvDoukutu_Cursed = 0x80BD71BC; // type:func
+BgIknvDoukutu_FillSpring = 0x80BD7250; // type:func
+BgIknvDoukutu_FadeInWater = 0x80BD72BC; // type:func
+BgIknvDoukutu_Dry = 0x80BD7360; // type:func
+BgIknvDoukutu_DoNothing = 0x80BD73D0; // type:func
BgIknvDoukutu_Update = 0x80BD73E0; // type:func
BgIknvDoukutu_Draw = 0x80BD7404; // type:func
-func_80BD7538 = 0x80BD7538; // type:func
-func_80BD7768 = 0x80BD7768; // type:func
-func_80BD7820 = 0x80BD7820; // type:func
-func_80BD78C4 = 0x80BD78C4; // type:func
+BgIknvDoukutu_DrawCleansing = 0x80BD7538; // type:func
+BgIknvDoukutu_DrawPurified = 0x80BD7768; // type:func
+BgIknvDoukutu_DrawStream = 0x80BD7820; // type:func
+BgIknvDoukutu_DrawSpringWater = 0x80BD78C4; // type:func
BgIknvObj_Init = 0x80BD7AB0; // type:func
BgIknvObj_Destroy = 0x80BD7C7C; // type:func
func_80BD7CEC = 0x80BD7CEC; // type:func