Add types for shell and triple shell parent (#190)

Match a function and refresh m2c output for functions that handle
 (triple) shells

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
Tyler McGavran
2022-05-05 00:49:11 -04:00
committed by GitHub
parent 6ed26d9786
commit d4a0f7ab8f
3 changed files with 604 additions and 614 deletions
+34
View File
@@ -28,6 +28,40 @@ struct piranha_plant {
/* 0x2A */ s16 unk2A;
};
struct triple_shell_parent {
/* 0x00 */ s16 type;
/* 0x02 */ s16 unk_02;
/* 0x04 */ s16 shellsAvailable;
/* 0x06 */ s16 state;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ s16 rotVelocity;
/* 0x12 */ s16 rotAngle;
/* 0x14 */ s16 playerId; // Id of the player that "owns" the shells
/* 0x16 */ s16 unk_16;
/* 0x18 */ Vec3f unk_18;
/* 0x24 */ Vec3f shellIndices; // Indices in D_8015F9B8 for the shells "owned" by this parent
/* 0x30 */ UnkActorInner unk30;
}; // size = 0x70
struct shell_actor {
/* 0x00 */ s16 type;
/* 0x02 */ s16 unk_02;
// Index in D_8015F9B8 for the parent actor of this shell
// Seems to pull double duty as a timer
/* 0x04 */ s16 parentIndex;
/* 0x06 */ s16 state;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ s16 rotVelocity; // Change in rotAngle on a per-update basis
/* 0x12 */ s16 rotAngle; // Angle of rotation around player (or parent?), not the rotation of the shell itself
/* 0x14 */ s16 playerId; // Id of the player that "owns" the shell
/* 0x16 */ s16 unk_16;
/* 0x18 */ Vec3f pos;
/* 0x24 */ Vec3f velocity; // All 0 until the shell is fired
/* 0x30 */ UnkActorInner unk30;
}; // size = 0x70
struct Actor {
/* 0x00 */ s16 unk0; // 0xC, 0xD, or 0x2B
#ifdef AVOID_UB