* En_Ssh

* ptrs

* PR
This commit is contained in:
Maide 2022-01-04 06:11:59 +00:00 committed by GitHub
parent 897e68fbae
commit bf6a4c04be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 932 additions and 134 deletions

View File

@ -11,9 +11,11 @@
<Texture Name="object_ssh_Tex_0017B0" OutName="tex_0017B0" Format="i8" Width="16" Height="16" Offset="0x17B0" />
<Texture Name="object_ssh_Tex_0018B0" OutName="tex_0018B0" Format="ci8" Width="8" Height="16" Offset="0x18B0" />
<Texture Name="object_ssh_Tex_001930" OutName="tex_001930" Format="ci8" Width="8" Height="8" Offset="0x1930" />
<!-- <Blob Name="object_ssh_Blob_001970" Size="0x400" Offset="0x1970" /> -->
<Texture Name="object_ssh_Tex_001970" OutName="tex_001970" Format="ci8" Width="32" Height="32" Offset="0x1970" />
<Texture Name="object_ssh_Tex_001D70" OutName="tex_001D70" Format="ci8" Width="8" Height="16" Offset="0x1D70" />
<!-- <Blob Name="object_ssh_Blob_001DF0" Size="0x800" Offset="0x1DF0" /> -->
<Texture Name="object_ssh_Tex_001DF0" OutName="tex_001DF0" Format="ci8" Width="32" Height="32" Offset="0x1DF0" />
<Texture Name="object_ssh_Tex_0021F0" OutName="tex_0021F0" Format="ci8" Width="32" Height="32" Offset="0x21F0" />
<Blob Name="object_ssh_Blob_0025F0" Size="0x2870" Offset="0x25F0" />
<DList Name="object_ssh_DL_004E60" Offset="0x4E60" />
<DList Name="object_ssh_DL_005210" Offset="0x5210" />
<DList Name="object_ssh_DL_0056A0" Offset="0x56A0" />

3
spec
View File

@ -1824,8 +1824,7 @@ beginseg
name "ovl_En_Ssh"
compress
include "build/src/overlays/actors/ovl_En_Ssh/z_en_ssh.o"
include "build/data/ovl_En_Ssh/ovl_En_Ssh.data.o"
include "build/data/ovl_En_Ssh/ovl_En_Ssh.reloc.o"
include "build/src/overlays/actors/ovl_En_Ssh/ovl_En_Ssh_reloc.o"
endseg
beginseg

File diff suppressed because it is too large Load Diff

View File

@ -7,11 +7,53 @@ struct EnSsh;
typedef void (*EnSshActionFunc)(struct EnSsh*, GlobalContext*);
#define SSH_STATE_STUNNED (1 << 0)
#define SSH_STATE_GROUND_START (1 << 2)
#define SSH_STATE_ATTACKED (1 << 3)
#define SSH_STATE_SPIN (1 << 4)
#define SSH_STATE_FATHER (1 << 5)
typedef enum {
SSH_ANIM_UNK0, // Unused animation. Possibly being knocked back?
SSH_ANIM_UP,
SSH_ANIM_WAIT,
SSH_ANIM_LAND,
SSH_ANIM_DROP,
SSH_ANIM_UNK5, // Slower version of ANIM_DROP
SSH_ANIM_UNK6 // Faster repeating version of ANIM_UNK0
} EnSshAnimation;
#define ENSSH_IS_CHILD(thisx) ((thisx)->params & 0xF)
typedef struct EnSsh {
/* 0x0000 */ Actor actor;
/* 0x0144 */ char unk_144[0x1AC];
/* 0x0144 */ SkelAnime skelAnime;
/* 0x0188 */ Vec3s jointTable[30];
/* 0x023C */ Vec3s morphtable[30];
/* 0x02F0 */ EnSshActionFunc actionFunc;
/* 0x02F4 */ char unk_2F4[0x2D8];
/* 0x02F4 */ ColliderCylinder collider1[6];
/* 0x04BC */ ColliderJntSph collider2;
/* 0x04DC */ ColliderJntSphElement collider2Elements[1];
/* 0x051C */ s16 initialYaw;
/* 0x051E */ s16 maxTurnRate;
/* 0x0520 */ s16 unkTimer;
/* 0x0522 */ s16 spinTimer;
/* 0x0524 */ s16 hitTimer;
/* 0x0526 */ s16 invincibilityTimer;
/* 0x0528 */ s16 sfxTimer;
/* 0x052A */ s16 stunTimer;
/* 0x052C */ s16 animTimer;
/* 0x052E */ s16 swayTimer;
/* 0x0530 */ s32 blureIdx;
/* 0x0534 */ f32 colliderScale;
/* 0x0538 */ f32 floorHeightOffset;
/* 0x053C */ Vec3f ceilingPos;
/* 0x0548 */ UNK_TYPE1 unk_548[0x78];
/* 0x05C0 */ s16 swayAngle;
/* 0x05C2 */ u16 stateFlags;
/* 0x05C4 */ u8 hitCount;
/* 0x05C6 */ s16 blinkState;
/* 0x05C8 */ s16 blinkTimer;
} EnSsh; // size = 0x5CC
extern const ActorInit En_Ssh_InitVars;

