EnNeoReeba OK and documented, object_rb mostly doc'd (#750)

* match some functions

* finish decompiling

* mostly document except some dmgeffs

* Document object_rb

* update functions.txt, damagetable

* remove number comments

* suggestions

* format and fix enum names

* comment object_rb.xml
This commit is contained in:
LtPeriwinkle
2022-03-29 19:12:35 +01:00
committed by GitHub
parent 941f3e6949
commit afec1c56a6
5 changed files with 768 additions and 140 deletions
+38 -29
View File
@@ -1,44 +1,53 @@
<Root>
<!-- Object for Leevers -->
<File Name="object_rb" Segment="6">
<Animation Name="object_rb_Anim_0001E4" Offset="0x1E4" />
<DList Name="object_rb_DL_000200" Offset="0x200" />
<DList Name="object_rb_DL_0002D0" Offset="0x2D0" />
<DList Name="object_rb_DL_0002E0" Offset="0x2E0" />
<DList Name="object_rb_DL_000430" Offset="0x430" />
<DList Name="object_rb_DL_000570" Offset="0x570" />
<DList Name="object_rb_DL_000580" Offset="0x580" />
<DList Name="object_rb_DL_000760" Offset="0x760" />
<DList Name="object_rb_DL_0007F8" Offset="0x7F8" />
<DList Name="object_rb_DL_000808" Offset="0x808" />
<DList Name="object_rb_DL_0008B8" Offset="0x8B8" />
<DList Name="object_rb_DL_000950" Offset="0x950" />
<DList Name="object_rb_DL_000960" Offset="0x960" />
<DList Name="object_rb_DL_000A10" Offset="0xA10" />
<DList Name="object_rb_DL_000AB0" Offset="0xAB0" />
<DList Name="object_rb_DL_000AC0" Offset="0xAC0" />
<DList Name="object_rb_DL_000B80" Offset="0xB80" />
<DList Name="object_rb_DL_000C18" Offset="0xC18" />
<DList Name="object_rb_DL_000C28" Offset="0xC28" />
<Texture Name="object_rb_Tex_000CD8" OutName="tex_000CD8" Format="rgba16" Width="8" Height="16" Offset="0xCD8" />
<Texture Name="object_rb_Tex_000DD8" OutName="tex_000DD8" Format="rgba16" Width="32" Height="32" Offset="0xDD8" />
<Texture Name="object_rb_Tex_0015D8" OutName="tex_0015D8" Format="rgba16" Width="32" Height="32" Offset="0x15D8" />
<Animation Name="gLeeverSpinAnim" Offset="0x1E4" />
<!-- DLs for visible limbs -->
<DList Name="gLeeverBottomHalfDL" Offset="0x200" />
<DList Name="gLeeverBottomHalfWrapper2DL" Offset="0x2D0" />
<DList Name="gLeeverBottomHalfWrapper1DL" Offset="0x2E0" />
<DList Name="gLeeverTopHalfDL" Offset="0x430" />
<DList Name="gLeeverTopHalfWrapper2DL" Offset="0x570" />
<DList Name="gLeeverTopHalfWrapper1DL" Offset="0x580" />
<DList Name="gLeeverSpike1DL" Offset="0x760" />
<DList Name="gLeeverSpike1Wrapper2DL" Offset="0x7F8" />
<DList Name="gLeeverSpike1Wrapper1DL" Offset="0x808" />
<DList Name="gLeeverSpike2DL" Offset="0x8B8" />
<DList Name="gLeeverSpike2Wrapper2DL" Offset="0x950" />
<DList Name="gLeeverSpike2Wrapper1DL" Offset="0x960" />
<DList Name="gLeeverSpike3DL" Offset="0xA10" />
<DList Name="gLeeverSpike3Wrapper2DL" Offset="0xAB0" />
<DList Name="gLeeverSpike3Wrapper1DL" Offset="0xAC0" />
<DList Name="gLeeverSpike4DL" Offset="0xB80" />
<DList Name="gLeeverSpike4Wrapper2DL" Offset="0xC18" />
<DList Name="gLeeverSpike4Wrapper1DL" Offset="0xC28" />
<Texture Name="gLeeverSpikeTex" OutName="spike" Format="rgba16" Width="8" Height="16" Offset="0xCD8" />
<Texture Name="gLeeverSideTex" OutName="side" Format="rgba16" Width="32" Height="32" Offset="0xDD8" />
<Texture Name="gLeeverFlowerTex" OutName="flower" Format="rgba16" Width="32" Height="32" Offset="0x15D8" />
<!-- Visible limbs -->
<Limb Name="gLeeverTopHalfLimb" Type="Standard" EnumName="LEEVER_LIMB_TOP_HALF" Offset="0x1DFC" />
<Limb Name="gLeeverSpike1Limb" Type="Standard" EnumName="LEEVER_LIMB_SPIKE_1" Offset="0x1E20" />
<Limb Name="gLeeverSpike2Limb" Type="Standard" EnumName="LEEVER_LIMB_SPIKE_2" Offset="0x1E44" />
<Limb Name="gLeeverSpike3Limb" Type="Standard" EnumName="LEEVER_LIMB_SPIKE_3" Offset="0x1E68" />
<Limb Name="gLeeverSpike4Limb" Type="Standard" EnumName="LEEVER_LIMB_SPIKE_4" Offset="0x1E8C" />
<Limb Name="gLeeverBottomHalfLimb" Type="Standard" EnumName="LEEVER_LIMB_BOTTOM_HALF" Offset="0x1E98" />
<!-- Invisible limbs -->
<Limb Name="object_rb_Standardlimb_001DD8" Type="Standard" EnumName="OBJECT_RB_LIMB_01" Offset="0x1DD8" />
<Limb Name="object_rb_Standardlimb_001DE4" Type="Standard" EnumName="OBJECT_RB_LIMB_02" Offset="0x1DE4" />
<Limb Name="object_rb_Standardlimb_001DF0" Type="Standard" EnumName="OBJECT_RB_LIMB_03" Offset="0x1DF0" />
<Limb Name="object_rb_Standardlimb_001DFC" Type="Standard" EnumName="OBJECT_RB_LIMB_04" Offset="0x1DFC" />
<Limb Name="object_rb_Standardlimb_001E08" Type="Standard" EnumName="OBJECT_RB_LIMB_05" Offset="0x1E08" />
<Limb Name="object_rb_Standardlimb_001E14" Type="Standard" EnumName="OBJECT_RB_LIMB_06" Offset="0x1E14" />
<Limb Name="object_rb_Standardlimb_001E20" Type="Standard" EnumName="OBJECT_RB_LIMB_07" Offset="0x1E20" />
<Limb Name="object_rb_Standardlimb_001E2C" Type="Standard" EnumName="OBJECT_RB_LIMB_08" Offset="0x1E2C" />
<Limb Name="object_rb_Standardlimb_001E38" Type="Standard" EnumName="OBJECT_RB_LIMB_09" Offset="0x1E38" />
<Limb Name="object_rb_Standardlimb_001E44" Type="Standard" EnumName="OBJECT_RB_LIMB_0A" Offset="0x1E44" />
<Limb Name="object_rb_Standardlimb_001E50" Type="Standard" EnumName="OBJECT_RB_LIMB_0B" Offset="0x1E50" />
<Limb Name="object_rb_Standardlimb_001E5C" Type="Standard" EnumName="OBJECT_RB_LIMB_0C" Offset="0x1E5C" />
<Limb Name="object_rb_Standardlimb_001E68" Type="Standard" EnumName="OBJECT_RB_LIMB_0D" Offset="0x1E68" />
<Limb Name="object_rb_Standardlimb_001E74" Type="Standard" EnumName="OBJECT_RB_LIMB_0E" Offset="0x1E74" />
<Limb Name="object_rb_Standardlimb_001E80" Type="Standard" EnumName="OBJECT_RB_LIMB_0F" Offset="0x1E80" />
<Limb Name="object_rb_Standardlimb_001E8C" Type="Standard" EnumName="OBJECT_RB_LIMB_10" Offset="0x1E8C" />
<Limb Name="object_rb_Standardlimb_001E98" Type="Standard" EnumName="OBJECT_RB_LIMB_11" Offset="0x1E98" />
<Skeleton Name="object_rb_Skel_001EE8" Type="Normal" LimbType="Standard" LimbNone="OBJECT_RB_LIMB_NONE" LimbMax="OBJECT_RB_LIMB_MAX" EnumName="object_rb_Limbs" Offset="0x1EE8" />
<Skeleton Name="gLeeverSkel" Type="Normal" LimbType="Standard" LimbNone="LEEVER_LIMB_NONE" LimbMax="LEEVER_LIMB_MAX" EnumName="LeeverLimbs" Offset="0x1EE8" />
</File>
</Root>
+1 -2
View File
@@ -4188,8 +4188,7 @@ beginseg
name "ovl_En_Neo_Reeba"
compress
include "build/src/overlays/actors/ovl_En_Neo_Reeba/z_en_neo_reeba.o"
include "build/data/ovl_En_Neo_Reeba/ovl_En_Neo_Reeba.data.o"
include "build/data/ovl_En_Neo_Reeba/ovl_En_Neo_Reeba.reloc.o"
include "build/src/overlays/actors/ovl_En_Neo_Reeba/ovl_En_Neo_Reeba_reloc.o"
endseg
beginseg
File diff suppressed because it is too large Load Diff
@@ -2,16 +2,33 @@
#define Z_EN_NEO_REEBA_H
#include "global.h"
#include "objects/object_rb/object_rb.h"
#define EN_NEO_REEBA_IS_LARGE(thisx) ((thisx)->params & 0x8000)
struct EnNeoReeba;
typedef void (*EnNeoReebaActionFunc)(struct EnNeoReeba*, GlobalContext*);
typedef struct EnNeoReeba {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x168];
/* 0x02AC */ EnNeoReebaActionFunc actionFunc;
/* 0x02B0 */ char unk_2B0[0x64];
/* 0x000 */ Actor actor;
/* 0x144 */ SkelAnime skelAnime;
/* 0x188 */ ColliderCylinder collider;
/* 0x1D4 */ Vec3s jointTable[LEEVER_LIMB_MAX];
/* 0x240 */ Vec3s morphTable[LEEVER_LIMB_MAX];
/* 0x2AC */ EnNeoReebaActionFunc actionFunc;
/* 0x2B0 */ Vec3f targetPos;
/* 0x2BC */ Vec3f velToTarget;
/* 0x2C8 */ Vec3f limbPos[4];
/* 0x2F8 */ f32 sinkRiseRate;
/* 0x2FC */ f32 rotationSpeed;
/* 0x300 */ f32 drawEffectAlpha;
/* 0x304 */ f32 drawEffectScale;
/* 0x308 */ s16 rotationAngle;
/* 0x30A */ s16 actionTimer;
/* 0x30C */ s16 sfxTimer;
/* 0x30E */ s16 stunTimer;
/* 0x310 */ u8 drawEffectType;
} EnNeoReeba; // size = 0x314
extern const ActorInit En_Neo_Reeba_InitVars;
+29 -29
View File
@@ -14517,36 +14517,36 @@
0x80B7C03C:("ObjUm_Draw",),
0x80B7C890:("EnNeoReeba_Init",),
0x80B7CA08:("EnNeoReeba_Destroy",),
0x80B7CA34:("func_80B7CA34",),
0x80B7CA70:("func_80B7CA70",),
0x80B7CB3C:("func_80B7CB3C",),
0x80B7CB88:("func_80B7CB88",),
0x80B7CCE0:("func_80B7CCE0",),
0x80B7CD28:("func_80B7CD28",),
0x80B7CE34:("func_80B7CE34",),
0x80B7CE94:("func_80B7CE94",),
0x80B7CFA0:("func_80B7CFA0",),
0x80B7CFFC:("func_80B7CFFC",),
0x80B7D130:("func_80B7D130",),
0x80B7D150:("func_80B7D150",),
0x80B7D254:("func_80B7D254",),
0x80B7D2E4:("func_80B7D2E4",),
0x80B7D360:("func_80B7D360",),
0x80B7D398:("func_80B7D398",),
0x80B7D3EC:("func_80B7D3EC",),
0x80B7D47C:("func_80B7D47C",),
0x80B7D4FC:("func_80B7D4FC",),
0x80B7D5A4:("func_80B7D5A4",),
0x80B7D6D0:("func_80B7D6D0",),
0x80B7D788:("func_80B7D788",),
0x80B7D9B8:("func_80B7D9B8",),
0x80B7DC80:("func_80B7DC80",),
0x80B7DD7C:("func_80B7DD7C",),
0x80B7DF34:("func_80B7DF34",),
0x80B7E0BC:("func_80B7E0BC",),
0x80B7E260:("func_80B7E260",),
0x80B7CA34:("EnNeoReeba_SetupWaitUnderground",),
0x80B7CA70:("EnNeoReeba_WaitUnderground",),
0x80B7CB3C:("EnNeoReeba_SetupChooseAction",),
0x80B7CB88:("EnNeoReeba_ChooseAction",),
0x80B7CCE0:("EnNeoReeba_SetupSink",),
0x80B7CD28:("EnNeoReeba_Sink",),
0x80B7CE34:("EnNeoReeba_SetupRise",),
0x80B7CE94:("EnNeoReeba_RiseOutOfGround",),
0x80B7CFA0:("EnNeoReeba_SetupMove",),
0x80B7CFFC:("EnNeoReeba_Move",),
0x80B7D130:("EnNeoReeba_SetupReturnHome",),
0x80B7D150:("EnNeoReeba_ReturnHome",),
0x80B7D254:("EnNeoReeba_SetupBounce",),
0x80B7D2E4:("EnNeoReeba_Bounce",),
0x80B7D360:("EnNeoReeba_SetupStun",),
0x80B7D398:("EnNeoReeba_Stunned",),
0x80B7D3EC:("EnNeoReeba_SetupFrozen",),
0x80B7D47C:("EnNeoReeba_Frozen",),
0x80B7D4FC:("EnNeoReeba_SetupDamageAnim",),
0x80B7D5A4:("EnNeoReeba_DamageAnim",),
0x80B7D6D0:("EnNeoReeba_SetupDeathEffects",),
0x80B7D788:("EnNeoReeba_PlayDeathEffects",),
0x80B7D9B8:("EnNeoReeba_HandleHit",),
0x80B7DC80:("EnNeoReeba_UpdatePosition",),
0x80B7DD7C:("EnNeoReeba_DrawFrozenEffects",),
0x80B7DF34:("EnNeoReeba_DrawEffects",),
0x80B7E0BC:("EnNeoReeba_SpawnIce",),
0x80B7E260:("EnNeoReeba_SinkIfStoneMask",),
0x80B7E2C4:("EnNeoReeba_Update",),
0x80B7E378:("func_80B7E378",),
0x80B7E378:("EnNeoReeba_OverrideLimbDraw",),
0x80B7E424:("EnNeoReeba_Draw",),
0x80B7E930:("BgMbarChair_Init",),
0x80B7E980:("BgMbarChair_Destroy",),