En_pamera is good to go (#222)

* all functions decomped, just need the OK

* ....5 differing words....

* Pamera OK

* addressing PR comments, plus some documenting

* addressing some of the comments

* another small typo...

* wrapping up PR comments
This commit is contained in:
Parker Burnett
2021-07-28 23:22:01 -04:00
committed by GitHub
parent 231386fd00
commit 60ff207982
6 changed files with 879 additions and 77 deletions
+1 -1
View File
@@ -1334,7 +1334,7 @@ s16 Camera_ClearFlags(Camera* camera, s16 flags);
// void func_800E01DC(s32 param_1, u32 param_2, UNK_TYPE4 param_3, UNK_TYPE4 param_4, UNK_TYPE2 param_5, UNK_TYPE2 param_6);
// UNK_TYPE4 func_800E0228(void);
// void func_800E0238(void);
// void func_800E02AC(void);
void func_800E02AC(Camera* camera, Actor* actor);
// void func_800E0308(void);
// void func_800E031C(void);
void func_800E0348(Camera* camera);
+2 -2
View File
@@ -8228,9 +8228,9 @@ SECTIONS
ovl_En_Pamera : AT(RomLocation)
{
build/src/overlays/actors/ovl_En_Pamera/z_en_pamera.o(.text)
build/asm/overlays/ovl_En_Pamera_data.o(.data)
build/src/overlays/actors/ovl_En_Pamera/z_en_pamera.o(.data)
build/src/overlays/actors/ovl_En_Pamera/z_en_pamera.o(.rodata)
build/asm/overlays/ovl_En_Pamera_rodata.o(.rodata)
build/src/overlays/actors/ovl_En_Pamera/z_en_pamera_overlay.o(.ovl)
}
SegmentEnd = .;
SegmentSize = SegmentEnd - SegmentStart;
+23
View File
@@ -599,6 +599,29 @@ D_06005BC0 = 0x06005BC0;
D_06006F18 = 0x06006F18;
D_06006B18 = 0x06006B18;
/* z_en_pamera */
D_06008448 = 0x06008448;
D_060005BC = 0x060005BC;
D_06008AE0 = 0x06008AE0;
D_06008E38 = 0x06008E38;
D_0600A844 = 0x0600A844;
D_0600B0C4 = 0x0600B0C4;
D_06009870 = 0x06009870;
D_06009F54 = 0x06009F54;
D_0600B5B0 = 0x0600B5B0;
D_0600BCC4 = 0x0600BCC4;
D_0600D9DC = 0x0600D9DC;
D_0600E16C = 0x0600E16C;
D_0600C9F4 = 0x0600C9F4;
D_0600D0F0 = 0x0600D0F0;
D_060074E8 = 0x060074E8;
D_060078E8 = 0x060078E8;
D_060066E8 = 0x060066E8;
D_06006AE8 = 0x06006AE8;
D_06006EE8 = 0x06006EE8;
D_060072E8 = 0x060072E8;
D_060073E8 = 0x060073E8;
/* z_en_pametfrog */
D_06000994 = 0x06000994;
D_06001B08 = 0x06001B08;
File diff suppressed because it is too large Load Diff
@@ -5,9 +5,62 @@
struct EnPamera;
typedef enum {
/* 00 */ PAMERA_LIMB_NONE,
/* 01 */ PAMERA_LIMB_ROOT,
/* 02 */ PAMERA_LIMB_SHOULDER_LEFT,
/* 03 */ PAMERA_LIMB_FOREARM_LEFT,
/* 04 */ PAMERA_LIMB_HAND_LEFT,
/* 05 */ PAMERA_LIMB_SHOULDER_RIGHT,
/* 06 */ PAMERA_LIMB_FOREARM_RIGHT,
/* 07 */ PAMERA_LIMB_HAND_RIGHT,
/* 08 */ PAMERA_LIMB_HEAD_FRONT_AND_TOP,
/* 09 */ PAMERA_LIMB_HAIR,
/* 10 */ PAMERA_LIMB_TORSO_FRONT,
/* 11 */ PAMERA_LIMB_NECK,
/* 12 */ PAMERA_LIMB_THIGH_LEFT,
/* 13 */ PAMERA_LIMB_LEG_LEFT,
/* 14 */ PAMERA_LIMB_FOOT_LEFT,
/* 15 */ PAMERA_LIMB_THIGH_RIGHT,
/* 16 */ PAMERA_LIMB_LEG_RIGHT,
/* 17 */ PAMERA_LIMB_FOOT_RIGHT,
/* 18 */ PAMERA_DRESS_FRONT,
/* 19 */ PAMERA_DRESS_BACK,
/* 20 */ PAMERA_DRESS_SIDES,
/* 21 */ PAMERA_LIMB_UNK,
/* 22 */ PAMERA_LIMB_UNK2,
/* 23 */ PAMERA_LIMB_MAX
} ObjectPameraLimbs;
typedef void (*EnPameraActionFunc)(struct EnPamera*, GlobalContext*);
typedef void (*EnPameraSetupFunc)(struct EnPamera*, GlobalContext*);
typedef struct EnPamera {
/* 0x000 */ Actor actor;
/* 0x144 */ char unk_144[0x1E4];
/* 0x144 */ ColliderCylinder collider;
/* 0x190 */ SkelAnime skelAnime;
/* 0x1D4 */ EnPameraActionFunc actionFunc;
/* 0x1D8 */ EnPameraSetupFunc setupFunc;
/* 0x1DC */ Vec3s* pathPoints;
/* 0x1E0 */ s32 pathIndex;
/* 0x1E4 */ s32 pathPointsCount;
/* 0x1E8 */ s32 pathId;
/* 0x1EC */ s32 unk_1EC;
/* 0x1F0 */ Vec3s limbDrawTbl[PAMERA_LIMB_MAX];
/* 0x27A */ Vec3s transitionDrawTbl[PAMERA_LIMB_MAX];
/* 0x304 */ Vec3s limb9Rot;
/* 0x30A */ Vec3s limb8Rot;
/* 0x310 */ s16 unk_310;
/* 0x312 */ s16 unk_312;
/* 0x314 */ s16 unk_314;
/* 0x316 */ s16 unk_316;
/* 0x318 */ s16 cutscenes[2];
/* 0x31C */ s16 hideInisdeTimer;
/* 0x31E */ s16 unk_31E;
/* 0x320 */ UNK_TYPE1 unk_320[0x2];
/* 0x322 */ s16 unk_322;
/* 0x324 */ u16 unk_324;
/* 0x326 */ u16 unk_326;
} EnPamera; // size = 0x328
extern const ActorInit En_Pamera_InitVars;
+4 -4
View File
@@ -15913,7 +15913,7 @@
0x80BD8D1C:("func_80BD8D1C",),
0x80BD8D80:("func_80BD8D80",),
0x80BD8DB0:("func_80BD8DB0",),
0x80BD8F0C:("func_80BD8F0C",),
0x80BD8F0C:("EnPamera_LookDownWell",),
0x80BD8F60:("func_80BD8F60",),
0x80BD8FF0:("func_80BD8FF0",),
0x80BD909C:("func_80BD909C",),
@@ -15926,8 +15926,8 @@
0x80BD93F4:("func_80BD93F4",),
0x80BD94E0:("func_80BD94E0",),
0x80BD95A4:("EnPamera_Update",),
0x80BD9648:("func_80BD9648",),
0x80BD9690:("func_80BD9690",),
0x80BD9648:("EnPamera_OverrideLimbDraw",),
0x80BD9690:("EnPamera_PostLimbDraw",),
0x80BD96D0:("EnPamera_Draw",),
0x80BD9840:("func_80BD9840",),
0x80BD9904:("func_80BD9904",),
@@ -15935,7 +15935,7 @@
0x80BD9938:("func_80BD9938",),
0x80BD994C:("func_80BD994C",),
0x80BD9A9C:("func_80BD9A9C",),
0x80BD9AB0:("func_80BD9AB0",),
0x80BD9AB0:("EnPamera_HandleDialogue",),
0x80BD9B4C:("func_80BD9B4C",),
0x80BD9C70:("func_80BD9C70",),
0x80BD9CB8:("func_80BD9CB8",),