View File

@ -8077,51 +8077,51 @@
0x80973DE0:("func_80973DE0",),
0x80973E60:("ObjRoomtimer_Update",),
0x80973EF0:("EnSsh_SetupAction",),
0x80973EFC:("func_80973EFC",),
0x80973F84:("func_80973F84",),
0x80974080:("func_80974080",),
0x80974118:("func_80974118",),
0x80974220:("func_80974220",),
0x8097424C:("func_8097424C",),
0x80974374:("func_80974374",),
0x809744A8:("func_809744A8",),
0x809744C8:("func_809744C8",),
0x809744FC:("func_809744FC",),
0x80974540:("func_80974540",),
0x80974590:("func_80974590",),
0x809745BC:("func_809745BC",),
0x80974730:("func_80974730",),
0x8097480C:("func_8097480C",),
0x809748DC:("func_809748DC",),
0x8097497C:("func_8097497C",),
0x809749B8:("func_809749B8",),
0x80974A24:("func_80974A24",),
0x80974B0C:("func_80974B0C",),
0x80974B44:("func_80974B44",),
0x80974B84:("func_80974B84",),
0x80974CC8:("func_80974CC8",),
0x80974D3C:("func_80974D3C",),
0x80974E44:("func_80974E44",),
0x80974EA0:("func_80974EA0",),
0x80974F78:("func_80974F78",),
0x8097502C:("func_8097502C",),
0x80975070:("func_80975070",),
0x80975128:("func_80975128",),
0x80975300:("func_80975300",),
0x80973EFC:("EnSsh_SpawnShockwave",),
0x80973F84:("EnSsh_CreateBlureEffect",),
0x80974080:("EnSsh_CheckCeilingPos",),
0x80974118:("EnSsh_AddBlureVertex",),
0x80974220:("EnSsh_AddBlureSpace",),
0x8097424C:("EnSsh_InitColliders",),
0x80974374:("EnSsh_SetAnimation",),
0x809744A8:("EnSsh_SetWaitAnimation",),
0x809744C8:("EnSsh_SetReturnAnimation",),
0x809744FC:("EnSsh_SetLandAnimation",),
0x80974540:("EnSsh_SetDropAnimation",),
0x80974590:("EnSsh_SetStunned",),
0x809745BC:("EnSsh_SetColliderScale",),
0x80974730:("EnSsh_Damaged",),
0x8097480C:("EnSsh_Turn",),
0x809748DC:("EnSsh_Stunned",),
0x8097497C:("EnSsh_UpdateYaw",),
0x809749B8:("EnSsh_Bob",),
0x80974A24:("EnSsh_IsCloseToLink",),
0x80974B0C:("EnSsh_IsCloseToHome",),
0x80974B44:("EnSsh_IsCloseToGround",),
0x80974B84:("EnSsh_Sway",),
0x80974CC8:("EnSsh_CheckBodyStickHit",),
0x80974D3C:("EnSsh_CheckHitPlayer",),
0x80974E44:("EnSsh_CheckHitFront",),
0x80974EA0:("EnSsh_CheckHitBack",),
0x80974F78:("EnSsh_CollisionCheck",),
0x8097502C:("EnSsh_SetBodyCylinderAC",),
0x80975070:("EnSsh_SetLegsCylinderAC",),
0x80975128:("EnSsh_SetCylinderOC",),
0x80975300:("EnSsh_SetColliders",),
0x809753C8:("EnSsh_Init",),
0x80975540:("EnSsh_Destroy",),
0x809755C0:("func_809755C0",),
0x8097561C:("func_8097561C",),
0x809755C0:("EnSsh_Wait",),
0x8097561C:("EnSsh_Talk",),
0x809756D0:("func_809756D0",),
0x80975720:("func_80975720",),
0x809758B0:("func_809758B0",),
0x80975998:("func_80975998",),
0x80975A98:("func_80975A98",),
0x80975B6C:("func_80975B6C",),
0x80975C14:("func_80975C14",),
0x80975720:("EnSsh_Idle",),
0x809758B0:("EnSsh_Land",),
0x80975998:("EnSsh_Drop",),
0x80975A98:("EnSsh_Return",),
0x80975B6C:("EnSsh_UpdateColliderScale",),
0x80975C14:("EnSsh_Start",),
0x80975C9C:("EnSsh_Update",),
0x80975DBC:("func_80975DBC",),
0x80975EB8:("func_80975EB8",),
0x80975DBC:("EnSsh_OverrideLimbDraw",),
0x80975EB8:("EnSsh_PostLimbDraw",),
0x80975F38:("EnSsh_Draw",),
0x809764B0:("OceffWipe_Init",),
0x8097650C:("OceffWipe_Destroy",),

View File

@ -3393,13 +3393,7 @@ D_06011038 = 0x06011038;
// ovl_En_Ssh
D_060000D8 = 0x060000D8;
D_06000304 = 0x06000304;
D_06001494 = 0x06001494;
D_06005210 = 0x06005210;
D_06005850 = 0x06005850;
D_06005F78 = 0x06005F78;
D_06006470 = 0x06006470;
// ovl_En_Sth