mirror of https://github.com/zeldaret/mm.git
EnMnk OK and partially documented. handing off to the next ape enthusiast (#1277)
* EnMnk OK and partially documented. handing off to the next ape enthusiast * run format.py * fix trailing comma warning * Monkey PR Review (#1) * PR Review * a little more * oops * Reordering Monkey, anim * cleanup, typos * More PR Suggestions * namefixer * fix master * limbIndex * PR Review --------- Co-authored-by: gamestabled <gamestabled@gmail.com> Co-authored-by: engineer124 <47598039+engineer124@users.noreply.github.com> Co-authored-by: engineer124 <engineer124engineer124@gmail.com>
This commit is contained in:
parent
656fd08ee8
commit
a6a94e543c
|
@ -23,7 +23,7 @@
|
||||||
<Limb Name="object_mnk_Standardlimb_00511C" Type="Standard" EnumName="OBJECT_MNK_1_LIMB_02" Offset="0x511C" />
|
<Limb Name="object_mnk_Standardlimb_00511C" Type="Standard" EnumName="OBJECT_MNK_1_LIMB_02" Offset="0x511C" />
|
||||||
<Limb Name="object_mnk_Standardlimb_005128" Type="Standard" EnumName="OBJECT_MNK_1_LIMB_03" Offset="0x5128" />
|
<Limb Name="object_mnk_Standardlimb_005128" Type="Standard" EnumName="OBJECT_MNK_1_LIMB_03" Offset="0x5128" />
|
||||||
<Limb Name="object_mnk_Standardlimb_005134" Type="Standard" EnumName="OBJECT_MNK_1_LIMB_04" Offset="0x5134" />
|
<Limb Name="object_mnk_Standardlimb_005134" Type="Standard" EnumName="OBJECT_MNK_1_LIMB_04" Offset="0x5134" />
|
||||||
<Skeleton Name="object_mnk_Skel_005150" Type="Flex" LimbType="Standard" LimbNone="OBJECT_MNK_1_LIMB_NONE" LimbMax="OBJECT_MNK_1_LIMB_MAX" EnumName="ObjectMnk1Limb" Offset="0x5150" />
|
<Skeleton Name="gMonkeyTiedUpPoleSkeleton" Type="Flex" LimbType="Standard" LimbNone="OBJECT_MNK_1_LIMB_NONE" LimbMax="OBJECT_MNK_1_LIMB_MAX" EnumName="ObjectMnk1Limb" Offset="0x5150" />
|
||||||
<Animation Name="object_mnk_Anim_005194" Offset="0x5194" />
|
<Animation Name="object_mnk_Anim_005194" Offset="0x5194" />
|
||||||
<Animation Name="object_mnk_Anim_0052C4" Offset="0x52C4" />
|
<Animation Name="object_mnk_Anim_0052C4" Offset="0x52C4" />
|
||||||
<Animation Name="object_mnk_Anim_005390" Offset="0x5390" />
|
<Animation Name="object_mnk_Anim_005390" Offset="0x5390" />
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
<Animation Name="object_mnk_Anim_005A08" Offset="0x5A08" />
|
<Animation Name="object_mnk_Anim_005A08" Offset="0x5A08" />
|
||||||
<Animation Name="object_mnk_Anim_0062D8" Offset="0x62D8" />
|
<Animation Name="object_mnk_Anim_0062D8" Offset="0x62D8" />
|
||||||
<Animation Name="object_mnk_Anim_007380" Offset="0x7380" />
|
<Animation Name="object_mnk_Anim_007380" Offset="0x7380" />
|
||||||
<Animation Name="object_mnk_Anim_0082C8" Offset="0x82C8" />
|
<Animation Name="gMonkeyHangingStruggleAnim" Offset="0x82C8" />
|
||||||
<Animation Name="object_mnk_Anim_008814" Offset="0x8814" />
|
<Animation Name="object_mnk_Anim_008814" Offset="0x8814" />
|
||||||
<Animation Name="object_mnk_Anim_0095B4" Offset="0x95B4" />
|
<Animation Name="object_mnk_Anim_0095B4" Offset="0x95B4" />
|
||||||
<Animation Name="object_mnk_Anim_0099B0" Offset="0x99B0" />
|
<Animation Name="object_mnk_Anim_0099B0" Offset="0x99B0" />
|
||||||
|
@ -73,7 +73,12 @@
|
||||||
<Texture Name="object_mnk_Tex_014C20" OutName="tex_014C20" Format="ci8" Width="32" Height="32" Offset="0x14C20" />
|
<Texture Name="object_mnk_Tex_014C20" OutName="tex_014C20" Format="ci8" Width="32" Height="32" Offset="0x14C20" />
|
||||||
<Texture Name="object_mnk_Tex_015020" OutName="tex_015020" Format="ci8" Width="32" Height="64" Offset="0x15020" />
|
<Texture Name="object_mnk_Tex_015020" OutName="tex_015020" Format="ci8" Width="32" Height="64" Offset="0x15020" />
|
||||||
<Texture Name="object_mnk_Tex_015820" OutName="tex_015820" Format="ci8" Width="16" Height="16" Offset="0x15820" />
|
<Texture Name="object_mnk_Tex_015820" OutName="tex_015820" Format="ci8" Width="16" Height="16" Offset="0x15820" />
|
||||||
<!-- <Blob Name="object_mnk_Blob_015920" Size="0x3000" Offset="0x15920" /> -->
|
<Texture Name="object_mnk_Tex_015920" OutName="tex_015920" Format="ci8" Width="32" Height="64" Offset="0x15920" />
|
||||||
|
<Texture Name="object_mnk_Tex_016120" OutName="tex_016120" Format="ci8" Width="32" Height="64" Offset="0x16120" />
|
||||||
|
<Texture Name="object_mnk_Tex_016920" OutName="tex_016920" Format="ci8" Width="32" Height="64" Offset="0x16920" />
|
||||||
|
<Texture Name="object_mnk_Tex_017120" OutName="tex_017120" Format="ci8" Width="32" Height="64" Offset="0x17120" />
|
||||||
|
<Texture Name="object_mnk_Tex_017920" OutName="tex_017920" Format="ci8" Width="32" Height="64" Offset="0x17920" />
|
||||||
|
<Texture Name="object_mnk_Tex_018120" OutName="tex_018120" Format="ci8" Width="32" Height="64" Offset="0x18120" />
|
||||||
<Texture Name="object_mnk_Tex_018920" OutName="tex_018920" Format="ci8" Width="16" Height="16" Offset="0x18920" />
|
<Texture Name="object_mnk_Tex_018920" OutName="tex_018920" Format="ci8" Width="16" Height="16" Offset="0x18920" />
|
||||||
<Texture Name="object_mnk_Tex_018A20" OutName="tex_018A20" Format="ci8" Width="32" Height="32" Offset="0x18A20" />
|
<Texture Name="object_mnk_Tex_018A20" OutName="tex_018A20" Format="ci8" Width="32" Height="32" Offset="0x18A20" />
|
||||||
<Texture Name="object_mnk_Tex_018E20" OutName="tex_018E20" Format="ci8" Width="16" Height="16" Offset="0x18E20" />
|
<Texture Name="object_mnk_Tex_018E20" OutName="tex_018E20" Format="ci8" Width="16" Height="16" Offset="0x18E20" />
|
||||||
|
@ -104,14 +109,14 @@
|
||||||
<Limb Name="object_mnk_Standardlimb_019B0C" Type="Standard" EnumName="OBJECT_MNK_2_LIMB_14" Offset="0x19B0C" />
|
<Limb Name="object_mnk_Standardlimb_019B0C" Type="Standard" EnumName="OBJECT_MNK_2_LIMB_14" Offset="0x19B0C" />
|
||||||
<Limb Name="object_mnk_Standardlimb_019B18" Type="Standard" EnumName="OBJECT_MNK_2_LIMB_15" Offset="0x19B18" />
|
<Limb Name="object_mnk_Standardlimb_019B18" Type="Standard" EnumName="OBJECT_MNK_2_LIMB_15" Offset="0x19B18" />
|
||||||
<Limb Name="object_mnk_Standardlimb_019B24" Type="Standard" EnumName="OBJECT_MNK_2_LIMB_16" Offset="0x19B24" />
|
<Limb Name="object_mnk_Standardlimb_019B24" Type="Standard" EnumName="OBJECT_MNK_2_LIMB_16" Offset="0x19B24" />
|
||||||
<Skeleton Name="object_mnk_Skel_019B88" Type="Flex" LimbType="Standard" LimbNone="OBJECT_MNK_2_LIMB_NONE" LimbMax="OBJECT_MNK_2_LIMB_MAX" EnumName="ObjectMnk2Limb" Offset="0x19B88" />
|
<Skeleton Name="gMonkeySkeleton" Type="Flex" LimbType="Standard" LimbNone="OBJECT_MNK_2_LIMB_NONE" LimbMax="OBJECT_MNK_2_LIMB_MAX" EnumName="ObjectMnk2Limb" Offset="0x19B88" />
|
||||||
<Animation Name="object_mnk_Anim_01A4F8" Offset="0x1A4F8" />
|
<Animation Name="object_mnk_Anim_01A4F8" Offset="0x1A4F8" />
|
||||||
<Animation Name="object_mnk_Anim_01B468" Offset="0x1B468" />
|
<Animation Name="object_mnk_Anim_01B468" Offset="0x1B468" />
|
||||||
<Animation Name="object_mnk_Anim_01BB0C" Offset="0x1BB0C" />
|
<Animation Name="object_mnk_Anim_01BB0C" Offset="0x1BB0C" />
|
||||||
<Animation Name="object_mnk_Anim_01C17C" Offset="0x1C17C" />
|
<Animation Name="object_mnk_Anim_01C17C" Offset="0x1C17C" />
|
||||||
<Animation Name="object_mnk_Anim_01C1B8" Offset="0x1C1B8" />
|
<Animation Name="object_mnk_Anim_01C1B8" Offset="0x1C1B8" />
|
||||||
<Animation Name="object_mnk_Anim_01C1F8" Offset="0x1C1F8" />
|
<Animation Name="object_mnk_Anim_01C1F8" Offset="0x1C1F8" />
|
||||||
<Animation Name="object_mnk_Anim_01C3B4" Offset="0x1C3B4" />
|
<Animation Name="gMonkeyHangingRopeStruggleAnim" Offset="0x1C3B4" />
|
||||||
<DList Name="object_mnk_DL_01C660" Offset="0x1C660" />
|
<DList Name="object_mnk_DL_01C660" Offset="0x1C660" />
|
||||||
<DList Name="object_mnk_DL_01C770" Offset="0x1C770" />
|
<DList Name="object_mnk_DL_01C770" Offset="0x1C770" />
|
||||||
<DList Name="object_mnk_DL_01C818" Offset="0x1C818" />
|
<DList Name="object_mnk_DL_01C818" Offset="0x1C818" />
|
||||||
|
@ -121,6 +126,6 @@
|
||||||
<Limb Name="object_mnk_Standardlimb_01D4E8" Type="Standard" EnumName="OBJECT_MNK_3_LIMB_01" Offset="0x1D4E8" />
|
<Limb Name="object_mnk_Standardlimb_01D4E8" Type="Standard" EnumName="OBJECT_MNK_3_LIMB_01" Offset="0x1D4E8" />
|
||||||
<Limb Name="object_mnk_Standardlimb_01D4F4" Type="Standard" EnumName="OBJECT_MNK_3_LIMB_02" Offset="0x1D4F4" />
|
<Limb Name="object_mnk_Standardlimb_01D4F4" Type="Standard" EnumName="OBJECT_MNK_3_LIMB_02" Offset="0x1D4F4" />
|
||||||
<Limb Name="object_mnk_Standardlimb_01D500" Type="Standard" EnumName="OBJECT_MNK_3_LIMB_03" Offset="0x1D500" />
|
<Limb Name="object_mnk_Standardlimb_01D500" Type="Standard" EnumName="OBJECT_MNK_3_LIMB_03" Offset="0x1D500" />
|
||||||
<Skeleton Name="object_mnk_Skel_01D518" Type="Flex" LimbType="Standard" LimbNone="OBJECT_MNK_3_LIMB_NONE" LimbMax="OBJECT_MNK_3_LIMB_MAX" EnumName="ObjectMnk3Limb" Offset="0x1D518" />
|
<Skeleton Name="gMonkeyHangingRopeSkeleton" Type="Flex" LimbType="Standard" LimbNone="OBJECT_MNK_3_LIMB_NONE" LimbMax="OBJECT_MNK_3_LIMB_MAX" EnumName="ObjectMnk3Limb" Offset="0x1D518" />
|
||||||
</File>
|
</File>
|
||||||
</Root>
|
</Root>
|
||||||
|
|
3
spec
3
spec
|
@ -3073,8 +3073,7 @@ beginseg
|
||||||
name "ovl_En_Mnk"
|
name "ovl_En_Mnk"
|
||||||
compress
|
compress
|
||||||
include "build/src/overlays/actors/ovl_En_Mnk/z_en_mnk.o"
|
include "build/src/overlays/actors/ovl_En_Mnk/z_en_mnk.o"
|
||||||
include "build/data/ovl_En_Mnk/ovl_En_Mnk.data.o"
|
include "build/src/overlays/actors/ovl_En_Mnk/ovl_En_Mnk_reloc.o"
|
||||||
include "build/data/ovl_En_Mnk/ovl_En_Mnk.reloc.o"
|
|
||||||
endseg
|
endseg
|
||||||
|
|
||||||
beginseg
|
beginseg
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,15 +2,82 @@
|
||||||
#define Z_EN_MNK_H
|
#define Z_EN_MNK_H
|
||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
#include "objects/object_mnk/object_mnk.h"
|
||||||
#include "z64snap.h"
|
#include "z64snap.h"
|
||||||
|
|
||||||
struct EnMnk;
|
struct EnMnk;
|
||||||
|
|
||||||
typedef void (*EnMnkActionFunc)(struct EnMnk*, PlayState*);
|
typedef void (*EnMnkActionFunc)(struct EnMnk*, PlayState*);
|
||||||
|
typedef void (*EnMnkFunc)(PlayState*, struct EnMnk*);
|
||||||
|
|
||||||
|
#define MONKEY_GET_TYPE(thisx) (((thisx)->params & 0x780) >> 7)
|
||||||
|
#define MONKEY_GET_SWITCH_FLAG(thisx) ((thisx)->params & 0x7F)
|
||||||
|
#define MONKEY_GET_PATH_INDEX(thisx) (((thisx)->params & 0xF800) >> 11)
|
||||||
|
|
||||||
|
#define MONKEY_PATH_INDEX_NONE 0x1F
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
/* 0 */ MONKEY_0,
|
||||||
|
/* 1 */ MONKEY_OUTSIDEWOODS,
|
||||||
|
/* 2 */ MONKEY_BY_WITCH,
|
||||||
|
/* 3 */ MONKEY_OUTSIDECHAMBER,
|
||||||
|
/* 4 */ MONKEY_OUTSIDEPALACE,
|
||||||
|
/* 5 */ MONKEY_TIED_UP,
|
||||||
|
/* 6 */ MONKEY_HANGING,
|
||||||
|
/* 7 */ MONKEY_WOODS_GUIDE,
|
||||||
|
/* 8 */ MONKEY_8,
|
||||||
|
/* 9 */ MONKEY_AFTER_SAVED,
|
||||||
|
/* 10 */ MONKEY_10
|
||||||
|
} MonkeyType;
|
||||||
|
|
||||||
|
#define MONKEY_FLAGS_1 (1 << 0)
|
||||||
|
#define MONKEY_FLAGS_2 (1 << 1)
|
||||||
|
#define MONKEY_FLAGS_4 (1 << 2)
|
||||||
|
#define MONKEY_FLAGS_8 (1 << 3)
|
||||||
|
#define MONKEY_FLAGS_10 (1 << 4)
|
||||||
|
#define MONKEY_FLAGS_20 (1 << 5)
|
||||||
|
#define MONKEY_FLAGS_40 (1 << 6)
|
||||||
|
#define MONKEY_FLAGS_80 (1 << 7)
|
||||||
|
#define MONKEY_FLAGS_100 (1 << 8)
|
||||||
|
#define MONKEY_FLAGS_200 (1 << 9)
|
||||||
|
#define MONKEY_FLAGS_400 (1 << 10)
|
||||||
|
#define MONKEY_FLAGS_800 (1 << 11)
|
||||||
|
#define MONKEY_FLAGS_1000 (1 << 12)
|
||||||
|
#define MONKEY_FLAGS_2000 (1 << 13)
|
||||||
|
#define MONKEY_FLAGS_4000 (1 << 14)
|
||||||
|
#define MONKEY_FLAGS_8000 (1 << 15)
|
||||||
|
|
||||||
|
#define MONKEY_PROP_LIMB_MAX MAX((s32)OBJECT_MNK_1_LIMB_MAX, (s32)OBJECT_MNK_3_LIMB_MAX)
|
||||||
|
|
||||||
typedef struct EnMnk {
|
typedef struct EnMnk {
|
||||||
/* 0x000 */ PictoActor picto;
|
/* 0x000 */ PictoActor picto;
|
||||||
/* 0x148 */ char unk_148[0x2A0];
|
/* 0x148 */ SkelAnime skelAnime;
|
||||||
|
/* 0x18C */ Vec3s jointTable[OBJECT_MNK_2_LIMB_MAX];
|
||||||
|
/* 0x216 */ Vec3s morphTable[OBJECT_MNK_2_LIMB_MAX];
|
||||||
|
/* 0x2A0 */ SkelAnime propSkelAnime;
|
||||||
|
/* 0x2E4 */ Vec3s propJointTable[MONKEY_PROP_LIMB_MAX];
|
||||||
|
/* 0x302 */ Vec3s propMorphTable[MONKEY_PROP_LIMB_MAX];
|
||||||
|
/* 0x320 */ ColliderCylinder collider;
|
||||||
|
/* 0x36C */ MtxF unk_36C;
|
||||||
|
/* 0x3AC */ Path* path;
|
||||||
|
/* 0x3B0 */ s16 csIdList[6];
|
||||||
|
/* 0x3BC */ s16 csId;
|
||||||
|
/* 0x3BE */ s16 animIndex;
|
||||||
|
/* 0x3C0 */ s32 destPointIndex;
|
||||||
|
/* 0x3C4 */ s32 pathIndex;
|
||||||
|
/* 0x3C8 */ s32 unk_3C8;
|
||||||
|
/* 0x3CC */ s16 unk_3CC; // beard x rot?
|
||||||
|
/* 0x3CE */ s16 unk_3CE; // beard y rot?
|
||||||
|
/* 0x3D0 */ union {
|
||||||
|
s16 cueId; // Tied monkey
|
||||||
|
s16 unk_3D0; // Hanging monkey
|
||||||
|
};
|
||||||
|
/* 0x3D4 */ u32 unk_3D4;
|
||||||
|
/* 0x3D8 */ f32 approachPlayerRadius;
|
||||||
|
/* 0x3DC */ s16 blinkFrame;
|
||||||
|
/* 0x3DE */ s16 blinkTimer;
|
||||||
|
/* 0x3E0 */ s32 unk_3E0;
|
||||||
|
/* 0x3E4 */ u16 flags;
|
||||||
/* 0x3E8 */ EnMnkActionFunc actionFunc;
|
/* 0x3E8 */ EnMnkActionFunc actionFunc;
|
||||||
} EnMnk; // size = 0x3EC
|
} EnMnk; // size = 0x3EC
|
||||||
|
|
||||||
|
|
|
@ -563,17 +563,6 @@ D_06021E34 = 0x06021E34;
|
||||||
D_06022728 = 0x06022728;
|
D_06022728 = 0x06022728;
|
||||||
D_06022CAC = 0x06022CAC;
|
D_06022CAC = 0x06022CAC;
|
||||||
|
|
||||||
// ovl_En_Mnk
|
|
||||||
|
|
||||||
D_06003584 = 0x06003584;
|
|
||||||
D_06005150 = 0x06005150;
|
|
||||||
D_060082C8 = 0x060082C8;
|
|
||||||
D_06008814 = 0x06008814;
|
|
||||||
D_06009CC0 = 0x06009CC0;
|
|
||||||
D_060105DC = 0x060105DC;
|
|
||||||
D_06019B88 = 0x06019B88;
|
|
||||||
D_0601D518 = 0x0601D518;
|
|
||||||
|
|
||||||
// ovl_En_Okuta
|
// ovl_En_Okuta
|
||||||
|
|
||||||
D_0600044C = 0x0600044C;
|
D_0600044C = 0x0600044C;
|
||||||
|
|
Loading…
Reference in New Issue