En_Bom_Chu (Bombchu) OK and documented (#679)

* EnBomChu_Init OK

* EnBomChu_Destroy OK

* func_808F7868 OK

* func_808F79D4 OK

* func_808F7E74 OK

* func_808F7FA0 OK

* func_808F77E4 OK

* func_808F75D0 OK

* func_808F7944 OK

* func_808F7A84 OK

* func_808F818C OK

* func_808F8080 OK

* func_808F7FD0 OK

* EnBomChu_Update OK

* EnBomChu_Draw OK

* Drop unnecessary cast in Update

* Import data into C

* Object symbol

* Use generated reloc

* Port over OoT struct var names

* Name all statics

* Misc cleanup

* Name some of the new struct vars introduced in MM

* Port over most OoT function names

* Name movingSpeed based on in-game observation

* Name final param in EnBomChu_SpawnRipplesAndSplashes

* More cleanup and OOT port

* Some more names

* More docs

* Name last function

* Final little cleanup

* First round of review fixes

* Change the name of that one function

* More precise comment
This commit is contained in:
Tom Overton
2022-03-24 23:07:59 -03:00
committed by GitHub
parent 5684b342b6
commit d5e692d0e1
5 changed files with 552 additions and 47 deletions
+5 -2
View File
@@ -838,8 +838,11 @@
<DList Name="gameplay_keep_DL_015DB0" Offset="0x15DB0" />
<Texture Name="gameplay_keep_Tex_015E40" OutName="tex_015E40" Format="rgba16" Width="8" Height="8" Offset="0x15E40" />
<DList Name="gameplay_keep_DL_015FA0" Offset="0x15FA0" />
<Texture Name="gameplay_keep_Tex_016060" OutName="tex_016060" Format="rgba16" Width="8" Height="8" Offset="0x16060" />
<DList Name="gameplay_keep_DL_016360" Offset="0x16360" />
<!-- Bombchu -->
<Texture Name="gBombchuBodyTex" OutName="bombchu_body" Format="rgba16" Width="8" Height="8" Offset="0x16060" />
<DList Name="gBombchuDL" Offset="0x16360" />
<Texture Name="gameplay_keep_Tex_0164D0" OutName="tex_0164D0" Format="ia16" Width="32" Height="32" Offset="0x164D0" />
<Texture Name="gameplay_keep_Tex_016CD0" OutName="tex_016CD0" Format="ia16" Width="32" Height="32" Offset="0x16CD0" />
<Texture Name="gameplay_keep_Tex_0174D0" OutName="tex_0174D0" Format="ia16" Width="32" Height="32" Offset="0x174D0" />
+1 -2
View File
@@ -1285,8 +1285,7 @@ beginseg
name "ovl_En_Bom_Chu"
compress
include "build/src/overlays/actors/ovl_En_Bom_Chu/z_en_bom_chu.o"
include "build/data/ovl_En_Bom_Chu/ovl_En_Bom_Chu.data.o"
include "build/data/ovl_En_Bom_Chu/ovl_En_Bom_Chu.reloc.o"
include "build/src/overlays/actors/ovl_En_Bom_Chu/ovl_En_Bom_Chu_reloc.o"
endseg
beginseg
File diff suppressed because it is too large Load Diff
@@ -8,9 +8,21 @@ struct EnBomChu;
typedef void (*EnBomChuActionFunc)(struct EnBomChu*, GlobalContext*);
typedef struct EnBomChu {
/* 0x0000 */ Actor actor;
/* 0x0144 */ EnBomChuActionFunc actionFunc;
/* 0x0148 */ char unk_148[0x98];
/* 0x000 */ Actor actor;
/* 0x144 */ EnBomChuActionFunc actionFunc;
/* 0x148 */ u8 shouldTimerCountDown; // the actor always sets this to true
/* 0x149 */ u8 isMoving;
/* 0x14A */ s16 timer;
/* 0x14C */ Vec3f axisForwards;
/* 0x158 */ Vec3f axisUp;
/* 0x164 */ Vec3f axisLeft;
/* 0x170 */ f32 visualJitter;
/* 0x174 */ f32 unk_174; // set but never used
/* 0x178 */ UNK_TYPE1 unk_178[0x4];
/* 0x17C */ f32 movingSpeed;
/* 0x180 */ s32 blure1Index;
/* 0x184 */ s32 blure2Index;
/* 0x188 */ ColliderSphere collider;
} EnBomChu; // size = 0x1E0
extern const ActorInit En_Bom_Chu_InitVars;
+11 -11
View File
@@ -6749,17 +6749,17 @@
0x808F69B4:("EnIn_Draw",),
0x808F74B0:("EnBomChu_Init",),
0x808F7580:("EnBomChu_Destroy",),
0x808F75D0:("func_808F75D0",),
0x808F77E4:("func_808F77E4",),
0x808F7868:("func_808F7868",),
0x808F7944:("func_808F7944",),
0x808F79D4:("func_808F79D4",),
0x808F7A84:("func_808F7A84",),
0x808F7E74:("func_808F7E74",),
0x808F7FA0:("func_808F7FA0",),
0x808F7FD0:("func_808F7FD0",),
0x808F8080:("func_808F8080",),
0x808F818C:("func_808F818C",),
0x808F75D0:("EnBomChu_UpdateFloorPoly",),
0x808F77E4:("EnBomChu_UpdateRotation",),
0x808F7868:("EnBomChu_WaitForRelease",),
0x808F7944:("EnBomChu_IsOnCollisionPoly",),
0x808F79D4:("EnBomChu_SetupMove",),
0x808F7A84:("EnBomChu_Move",),
0x808F7E74:("EnBomChu_Explode",),
0x808F7FA0:("EnBomChu_WaitForDeath",),
0x808F7FD0:("EnBomChu_ActorCoordsToWorld",),
0x808F8080:("EnBomChu_SpawnRipplesAndSplashes",),
0x808F818C:("EnBomChu_HandleNonSceneCollision",),
0x808F83B8:("EnBomChu_Update",),
0x808F8714:("EnBomChu_Draw",),
0x808F8AA0:("func_808F8AA0",),