1
0
mirror of https://github.com/blawar/ooot.git synced 2024-07-02 09:03:36 +00:00

refactored z_player.h

This commit is contained in:
Blake Warner 2022-02-15 16:03:46 -05:00
parent 50e237f5be
commit 6d4faff5a8
13 changed files with 197 additions and 288 deletions

1
.gitignore vendored
View File

@ -28,6 +28,7 @@ out.txt
*.log
*.sav
*.tas
*.bak
# Tool artifacts

View File

@ -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)

View File

@ -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"

View File

@ -4,6 +4,7 @@
#include "z64environment.h"
#include "z64message.h"
#include "z64render.h"
#include "z64sram.h"
struct FileChooseContext {
/* 0x00000 */ GameState state;

View File

@ -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);
*/

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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 <malloc.h>