mirror of https://github.com/zeldaret/mm.git
ovl_En_Slime & object_slime OK and documented (#1175)
* decomped init, draw * started slime * finished func decomp en_slime * object_slime and en_slime updates * updated a few names * finished up some naming * en_slime and object_slime OK and documented * slime xml cleanup * Code cleanup round 1 * Cleanup 1 - missed a note * Fixed improper use of bgcheck flags * Some cleanup * Namefix, name cleanup * Function name cleanup, misc cleanup * More name cleanup (pre-merge) * Update color filter flag constants * Tidying --------- Co-authored-by: Blythe Hospelhorn <35576053+bhospelhorn@users.noreply.github.com>
This commit is contained in:
parent
4faad208c6
commit
255c4599bf
|
|
@ -1,14 +1,17 @@
|
|||
<Root>
|
||||
<!-- Object file for Chuchus -->
|
||||
<File Name="object_slime" Segment="6">
|
||||
<DList Name="object_slime_DL_0004C0" Offset="0x4C0" />
|
||||
<DList Name="object_slime_DL_000650" Offset="0x650" />
|
||||
<TextureAnimation Name="object_slime_Matanimheader_000828" Offset="0x828" />
|
||||
<DList Name="object_slime_DL_000A10" Offset="0xA10" />
|
||||
<DList Name="object_slime_DL_000B68" Offset="0xB68" />
|
||||
<Texture Name="object_slime_Tex_000B70" OutName="tex_000B70" Format="rgba16" Width="16" Height="16" Offset="0xB70" />
|
||||
<Texture Name="object_slime_Tex_000D70" OutName="tex_000D70" Format="rgba16" Width="16" Height="16" Offset="0xD70" />
|
||||
<!-- <Blob Name="object_slime_Blob_000F70" Size="0x300" Offset="0xF70" /> -->
|
||||
<Texture Name="object_slime_Tex_001270" OutName="tex_001270" Format="i4" Width="32" Height="32" Offset="0x1270" />
|
||||
<Texture Name="object_slime_Tex_001470" OutName="tex_001470" Format="i4" Width="64" Height="64" Offset="0x1470" />
|
||||
<DList Name="gChuchuBodyDL" Offset="0x4C0" />
|
||||
<DList Name="gChuchuEyesDL" Offset="0x650" />
|
||||
<TextureAnimation Name="gChuchuSlimeFlowTexAnim" Offset="0x828" />
|
||||
<DList Name="gChuchuPuddleDL" Offset="0xA10" />
|
||||
<DList Name="gChuchuEmptyDL" Offset="0xB68" />
|
||||
<Texture Name="gChuchuMouthTex" OutName="chuchu_mouth" Format="rgba16" Width="16" Height="16" Offset="0xB70" />
|
||||
<Texture Name="gChuchuEyeSocketTex" OutName="chuchu_eye_socket" Format="rgba16" Width="16" Height="16" Offset="0xD70" />
|
||||
<Texture Name="gChuchuEyeOpenTex" OutName="chuchu_eye_open" Format="rgba16" Width="16" Height="8" Offset="0xF70" />
|
||||
<Texture Name="gChuchuEyeHalfTex" OutName="chuchu_eye_half" Format="rgba16" Width="16" Height="8" Offset="0x1070" />
|
||||
<Texture Name="gChuchuEyeClosedTex" OutName="chuchu_eye_closed" Format="rgba16" Width="16" Height="8" Offset="0x1170" />
|
||||
<Texture Name="gChuchuSlimeFlowTex" OutName="chuchu_slime_flow" Format="i4" Width="32" Height="32" Offset="0x1270" />
|
||||
<Texture Name="gChuchuSlimeBaseTex" OutName="chuchu_slime_base" Format="i4" Width="64" Height="64" Offset="0x1470" />
|
||||
</File>
|
||||
</Root>
|
||||
|
|
|
|||
4
spec
4
spec
|
|
@ -2558,9 +2558,7 @@ beginseg
|
|||
name "ovl_En_Slime"
|
||||
compress
|
||||
include "build/src/overlays/actors/ovl_En_Slime/z_en_slime.o"
|
||||
include "build/data/ovl_En_Slime/ovl_En_Slime.data.o"
|
||||
include "build/data/ovl_En_Slime/ovl_En_Slime.bss.o"
|
||||
include "build/data/ovl_En_Slime/ovl_En_Slime.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Slime/ovl_En_Slime_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -2,6 +2,13 @@
|
|||
#define Z_EN_SLIME_H
|
||||
|
||||
#include "global.h"
|
||||
#include "objects/object_slime/object_slime.h"
|
||||
#include "objects/gameplay_keep/gameplay_keep.h"
|
||||
|
||||
#define EN_SLIME_LIMBPOS_COUNT 5
|
||||
|
||||
#define EN_SLIME_GET_TYPE(thisx) ((thisx)->params)
|
||||
#define EN_SLIME_GET_REVIVE_TIME(thisx) ((((thisx)->params) >> 8) & 0xFF)
|
||||
|
||||
struct EnSlime;
|
||||
|
||||
|
|
@ -10,7 +17,32 @@ typedef void (*EnSlimeActionFunc)(struct EnSlime*, PlayState*);
|
|||
typedef struct EnSlime {
|
||||
/* 0x000 */ Actor actor;
|
||||
/* 0x144 */ EnSlimeActionFunc actionFunc;
|
||||
/* 0x148 */ char unk_148[0xC0];
|
||||
/* 0x148 */ u8 iceBlockTimer;
|
||||
/* 0x149 */ u8 eyeTexIndex;
|
||||
/* 0x14A */ u8 drawDmgEffType;
|
||||
/* 0x14C */ s16 timer;
|
||||
/* 0x14E */ s16 idleRotY;
|
||||
/* 0x150 */ s16 reviveRotY;
|
||||
/* 0x152 */ s16 reviveTime;
|
||||
/* 0x154 */ union {
|
||||
Vec3f iceBlockSnapPos;
|
||||
Vec3f wobbleRot;
|
||||
};
|
||||
/* 0x160 */ TexturePtr itemDropTex;
|
||||
/* 0x164 */ f32 drawDmgEffAlpha;
|
||||
/* 0x168 */ f32 drawDmgEffScale;
|
||||
/* 0x16C */ f32 drawDmgEffFrozenSteamScale;
|
||||
/* 0x170 */ f32 distLimit;
|
||||
/* 0x174 */ Vec3f reviveScale;
|
||||
/* 0x180 */ Vec3f limbPos[EN_SLIME_LIMBPOS_COUNT];
|
||||
/* 0x1BC */ ColliderCylinder collider;
|
||||
} EnSlime; // size = 0x208
|
||||
|
||||
typedef enum EnSlimeType {
|
||||
/* 0 */ EN_SLIME_TYPE_BLUE,
|
||||
/* 1 */ EN_SLIME_TYPE_GREEN,
|
||||
/* 2 */ EN_SLIME_TYPE_YELLOW,
|
||||
/* 3 */ EN_SLIME_TYPE_RED,
|
||||
} EnSlimeType;
|
||||
|
||||
#endif // Z_EN_SLIME_H
|
||||
|
|
|
|||
|
|
@ -10126,43 +10126,43 @@
|
|||
0x80A2EBE8:("DmSa_Draw",),
|
||||
0x80A2EDA0:("EnSlime_Init",),
|
||||
0x80A2EF80:("EnSlime_Destroy",),
|
||||
0x80A2EFAC:("func_80A2EFAC",),
|
||||
0x80A2F028:("func_80A2F028",),
|
||||
0x80A2F0A8:("func_80A2F0A8",),
|
||||
0x80A2F110:("func_80A2F110",),
|
||||
0x80A2F140:("func_80A2F140",),
|
||||
0x80A2F180:("func_80A2F180",),
|
||||
0x80A2F1A4:("func_80A2F1A4",),
|
||||
0x80A2F354:("func_80A2F354",),
|
||||
0x80A2F418:("func_80A2F418",),
|
||||
0x80A2F684:("func_80A2F684",),
|
||||
0x80A2F6CC:("func_80A2F6CC",),
|
||||
0x80A2F8B4:("func_80A2F8B4",),
|
||||
0x80A2F8E0:("func_80A2F8E0",),
|
||||
0x80A2F9A0:("func_80A2F9A0",),
|
||||
0x80A2FA88:("func_80A2FA88",),
|
||||
0x80A2FB60:("func_80A2FB60",),
|
||||
0x80A2FBA0:("func_80A2FBA0",),
|
||||
0x80A2FD94:("func_80A2FD94",),
|
||||
0x80A2FE38:("func_80A2FE38",),
|
||||
0x80A30018:("func_80A30018",),
|
||||
0x80A30344:("func_80A30344",),
|
||||
0x80A30454:("func_80A30454",),
|
||||
0x80A304B8:("func_80A304B8",),
|
||||
0x80A3072C:("func_80A3072C",),
|
||||
0x80A30778:("func_80A30778",),
|
||||
0x80A30820:("func_80A30820",),
|
||||
0x80A30924:("func_80A30924",),
|
||||
0x80A30944:("func_80A30944",),
|
||||
0x80A309C8:("func_80A309C8",),
|
||||
0x80A30A20:("func_80A30A20",),
|
||||
0x80A30A90:("func_80A30A90",),
|
||||
0x80A30AE4:("func_80A30AE4",),
|
||||
0x80A30BE0:("func_80A30BE0",),
|
||||
0x80A30C2C:("func_80A30C2C",),
|
||||
0x80A30C68:("func_80A30C68",),
|
||||
0x80A30CEC:("func_80A30CEC",),
|
||||
0x80A30F98:("func_80A30F98",),
|
||||
0x80A2EFAC:("EnSlime_Freeze",),
|
||||
0x80A2F028:("EnSlime_Thaw",),
|
||||
0x80A2F0A8:("EnSlime_Blink",),
|
||||
0x80A2F110:("EnSlime_SetupInitializeIdle",),
|
||||
0x80A2F140:("EnSlime_InitializeIdle",),
|
||||
0x80A2F180:("EnSlime_SetupIdle",),
|
||||
0x80A2F1A4:("EnSlime_Idle",),
|
||||
0x80A2F354:("EnSlime_SetupMoveInDirection",),
|
||||
0x80A2F418:("EnSlime_MoveInDirection",),
|
||||
0x80A2F684:("EnSlime_SetupMoveToHome",),
|
||||
0x80A2F6CC:("EnSlime_MoveToHome",),
|
||||
0x80A2F8B4:("EnSlime_SetupTurnToPlayer",),
|
||||
0x80A2F8E0:("EnSlime_TurnToPlayer",),
|
||||
0x80A2F9A0:("EnSlime_SetupJump",),
|
||||
0x80A2FA88:("EnSlime_Jump",),
|
||||
0x80A2FB60:("EnSlime_SetupLand",),
|
||||
0x80A2FBA0:("EnSlime_Land",),
|
||||
0x80A2FD94:("EnSlime_SetupReactToBluntHit",),
|
||||
0x80A2FE38:("EnSlime_ReactToBluntHit",),
|
||||
0x80A30018:("EnSlime_SetupDamaged",),
|
||||
0x80A30344:("EnSlime_Damaged",),
|
||||
0x80A30454:("EnSlime_SetupDead",),
|
||||
0x80A304B8:("EnSlime_Dead",),
|
||||
0x80A3072C:("EnSlime_SnapIceBlockPosition",),
|
||||
0x80A30778:("EnSlime_SetupSpawnIceBlock",),
|
||||
0x80A30820:("EnSlime_SpawnIceBlock",),
|
||||
0x80A30924:("EnSlime_SetupIceBlock",),
|
||||
0x80A30944:("EnSlime_IceBlock",),
|
||||
0x80A309C8:("EnSlime_SetupStun",),
|
||||
0x80A30A20:("EnSlime_Stun",),
|
||||
0x80A30A90:("EnSlime_SetupIceBlockThaw",),
|
||||
0x80A30AE4:("EnSlime_IceBlockThaw",),
|
||||
0x80A30BE0:("EnSlime_SetupWaitForRevive",),
|
||||
0x80A30C2C:("EnSlime_WaitForRevive",),
|
||||
0x80A30C68:("EnSlime_SetupRevive",),
|
||||
0x80A30CEC:("EnSlime_Revive",),
|
||||
0x80A30F98:("EnSlime_UpdateDamage",),
|
||||
0x80A311E8:("EnSlime_Update",),
|
||||
0x80A3148C:("EnSlime_Draw",),
|
||||
0x80A32210:("EnPr_Init",),
|
||||
|
|
|
|||
|
|
@ -11152,19 +11152,19 @@
|
|||
0x80A2ECE0:("Dm_Sa_InitVars","UNK_TYPE1","",0x1),
|
||||
0x80A2ED00:("sAnimationInfo","UNK_TYPE1","",0x1),
|
||||
0x80A2ED20:("D_80A2ED20","f32","",0x4),
|
||||
0x80A31AD0:("En_Slime_InitVars","UNK_TYPE1","",0x1),
|
||||
0x80A31AF0:("D_80A31AF0","UNK_TYPE1","",0x1),
|
||||
0x80A31B1C:("D_80A31B1C","UNK_TYPE1","",0x1),
|
||||
0x80A31B3C:("D_80A31B3C","UNK_TYPE1","",0x1),
|
||||
0x80A31B44:("D_80A31B44","UNK_TYPE4","",0x4),
|
||||
0x80A31B54:("D_80A31B54","UNK_TYPE1","",0x1),
|
||||
0x80A31B5C:("D_80A31B5C","UNK_TYPE4","",0x4),
|
||||
0x80A31B60:("D_80A31B60","UNK_TYPE1","",0x1),
|
||||
0x80A31B64:("D_80A31B64","UNK_TYPE1","",0x1),
|
||||
0x80A31B68:("D_80A31B68","UNK_TYPE1","",0x1),
|
||||
0x80A31B74:("D_80A31B74","UNK_TYPE1","",0x1),
|
||||
0x80A31B84:("D_80A31B84","UNK_TYPE1","",0x1),
|
||||
0x80A31B94:("D_80A31B94","UNK_TYPE1","",0x1),
|
||||
0x80A31AD0:("En_Slime_InitVars","ActorInit","",0x1),
|
||||
0x80A31AF0:("sCylinderInit","ColliderCylinderInit","",0x1),
|
||||
0x80A31B1C:("sDamageTable","DamageTable","",0x1),
|
||||
0x80A31B3C:("sColChkInfoInit","CollisionCheckInfoInit","",0x1),
|
||||
0x80A31B44:("sEyeTextures","TexturePtr","",0x4),
|
||||
0x80A31B54:("sInitChain","InitChainEntry","",0x1),
|
||||
0x80A31B5C:("sTexturesDesegmented","s32","",0x1),
|
||||
0x80A31B60:("sBubblePrimColor","Color_RGBA8","",0x1),
|
||||
0x80A31B64:("sBubbleEnvColor","Color_RGBA8","",0x1),
|
||||
0x80A31B68:("sBubbleAccel","Vec3f","",0x1),
|
||||
0x80A31B74:("sPrimColors","Color_RGBA8","",0x4),
|
||||
0x80A31B84:("sEnvColors","Color_RGBA8","",0x4),
|
||||
0x80A31B94:("sLimbPosOffsets","Vec3f","",0x5),
|
||||
0x80A31BD0:("D_80A31BD0","f32","",0x4),
|
||||
0x80A31BD4:("D_80A31BD4","f32","",0x4),
|
||||
0x80A31BD8:("D_80A31BD8","f32","",0x4),
|
||||
|
|
@ -11249,7 +11249,7 @@
|
|||
0x80A31D14:("D_80A31D14","f32","",0x4),
|
||||
0x80A31D18:("D_80A31D18","f32","",0x4),
|
||||
0x80A31D1C:("D_80A31D1C","f32","",0x4),
|
||||
0x80A32200:("D_80A32200","UNK_TYPE1","",0x1),
|
||||
0x80A32200:("sSlimeTexAnim","AnimatedMaterial*","",0x1),
|
||||
0x80A338A0:("D_80A338A0","UNK_TYPE1","",0x1),
|
||||
0x80A338C0:("D_80A338C0","UNK_TYPE1","",0x1),
|
||||
0x80A338D4:("En_Pr_InitVars","UNK_TYPE1","",0x1),
|
||||
|
|
|
|||
Loading…
Reference in New Issue