From 6d4faff5a8e66661737d04e86cd82a9551ef1364 Mon Sep 17 00:00:00 2001 From: Blake Warner Date: Tue, 15 Feb 2022 16:03:46 -0500 Subject: [PATCH] refactored z_player.h --- .gitignore | 1 + include/z64environment.h | 4 + include/z64player.h | 190 +----------------- include/z_file_choose.h | 1 + include/z_player.h | 97 --------- src/code/graph.cpp | 1 - src/code/z_game_dlftbls.cpp | 2 +- src/code/z_player_lib.cpp | 1 - src/code/z_sample.cpp | 2 +- .../actors/ovl_player_actor/z_player.h | 182 +++++++++++++++++ .../ovl_file_choose/z_file_choose.cpp | 2 +- .../gamestates/ovl_opening/z_opening.cpp | 1 - .../gamestates/ovl_select/z_select.cpp | 1 - 13 files changed, 197 insertions(+), 288 deletions(-) delete mode 100644 include/z_player.h create mode 100644 src/overlays/actors/ovl_player_actor/z_player.h diff --git a/.gitignore b/.gitignore index e393cea12..a3d09000f 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,7 @@ out.txt *.log *.sav *.tas +*.bak # Tool artifacts diff --git a/include/z64environment.h b/include/z64environment.h index 98a7460d0..e17756367 100644 --- a/include/z64environment.h +++ b/include/z64environment.h @@ -4,6 +4,10 @@ #include "z64light.h" #include "z64dma.h" +struct SkyboxContext; +struct PauseContext; +struct MessageContext; + #define FILL_SCREEN_OPA (1 << 0) #define FILL_SCREEN_XLU (1 << 1) diff --git a/include/z64player.h b/include/z64player.h index 7073fc1f7..7f29af4db 100644 --- a/include/z64player.h +++ b/include/z64player.h @@ -1,5 +1,8 @@ -#ifndef Z64PLAYER_H -#define Z64PLAYER_H +#pragma once + +#include "z64global.h" +#include "gfx.h" +#include "z64math.h" #include "z64actor.h" @@ -202,185 +205,4 @@ struct WeaponInfo { /* 0x10 */ Vec3f base; }; // size = 0x1C -typedef void (*PlayerFunc674)(struct Player*, struct GlobalContext*); -typedef s32 (*PlayerFunc82C)(struct Player*, struct GlobalContext*); -typedef void (*PlayerFuncA74)(struct GlobalContext*, struct Player*); - -struct Player { - /* 0x0000 */ Actor actor; - /* 0x014C */ s8 currentTunic; // current tunic from `PlayerTunic` - /* 0x014D */ s8 currentSword; // current sword Item ID - /* 0x014E */ s8 currentShield; // current shield from `PlayerShield` - /* 0x014F */ s8 currentBoots; // current boots from `PlayerBoots` - /* 0x0150 */ s8 heldItemButton; // Button index for the item currently used - /* 0x0151 */ s8 heldItemActionParam; // Action param for the item currently used - /* 0x0152 */ u8 heldItemId; // Item id for the item currently used - /* 0x0153 */ s8 prevBoots; // previous boots from `PlayerBoots` - /* 0x0154 */ s8 itemActionParam; // the difference between this and heldItemActionParam is unclear - /* 0x0155 */ char unk_155[0x003]; - /* 0x0158 */ u8 modelGroup; - /* 0x0159 */ u8 nextModelGroup; - /* 0x015A */ s8 unk_15A; - /* 0x015B */ u8 modelAnimType; - /* 0x015C */ u8 leftHandType; - /* 0x015D */ u8 rightHandType; - /* 0x015E */ u8 sheathType; - /* 0x015F */ u8 currentMask; // current mask equipped from `PlayerMask` - /* 0x0160 */ Gfx** rightHandDLists; - /* 0x0164 */ Gfx** leftHandDLists; - /* 0x0168 */ Gfx** sheathDLists; - /* 0x016C */ Gfx** waistDLists; - /* 0x0170 */ u8 giObjectLoading; - /* 0x0174 */ DmaRequest giObjectDmaRequest; - /* 0x0194 */ OSMesgQueue giObjectLoadQueue; - /* 0x01AC */ OSMesg giObjectLoadMsg; - /* 0x01B0 */ void* giObjectSegment; // also used for title card textures - /* 0x01B4 */ SkelAnime skelAnime; - /* 0x01F8 */ Vec3s jointTable[PLAYER_LIMB_BUF_COUNT]; - /* 0x0288 */ Vec3s morphTable[PLAYER_LIMB_BUF_COUNT]; - /* 0x0318 */ Vec3s blendTable[PLAYER_LIMB_BUF_COUNT]; - /* 0x03A8 */ s16 unk_3A8[2]; - /* 0x03AC */ Actor* heldActor; - /* 0x03B0 */ Vec3f leftHandPos; - /* 0x03BC */ Vec3s unk_3BC; - /* 0x03C4 */ Actor* unk_3C4; - /* 0x03C8 */ Vec3f unk_3C8; - /* 0x03D4 */ char unk_3D4[0x058]; - /* 0x042C */ s8 doorType; - /* 0x042D */ s8 doorDirection; - /* 0x042E */ s16 doorTimer; - /* 0x0430 */ Actor* doorActor; - /* 0x0434 */ s8 getItemId; - /* 0x0436 */ u16 getItemDirection; - /* 0x0438 */ Actor* interactRangeActor; - /* 0x043C */ s8 mountSide; - /* 0x043D */ char unk_43D[0x003]; - /* 0x0440 */ Actor* rideActor; - /* 0x0444 */ u8 csMode; - /* 0x0445 */ u8 prevCsMode; - /* 0x0446 */ u8 unk_446; - /* 0x0447 */ u8 unk_447; - /* 0x0448 */ Actor* unk_448; - /* 0x044C */ char unk_44C[0x004]; - /* 0x0450 */ Vec3f unk_450; - /* 0x045C */ Vec3f unk_45C; - /* 0x0468 */ char unk_468[0x002]; - /* 0x046A */ s16 unk_46A; - /* 0x046C */ s16 unk_46C; - /* 0x046E */ char unk_46E[0x02A]; - /* 0x0498 */ ColliderCylinder cylinder; - /* 0x04E4 */ ColliderQuad swordQuads[2]; - /* 0x05E4 */ ColliderQuad shieldQuad; - /* 0x0664 */ Actor* unk_664; - /* 0x0668 */ char unk_668[0x004]; - /* 0x066C */ s32 unk_66C; - /* 0x0670 */ s32 swordEffectIndex; - /* 0x0674 */ PlayerFunc674 func_674; - /* 0x0678 */ PlayerAgeProperties* ageProperties; - /* 0x067C */ u32 stateFlags1; - /* 0x0680 */ u32 stateFlags2; - /* 0x0684 */ Actor* unk_684; - /* 0x0688 */ Actor* boomerangActor; - /* 0x068C */ Actor* naviActor; - /* 0x0690 */ s16 naviTextId; - /* 0x0692 */ u8 stateFlags3; - /* 0x0693 */ s8 exchangeItemId; - /* 0x0694 */ Actor* targetActor; - /* 0x0698 */ f32 targetActorDistance; - /* 0x069C */ char unk_69C[0x004]; - /* 0x06A0 */ f32 unk_6A0; - /* 0x06A4 */ f32 unk_6A4; - /* 0x06A8 */ Actor* unk_6A8; - /* 0x06AC */ s8 unk_6AC; - /* 0x06AD */ u8 unk_6AD; - /* 0x06AE */ u16 unk_6AE; - /* 0x06B0 */ s16 unk_6B0; - /* 0x06B2 */ char unk_6B4[0x004]; - /* 0x06B6 */ s16 unk_6B6; - /* 0x06B8 */ s16 unk_6B8; - /* 0x06BA */ s16 unk_6BA; - /* 0x06BC */ s16 unk_6BC; - /* 0x06BE */ s16 unk_6BE; - /* 0x06C0 */ s16 unk_6C0; - /* 0x06C2 */ s16 unk_6C2; - /* 0x06C4 */ f32 unk_6C4; - /* 0x06C8 */ SkelAnime skelAnime2; - /* 0x070C */ Vec3s jointTable2[PLAYER_LIMB_BUF_COUNT]; - /* 0x079C */ Vec3s morphTable2[PLAYER_LIMB_BUF_COUNT]; - /* 0x082C */ PlayerFunc82C func_82C; - /* 0x0830 */ f32 unk_830; - /* 0x0834 */ s16 unk_834; - /* 0x0836 */ s8 unk_836; - /* 0x0837 */ u8 unk_837; - /* 0x0838 */ f32 linearVelocity; - /* 0x083C */ s16 currentYaw; - /* 0x083E */ s16 targetYaw; - /* 0x0840 */ u16 unk_840; - /* 0x0842 */ s8 swordAnimation; - /* 0x0843 */ s8 swordState; - /* 0x0844 */ s8 unk_844; - /* 0x0845 */ u8 unk_845; - /* 0x0846 */ u8 unk_846; - /* 0x0847 */ s8 unk_847[4]; - /* 0x084B */ s8 unk_84B[4]; - /* 0x084F */ s8 unk_84F; - /* 0x0850 */ s16 unk_850; // multipurpose timer - /* 0x0854 */ f32 unk_854; - /* 0x0858 */ f32 unk_858; - /* 0x085C */ f32 unk_85C; // stick length among other things - /* 0x0860 */ s16 unk_860; // stick flame timer among other things - /* 0x0862 */ s8 unk_862; // get item draw ID + 1 - /* 0x0864 */ f32 unk_864; - /* 0x0868 */ f32 unk_868; - /* 0x086C */ f32 unk_86C; - /* 0x0870 */ f32 unk_870; - /* 0x0874 */ f32 unk_874; - /* 0x0878 */ f32 unk_878; - /* 0x087C */ s16 unk_87C; - /* 0x087E */ s16 unk_87E; - /* 0x0880 */ f32 unk_880; - /* 0x0884 */ f32 wallHeight; // height used to determine whether link can climb or grab a ledge at the top - /* 0x0888 */ f32 wallDistance; // distance to the colliding wall plane - /* 0x088C */ u8 unk_88C; - /* 0x088D */ u8 unk_88D; - /* 0x088E */ u8 unk_88E; - /* 0x088F */ u8 unk_88F; - /* 0x0890 */ u8 unk_890; - /* 0x0891 */ u8 shockTimer; - /* 0x0892 */ u8 unk_892; - /* 0x0893 */ u8 hoverBootsTimer; - /* 0x0894 */ s16 fallStartHeight; // last truncated Y position before falling - /* 0x0896 */ s16 fallDistance; // truncated Y distance the player has fallen so far (positive is down) - /* 0x0898 */ s16 unk_898; - /* 0x089A */ s16 unk_89A; - /* 0x089C */ s16 unk_89C; - /* 0x089E */ u16 unk_89E; - /* 0x08A0 */ u8 unk_8A0; - /* 0x08A1 */ u8 unk_8A1; - /* 0x08A2 */ s16 unk_8A2; - /* 0x08A4 */ f32 unk_8A4; - /* 0x08A8 */ f32 unk_8A8; - /* 0x08AC */ f32 windSpeed; - /* 0x08B0 */ s16 windDirection; - /* 0x08B4 */ WeaponInfo swordInfo[3]; - /* 0x0908 */ Vec3f bodyPartsPos[18]; - /* 0x09E0 */ MtxF mf_9E0; - /* 0x0A20 */ MtxF shieldMf; - /* 0x0A60 */ u8 isBurning; - /* 0x0A61 */ u8 flameTimers[18]; // one flame per body part - /* 0x0A73 */ u8 unk_A73; - /* 0x0A74 */ PlayerFuncA74 func_A74; - /* 0x0A78 */ s8 invincibilityTimer; // prevents damage when nonzero (positive = visible, counts towards zero each frame) - /* 0x0A79 */ u8 unk_A79; - /* 0x0A7A */ u8 unk_A7A; - /* 0x0A7B */ u8 unk_A7B; - /* 0x0A7C */ f32 unk_A7C; - /* 0x0A80 */ s16 unk_A80; - /* 0x0A82 */ u16 unk_A82; - /* 0x0A84 */ s16 unk_A84; - /* 0x0A86 */ s8 unk_A86; - /* 0x0A87 */ u8 unk_A87; - /* 0x0A88 */ Vec3f unk_A88; // previous body part 0 position -}; // size = 0xA94 - -#endif +#include "overlays/actors/ovl_player_actor/z_player.h" diff --git a/include/z_file_choose.h b/include/z_file_choose.h index d21967b27..b744b3819 100644 --- a/include/z_file_choose.h +++ b/include/z_file_choose.h @@ -4,6 +4,7 @@ #include "z64environment.h" #include "z64message.h" #include "z64render.h" +#include "z64sram.h" struct FileChooseContext { /* 0x00000 */ GameState state; diff --git a/include/z_player.h b/include/z_player.h deleted file mode 100644 index e057812fb..000000000 --- a/include/z_player.h +++ /dev/null @@ -1,97 +0,0 @@ -#pragma once -#include "z64global.h" -#include "gfx.h" -#include "z64math.h" -/* -s32 func_800902F0(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data); -s32 func_80090440(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data); - -s32 Player_IsFacingActor(struct Actor* actor, s16 angle, struct GlobalContext* globalCtx); -f32 Player_GetHeight(struct Player* player); -void Player_SetBootData(struct GlobalContext* globalCtx, struct Player* player); -s32 Player_InBlockingCsMode(struct GlobalContext* globalCtx, struct Player* player); -s32 Player_InCsMode(struct GlobalContext* globalCtx); -s32 func_8008E9C4(struct Player* player); -s32 Player_IsChildWithHylianShield(struct Player* player); -s32 Player_ActionToModelGroup(struct Player* player, s32 actionParam); -void Player_SetModelsForHoldingShield(struct Player* player); -void Player_SetModels(struct Player* player, s32 modelGroup); -void Player_SetModelGroup(struct Player* player, s32 modelGroup); -void func_8008EC70(struct Player* player); -void Player_SetEquipmentData(struct GlobalContext* globalCtx, struct Player* player); -void Player_UpdateBottleHeld(struct GlobalContext* globalCtx, struct Player* player, s32 item, s32 actionParam); -s32 Player_IsBurningStickInRange(struct GlobalContext* globalCtx, Vec3f* pos, f32 radius, f32 arg3); -s32 Player_GetStrength(void); -u8 Player_GetMask(struct GlobalContext* globalCtx); -struct Player* Player_UnsetMask(struct GlobalContext* globalCtx); -s32 Player_HasMirrorShieldEquipped(struct GlobalContext* globalCtx); -s32 Player_HasMirrorShieldSetToDraw(struct GlobalContext* globalCtx); -s32 Player_ActionToMagicSpell(struct Player* player, s32 actionParam); -s32 Player_HoldsHookshot(struct Player* player); -s32 func_8008F128(struct Player* player); -s32 Player_ActionToSword(s32 actionParam); -s32 Player_GetSwordHeld(struct Player* player); -s32 Player_HoldsTwoHandedWeapon(struct Player* player); -s32 Player_HoldsBrokenKnife(struct Player* player); -s32 Player_ActionToBottle(struct Player* player, s32 actionParam); -s32 Player_GetBottleHeld(struct Player* player); -s32 Player_ActionToExplosive(struct Player* player, s32 actionParam); -s32 Player_GetExplosiveHeld(struct Player* player); -void Player_DrawGetItem(struct GlobalContext* globalCtx, struct Player* player); - - -Gfx* Gameplay_SetFog(struct GlobalContext* globalCtx, Gfx* gfx); -void Gameplay_Destroy(GameState* thissx); -void Gameplay_Init(GameState* thissx); -void Gameplay_Main(GameState* thissx); -s32 Gameplay_InCsMode(struct GlobalContext* globalCtx); -f32 func_800BFCB8(struct GlobalContext* globalCtx, MtxF* mf, struct Vec3f* vec); -void* Gameplay_LoadFile(struct GlobalContext* globalCtx, RomFile* file); -void Gameplay_SpawnScene(struct GlobalContext* globalCtx, s32 sceneNum, s32 spawn); -void func_800C016C(struct GlobalContext* globalCtx, struct Vec3f* src, struct Vec3f* dest); -s16 Gameplay_CreateSubCamera(struct GlobalContext* globalCtx); -s16 Gameplay_GetActiveCamId(struct GlobalContext* globalCtx); -s16 Gameplay_ChangeCameraStatus(struct GlobalContext* globalCtx, s16 camId, s16 status); -void Gameplay_ClearCamera(struct GlobalContext* globalCtx, s16 camId); -void Gameplay_ClearAllSubCameras(struct GlobalContext* globalCtx); -Camera* Gameplay_GetCamera(struct GlobalContext* globalCtx, s16 camId); -s32 Gameplay_CameraSetAtEye(struct GlobalContext* globalCtx, s16 camId, struct Vec3f* at, struct Vec3f* eye); -s32 Gameplay_CameraSetAtEyeUp(struct GlobalContext* globalCtx, s16 camId, struct Vec3f* at, struct Vec3f* eye, struct Vec3f* up); -s32 Gameplay_CameraSetFov(struct GlobalContext* globalCtx, s16 camId, f32 fov); -s32 Gameplay_SetCameraRoll(struct GlobalContext* globalCtx, s16 camId, s16 roll); -void Gameplay_CopyCamera(struct GlobalContext* globalCtx, s16 camId1, s16 camId2); -s32 func_800C0808(struct GlobalContext* globalCtx, s16 camId, struct Player* player, s16 arg3); -s32 Gameplay_CameraChangeSetting(struct GlobalContext* globalCtx, s16 camId, s16 arg2); -void func_800C08AC(struct GlobalContext* globalCtx, s16 camId, s16 arg2); -void Gameplay_SaveSceneFlags(struct GlobalContext* globalCtx); -void Gameplay_SetupRespawnPoint(struct GlobalContext* globalCtx, s32 respawnMode, s32 playerParams); -void Gameplay_TriggerVoidOut(struct GlobalContext* globalCtx); -void Gameplay_TriggerRespawn(struct GlobalContext* globalCtx); - -void func_8008F470(struct GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic, - s32 boots, s32 face, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* thiss); // z_player_lib -s32 func_8008FCC8(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data); -s32 func_80090014(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data); -s32 func_800902F0(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data); -s32 func_80090440(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data); -u8 func_80090480(struct GlobalContext* globalCtx, ColliderQuad* collider, struct WeaponInfo* weaponDim, Vec3f* newTip, - Vec3f* newBase); - - -void func_80090D20(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, void* data); // z_player_lib -u32 func_80091738(struct GlobalContext* globalCtx, u8* segment, struct SkelAnime* skelAnime); // z_player_lib - -void func_8009214C(struct GlobalContext* globalCtx, u8* segment, struct SkelAnime* skelAnime, Vec3f* pos, Vec3s* rot, f32 scale, -s32 sword, s32 tunic, s32 shield, s32 boots); // z_player_lib - -void func_8008EDF0(struct Player* player); // z_player_lib -void func_8008EE08(struct Player* player); -void func_8008EEAC(struct GlobalContext* globalCtx, Actor* actor); -s32 func_8008EF44(struct GlobalContext* globalCtx, s32 ammo); // z_player_lib - -s32 func_8008F2BC(struct Player* player, s32 actionParam); -s32 func_8008F2F8(struct GlobalContext* globalCtx); - -*/ - - diff --git a/src/code/graph.cpp b/src/code/graph.cpp index 29832cb54..0f15fdaca 100644 --- a/src/code/graph.cpp +++ b/src/code/graph.cpp @@ -6,7 +6,6 @@ #include "n64fault.h" #include "z64game.h" #include "z_opening.h" -#include "z_player.h" #include "z_select.h" #include "z_file_choose.h" #include "title_setup.h" diff --git a/src/code/z_game_dlftbls.cpp b/src/code/z_game_dlftbls.cpp index 447772c47..4258fbbfa 100644 --- a/src/code/z_game_dlftbls.cpp +++ b/src/code/z_game_dlftbls.cpp @@ -1,11 +1,11 @@ #define INTERNAL_SRC_CODE_Z_GAME_DLFTBLS_C #include "global.h" #include "z64game.h" +#include "z64global.h" #include "title_setup.h" #include "segment_symbols.h" #include "z_select.h" #include "z_title.h" -#include "z_player.h" #include "z_opening.h" #include "z_file_choose.h" #include "def/z_game_dlftbls.h" diff --git a/src/code/z_player_lib.cpp b/src/code/z_player_lib.cpp index 4c3855f05..c341339ef 100644 --- a/src/code/z_player_lib.cpp +++ b/src/code/z_player_lib.cpp @@ -6,7 +6,6 @@ #include "z64save.h" #include "z64object.h" #include "z64item.h" -#include "z_player.h" #include "objects/gameplay_keep/gameplay_keep.h" #include "objects/object_link_boy/object_link_boy.h" #include "objects/object_link_child/object_link_child.h" diff --git a/src/code/z_sample.cpp b/src/code/z_sample.cpp index 8d95845ce..0c32a2d5c 100644 --- a/src/code/z_sample.cpp +++ b/src/code/z_sample.cpp @@ -6,7 +6,7 @@ #include "textures/title_static/title_static.h" #include "z_sample.h" #include "padmgr.h" -#include "z_player.h" +#include "z64player.h" #include "def/game.h" #include "def/graph.h" #include "def/position.h" diff --git a/src/overlays/actors/ovl_player_actor/z_player.h b/src/overlays/actors/ovl_player_actor/z_player.h new file mode 100644 index 000000000..359166389 --- /dev/null +++ b/src/overlays/actors/ovl_player_actor/z_player.h @@ -0,0 +1,182 @@ +#pragma once + +typedef void (*PlayerFunc674)(struct Player*, struct GlobalContext*); +typedef s32 (*PlayerFunc82C)(struct Player*, struct GlobalContext*); +typedef void (*PlayerFuncA74)(struct GlobalContext*, struct Player*); + +struct Player { + /* 0x0000 */ Actor actor; + /* 0x014C */ s8 currentTunic; // current tunic from `PlayerTunic` + /* 0x014D */ s8 currentSword; // current sword Item ID + /* 0x014E */ s8 currentShield; // current shield from `PlayerShield` + /* 0x014F */ s8 currentBoots; // current boots from `PlayerBoots` + /* 0x0150 */ s8 heldItemButton; // Button index for the item currently used + /* 0x0151 */ s8 heldItemActionParam; // Action param for the item currently used + /* 0x0152 */ u8 heldItemId; // Item id for the item currently used + /* 0x0153 */ s8 prevBoots; // previous boots from `PlayerBoots` + /* 0x0154 */ s8 itemActionParam; // the difference between this and heldItemActionParam is unclear + /* 0x0155 */ char unk_155[0x003]; + /* 0x0158 */ u8 modelGroup; + /* 0x0159 */ u8 nextModelGroup; + /* 0x015A */ s8 unk_15A; + /* 0x015B */ u8 modelAnimType; + /* 0x015C */ u8 leftHandType; + /* 0x015D */ u8 rightHandType; + /* 0x015E */ u8 sheathType; + /* 0x015F */ u8 currentMask; // current mask equipped from `PlayerMask` + /* 0x0160 */ Gfx** rightHandDLists; + /* 0x0164 */ Gfx** leftHandDLists; + /* 0x0168 */ Gfx** sheathDLists; + /* 0x016C */ Gfx** waistDLists; + /* 0x0170 */ u8 giObjectLoading; + /* 0x0174 */ DmaRequest giObjectDmaRequest; + /* 0x0194 */ OSMesgQueue giObjectLoadQueue; + /* 0x01AC */ OSMesg giObjectLoadMsg; + /* 0x01B0 */ void* giObjectSegment; // also used for title card textures + /* 0x01B4 */ SkelAnime skelAnime; + /* 0x01F8 */ Vec3s jointTable[PLAYER_LIMB_BUF_COUNT]; + /* 0x0288 */ Vec3s morphTable[PLAYER_LIMB_BUF_COUNT]; + /* 0x0318 */ Vec3s blendTable[PLAYER_LIMB_BUF_COUNT]; + /* 0x03A8 */ s16 unk_3A8[2]; + /* 0x03AC */ Actor* heldActor; + /* 0x03B0 */ Vec3f leftHandPos; + /* 0x03BC */ Vec3s unk_3BC; + /* 0x03C4 */ Actor* unk_3C4; + /* 0x03C8 */ Vec3f unk_3C8; + /* 0x03D4 */ char unk_3D4[0x058]; + /* 0x042C */ s8 doorType; + /* 0x042D */ s8 doorDirection; + /* 0x042E */ s16 doorTimer; + /* 0x0430 */ Actor* doorActor; + /* 0x0434 */ s8 getItemId; + /* 0x0436 */ u16 getItemDirection; + /* 0x0438 */ Actor* interactRangeActor; + /* 0x043C */ s8 mountSide; + /* 0x043D */ char unk_43D[0x003]; + /* 0x0440 */ Actor* rideActor; + /* 0x0444 */ u8 csMode; + /* 0x0445 */ u8 prevCsMode; + /* 0x0446 */ u8 unk_446; + /* 0x0447 */ u8 unk_447; + /* 0x0448 */ Actor* unk_448; + /* 0x044C */ char unk_44C[0x004]; + /* 0x0450 */ Vec3f unk_450; + /* 0x045C */ Vec3f unk_45C; + /* 0x0468 */ char unk_468[0x002]; + /* 0x046A */ s16 unk_46A; + /* 0x046C */ s16 unk_46C; + /* 0x046E */ char unk_46E[0x02A]; + /* 0x0498 */ ColliderCylinder cylinder; + /* 0x04E4 */ ColliderQuad swordQuads[2]; + /* 0x05E4 */ ColliderQuad shieldQuad; + /* 0x0664 */ Actor* unk_664; + /* 0x0668 */ char unk_668[0x004]; + /* 0x066C */ s32 unk_66C; + /* 0x0670 */ s32 swordEffectIndex; + /* 0x0674 */ PlayerFunc674 func_674; + /* 0x0678 */ PlayerAgeProperties* ageProperties; + /* 0x067C */ u32 stateFlags1; + /* 0x0680 */ u32 stateFlags2; + /* 0x0684 */ Actor* unk_684; + /* 0x0688 */ Actor* boomerangActor; + /* 0x068C */ Actor* naviActor; + /* 0x0690 */ s16 naviTextId; + /* 0x0692 */ u8 stateFlags3; + /* 0x0693 */ s8 exchangeItemId; + /* 0x0694 */ Actor* targetActor; + /* 0x0698 */ f32 targetActorDistance; + /* 0x069C */ char unk_69C[0x004]; + /* 0x06A0 */ f32 unk_6A0; + /* 0x06A4 */ f32 unk_6A4; + /* 0x06A8 */ Actor* unk_6A8; + /* 0x06AC */ s8 unk_6AC; + /* 0x06AD */ u8 unk_6AD; + /* 0x06AE */ u16 unk_6AE; + /* 0x06B0 */ s16 unk_6B0; + /* 0x06B2 */ char unk_6B4[0x004]; + /* 0x06B6 */ s16 unk_6B6; + /* 0x06B8 */ s16 unk_6B8; + /* 0x06BA */ s16 unk_6BA; + /* 0x06BC */ s16 unk_6BC; + /* 0x06BE */ s16 unk_6BE; + /* 0x06C0 */ s16 unk_6C0; + /* 0x06C2 */ s16 unk_6C2; + /* 0x06C4 */ f32 unk_6C4; + /* 0x06C8 */ SkelAnime skelAnime2; + /* 0x070C */ Vec3s jointTable2[PLAYER_LIMB_BUF_COUNT]; + /* 0x079C */ Vec3s morphTable2[PLAYER_LIMB_BUF_COUNT]; + /* 0x082C */ PlayerFunc82C func_82C; + /* 0x0830 */ f32 unk_830; + /* 0x0834 */ s16 unk_834; + /* 0x0836 */ s8 unk_836; + /* 0x0837 */ u8 unk_837; + /* 0x0838 */ f32 linearVelocity; + /* 0x083C */ s16 currentYaw; + /* 0x083E */ s16 targetYaw; + /* 0x0840 */ u16 unk_840; + /* 0x0842 */ s8 swordAnimation; + /* 0x0843 */ s8 swordState; + /* 0x0844 */ s8 unk_844; + /* 0x0845 */ u8 unk_845; + /* 0x0846 */ u8 unk_846; + /* 0x0847 */ s8 unk_847[4]; + /* 0x084B */ s8 unk_84B[4]; + /* 0x084F */ s8 unk_84F; + /* 0x0850 */ s16 unk_850; // multipurpose timer + /* 0x0854 */ f32 unk_854; + /* 0x0858 */ f32 unk_858; + /* 0x085C */ f32 unk_85C; // stick length among other things + /* 0x0860 */ s16 unk_860; // stick flame timer among other things + /* 0x0862 */ s8 unk_862; // get item draw ID + 1 + /* 0x0864 */ f32 unk_864; + /* 0x0868 */ f32 unk_868; + /* 0x086C */ f32 unk_86C; + /* 0x0870 */ f32 unk_870; + /* 0x0874 */ f32 unk_874; + /* 0x0878 */ f32 unk_878; + /* 0x087C */ s16 unk_87C; + /* 0x087E */ s16 unk_87E; + /* 0x0880 */ f32 unk_880; + /* 0x0884 */ f32 wallHeight; // height used to determine whether link can climb or grab a ledge at the top + /* 0x0888 */ f32 wallDistance; // distance to the colliding wall plane + /* 0x088C */ u8 unk_88C; + /* 0x088D */ u8 unk_88D; + /* 0x088E */ u8 unk_88E; + /* 0x088F */ u8 unk_88F; + /* 0x0890 */ u8 unk_890; + /* 0x0891 */ u8 shockTimer; + /* 0x0892 */ u8 unk_892; + /* 0x0893 */ u8 hoverBootsTimer; + /* 0x0894 */ s16 fallStartHeight; // last truncated Y position before falling + /* 0x0896 */ s16 fallDistance; // truncated Y distance the player has fallen so far (positive is down) + /* 0x0898 */ s16 unk_898; + /* 0x089A */ s16 unk_89A; + /* 0x089C */ s16 unk_89C; + /* 0x089E */ u16 unk_89E; + /* 0x08A0 */ u8 unk_8A0; + /* 0x08A1 */ u8 unk_8A1; + /* 0x08A2 */ s16 unk_8A2; + /* 0x08A4 */ f32 unk_8A4; + /* 0x08A8 */ f32 unk_8A8; + /* 0x08AC */ f32 windSpeed; + /* 0x08B0 */ s16 windDirection; + /* 0x08B4 */ WeaponInfo swordInfo[3]; + /* 0x0908 */ Vec3f bodyPartsPos[18]; + /* 0x09E0 */ MtxF mf_9E0; + /* 0x0A20 */ MtxF shieldMf; + /* 0x0A60 */ u8 isBurning; + /* 0x0A61 */ u8 flameTimers[18]; // one flame per body part + /* 0x0A73 */ u8 unk_A73; + /* 0x0A74 */ PlayerFuncA74 func_A74; + /* 0x0A78 */ s8 invincibilityTimer; // prevents damage when nonzero (positive = visible, counts towards zero each frame) + /* 0x0A79 */ u8 unk_A79; + /* 0x0A7A */ u8 unk_A7A; + /* 0x0A7B */ u8 unk_A7B; + /* 0x0A7C */ f32 unk_A7C; + /* 0x0A80 */ s16 unk_A80; + /* 0x0A82 */ u16 unk_A82; + /* 0x0A84 */ s16 unk_A84; + /* 0x0A86 */ s8 unk_A86; + /* 0x0A87 */ u8 unk_A87; + /* 0x0A88 */ Vec3f unk_A88; // previous body part 0 position +}; // size = 0xA94 \ No newline at end of file diff --git a/src/overlays/gamestates/ovl_file_choose/z_file_choose.cpp b/src/overlays/gamestates/ovl_file_choose/z_file_choose.cpp index 7a82e9902..85e9064be 100644 --- a/src/overlays/gamestates/ovl_file_choose/z_file_choose.cpp +++ b/src/overlays/gamestates/ovl_file_choose/z_file_choose.cpp @@ -1,7 +1,7 @@ #define INTERNAL_SRC_OVERLAYS_GAMESTATES_OVL_FILE_CHOOSE_Z_FILE_CHOOSE_C #include "actor_common.h" #include "z_kankyo.h" -#include "z_player.h" +#include "z64player.h" #include "z_play.h" #include "z_file_choose.h" #include "z_select.h" diff --git a/src/overlays/gamestates/ovl_opening/z_opening.cpp b/src/overlays/gamestates/ovl_opening/z_opening.cpp index 53ab06d3f..c41e07ddc 100644 --- a/src/overlays/gamestates/ovl_opening/z_opening.cpp +++ b/src/overlays/gamestates/ovl_opening/z_opening.cpp @@ -2,7 +2,6 @@ #include "actor_common.h" #include "framerate.h" #include "z_opening.h" -#include "z_player.h" /* * File: z_opening.c * Overlay: ovl_opening diff --git a/src/overlays/gamestates/ovl_select/z_select.cpp b/src/overlays/gamestates/ovl_select/z_select.cpp index bfb28f969..8f3c7628c 100644 --- a/src/overlays/gamestates/ovl_select/z_select.cpp +++ b/src/overlays/gamestates/ovl_select/z_select.cpp @@ -3,7 +3,6 @@ #include "z_select.h" #include "z_title.h" #include "z_kankyo.h" -#include "z_player.h" #include "framerate.h" #include "gfxprint.h" #include