mirror of
https://github.com/blawar/ooot.git
synced 2024-06-25 22:09:34 +00:00
218 lines
5.7 KiB
C
218 lines
5.7 KiB
C
#pragma once
|
|
|
|
#include "gfx.h"
|
|
#include "z64global.h"
|
|
#include "z64math.h"
|
|
|
|
#include "z64actor.h"
|
|
|
|
struct Player;
|
|
|
|
enum PlayerShield
|
|
{
|
|
/* 0x00 */ PLAYER_SHIELD_NONE,
|
|
/* 0x01 */ PLAYER_SHIELD_DEKU,
|
|
/* 0x02 */ PLAYER_SHIELD_HYLIAN,
|
|
/* 0x03 */ PLAYER_SHIELD_MIRROR,
|
|
/* 0x04 */ PLAYER_SHIELD_MAX
|
|
};
|
|
|
|
enum PlayerTunic
|
|
{
|
|
/* 0x00 */ PLAYER_TUNIC_KOKIRI,
|
|
/* 0x01 */ PLAYER_TUNIC_GORON,
|
|
/* 0x02 */ PLAYER_TUNIC_ZORA,
|
|
/* 0x03 */ PLAYER_TUNIC_MAX
|
|
};
|
|
|
|
enum PlayerBoots
|
|
{
|
|
/* 0x00 */ PLAYER_BOOTS_NORMAL,
|
|
/* 0x01 */ PLAYER_BOOTS_IRON,
|
|
/* 0x02 */ PLAYER_BOOTS_HOVER,
|
|
/* Values below are only relevant when setting regs in Player_SetBootData */
|
|
/* 0x03 */ PLAYER_BOOTS_INDOOR,
|
|
/* 0x04 */ PLAYER_BOOTS_IRON_UNDERWATER,
|
|
/* 0x05 */ PLAYER_BOOTS_NORMAL_CHILD,
|
|
/* 0x06 */ PLAYER_BOOTS_MAX
|
|
};
|
|
|
|
enum PlayerStrength
|
|
{
|
|
/* 0x00 */ PLAYER_STR_NONE,
|
|
/* 0x01 */ PLAYER_STR_BRACELET,
|
|
/* 0x02 */ PLAYER_STR_SILVER_G,
|
|
/* 0x03 */ PLAYER_STR_GOLD_G,
|
|
/* 0x04 */ PLAYER_STR_MAX
|
|
};
|
|
|
|
enum PlayerMask
|
|
{
|
|
/* 0x00 */ PLAYER_MASK_NONE,
|
|
/* 0x01 */ PLAYER_MASK_KEATON,
|
|
/* 0x02 */ PLAYER_MASK_SKULL,
|
|
/* 0x03 */ PLAYER_MASK_SPOOKY,
|
|
/* 0x04 */ PLAYER_MASK_BUNNY,
|
|
/* 0x05 */ PLAYER_MASK_GORON,
|
|
/* 0x06 */ PLAYER_MASK_ZORA,
|
|
/* 0x07 */ PLAYER_MASK_GERUDO,
|
|
/* 0x08 */ PLAYER_MASK_TRUTH,
|
|
/* 0x09 */ PLAYER_MASK_MAX
|
|
};
|
|
|
|
enum PlayerActionParam
|
|
{
|
|
/* 0x00 */ PLAYER_AP_NONE,
|
|
/* 0x01 */ PLAYER_AP_LAST_USED,
|
|
/* 0x02 */ PLAYER_AP_FISHING_POLE,
|
|
/* 0x03 */ PLAYER_AP_SWORD_MASTER,
|
|
/* 0x04 */ PLAYER_AP_SWORD_KOKIRI,
|
|
/* 0x05 */ PLAYER_AP_SWORD_BGS,
|
|
/* 0x06 */ PLAYER_AP_STICK,
|
|
/* 0x07 */ PLAYER_AP_HAMMER,
|
|
/* 0x08 */ PLAYER_AP_BOW,
|
|
/* 0x09 */ PLAYER_AP_BOW_FIRE,
|
|
/* 0x0A */ PLAYER_AP_BOW_ICE,
|
|
/* 0x0B */ PLAYER_AP_BOW_LIGHT,
|
|
/* 0x0C */ PLAYER_AP_BOW_0C,
|
|
/* 0x0D */ PLAYER_AP_BOW_0D,
|
|
/* 0x0E */ PLAYER_AP_BOW_0E,
|
|
/* 0x0F */ PLAYER_AP_SLINGSHOT,
|
|
/* 0x10 */ PLAYER_AP_HOOKSHOT,
|
|
/* 0x11 */ PLAYER_AP_LONGSHOT,
|
|
/* 0x12 */ PLAYER_AP_BOMB,
|
|
/* 0x13 */ PLAYER_AP_BOMBCHU,
|
|
/* 0x14 */ PLAYER_AP_BOOMERANG,
|
|
/* 0x15 */ PLAYER_AP_MAGIC_SPELL_15,
|
|
/* 0x16 */ PLAYER_AP_MAGIC_SPELL_16,
|
|
/* 0x17 */ PLAYER_AP_MAGIC_SPELL_17,
|
|
/* 0x18 */ PLAYER_AP_FARORES_WIND,
|
|
/* 0x19 */ PLAYER_AP_NAYRUS_LOVE,
|
|
/* 0x1A */ PLAYER_AP_DINS_FIRE,
|
|
/* 0x1B */ PLAYER_AP_NUT,
|
|
/* 0x1C */ PLAYER_AP_OCARINA_FAIRY,
|
|
/* 0x1D */ PLAYER_AP_OCARINA_TIME,
|
|
/* 0x1E */ PLAYER_AP_BOTTLE,
|
|
/* 0x1F */ PLAYER_AP_BOTTLE_FISH,
|
|
/* 0x20 */ PLAYER_AP_BOTTLE_FIRE,
|
|
/* 0x21 */ PLAYER_AP_BOTTLE_BUG,
|
|
/* 0x22 */ PLAYER_AP_BOTTLE_POE,
|
|
/* 0x23 */ PLAYER_AP_BOTTLE_BIG_POE,
|
|
/* 0x24 */ PLAYER_AP_BOTTLE_LETTER,
|
|
/* 0x25 */ PLAYER_AP_BOTTLE_POTION_RED,
|
|
/* 0x26 */ PLAYER_AP_BOTTLE_POTION_BLUE,
|
|
/* 0x27 */ PLAYER_AP_BOTTLE_POTION_GREEN,
|
|
/* 0x28 */ PLAYER_AP_BOTTLE_MILK,
|
|
/* 0x29 */ PLAYER_AP_BOTTLE_MILK_HALF,
|
|
/* 0x2A */ PLAYER_AP_BOTTLE_FAIRY,
|
|
/* 0x2B */ PLAYER_AP_LETTER_ZELDA,
|
|
/* 0x2C */ PLAYER_AP_WEIRD_EGG,
|
|
/* 0x2D */ PLAYER_AP_CHICKEN,
|
|
/* 0x2E */ PLAYER_AP_BEAN,
|
|
/* 0x2F */ PLAYER_AP_POCKET_EGG,
|
|
/* 0x30 */ PLAYER_AP_POCKET_CUCCO,
|
|
/* 0x31 */ PLAYER_AP_COJIRO,
|
|
/* 0x32 */ PLAYER_AP_ODD_MUSHROOM,
|
|
/* 0x33 */ PLAYER_AP_ODD_POTION,
|
|
/* 0x34 */ PLAYER_AP_SAW,
|
|
/* 0x35 */ PLAYER_AP_SWORD_BROKEN,
|
|
/* 0x36 */ PLAYER_AP_PRESCRIPTION,
|
|
/* 0x37 */ PLAYER_AP_FROG,
|
|
/* 0x38 */ PLAYER_AP_EYEDROPS,
|
|
/* 0x39 */ PLAYER_AP_CLAIM_CHECK,
|
|
/* 0x3A */ PLAYER_AP_MASK_KEATON,
|
|
/* 0x3B */ PLAYER_AP_MASK_SKULL,
|
|
/* 0x3C */ PLAYER_AP_MASK_SPOOKY,
|
|
/* 0x3D */ PLAYER_AP_MASK_BUNNY,
|
|
/* 0x3E */ PLAYER_AP_MASK_GORON,
|
|
/* 0x3F */ PLAYER_AP_MASK_ZORA,
|
|
/* 0x40 */ PLAYER_AP_MASK_GERUDO,
|
|
/* 0x41 */ PLAYER_AP_MASK_TRUTH,
|
|
/* 0x42 */ PLAYER_AP_LENS,
|
|
/* 0x43 */ PLAYER_AP_MAX
|
|
};
|
|
|
|
enum PlayerLimb
|
|
{
|
|
/* 0x00 */ PLAYER_LIMB_NONE,
|
|
/* 0x01 */ PLAYER_LIMB_ROOT,
|
|
/* 0x02 */ PLAYER_LIMB_WAIST,
|
|
/* 0x03 */ PLAYER_LIMB_LOWER,
|
|
/* 0x04 */ PLAYER_LIMB_R_THIGH,
|
|
/* 0x05 */ PLAYER_LIMB_R_SHIN,
|
|
/* 0x06 */ PLAYER_LIMB_R_FOOT,
|
|
/* 0x07 */ PLAYER_LIMB_L_THIGH,
|
|
/* 0x08 */ PLAYER_LIMB_L_SHIN,
|
|
/* 0x09 */ PLAYER_LIMB_L_FOOT,
|
|
/* 0x0A */ PLAYER_LIMB_UPPER,
|
|
/* 0x0B */ PLAYER_LIMB_HEAD,
|
|
/* 0x0C */ PLAYER_LIMB_HAT,
|
|
/* 0x0D */ PLAYER_LIMB_COLLAR,
|
|
/* 0x0E */ PLAYER_LIMB_L_SHOULDER,
|
|
/* 0x0F */ PLAYER_LIMB_L_FOREARM,
|
|
/* 0x10 */ PLAYER_LIMB_L_HAND,
|
|
/* 0x11 */ PLAYER_LIMB_R_SHOULDER,
|
|
/* 0x12 */ PLAYER_LIMB_R_FOREARM,
|
|
/* 0x13 */ PLAYER_LIMB_R_HAND,
|
|
/* 0x14 */ PLAYER_LIMB_SHEATH,
|
|
/* 0x15 */ PLAYER_LIMB_TORSO,
|
|
/* 0x16 */ PLAYER_LIMB_MAX
|
|
};
|
|
|
|
enum PlayerDoorType
|
|
{
|
|
/* -1 */ PLAYER_DOORTYPE_AJAR = -1,
|
|
/* 0 */ PLAYER_DOORTYPE_NONE,
|
|
/* 1 */ PLAYER_DOORTYPE_HANDLE,
|
|
/* 2 */ PLAYER_DOORTYPE_SLIDING,
|
|
/* 3 */ PLAYER_DOORTYPE_FAKE
|
|
};
|
|
|
|
#define PLAYER_LIMB_BUF_COUNT PLAYER_LIMB_MAX + 2 // 2 extra entries in limb buffers?
|
|
|
|
struct PlayerAgeProperties
|
|
{
|
|
/* 0x00 */ f32 unk_00;
|
|
/* 0x04 */ f32 unk_04;
|
|
/* 0x08 */ f32 unk_08;
|
|
/* 0x0C */ f32 unk_0C;
|
|
/* 0x10 */ f32 unk_10;
|
|
/* 0x14 */ f32 unk_14;
|
|
/* 0x18 */ f32 unk_18;
|
|
/* 0x1C */ f32 unk_1C;
|
|
/* 0x20 */ f32 unk_20;
|
|
/* 0x24 */ f32 unk_24;
|
|
/* 0x28 */ f32 unk_28;
|
|
/* 0x2C */ f32 unk_2C;
|
|
/* 0x30 */ f32 unk_30;
|
|
/* 0x34 */ f32 unk_34;
|
|
/* 0x38 */ f32 unk_38;
|
|
/* 0x3C */ f32 unk_3C;
|
|
/* 0x40 */ f32 unk_40;
|
|
/* 0x44 */ Vec3s unk_44;
|
|
/* 0x4A */ Vec3s unk_4A[4];
|
|
/* 0x62 */ Vec3s unk_62[4];
|
|
/* 0x7A */ Vec3s unk_7A[2];
|
|
/* 0x86 */ Vec3s unk_86[2];
|
|
/* 0x92 */ u16 unk_92;
|
|
/* 0x94 */ u16 unk_94;
|
|
/* 0x98 */ LinkAnimationHeader* unk_98;
|
|
/* 0x9C */ LinkAnimationHeader* unk_9C;
|
|
/* 0xA0 */ LinkAnimationHeader* unk_A0;
|
|
/* 0xA4 */ LinkAnimationHeader* unk_A4;
|
|
/* 0xA8 */ LinkAnimationHeader* unk_A8;
|
|
/* 0xAC */ LinkAnimationHeader* unk_AC[4];
|
|
/* 0xBC */ LinkAnimationHeader* unk_BC[2];
|
|
/* 0xC4 */ LinkAnimationHeader* unk_C4[2];
|
|
/* 0xCC */ LinkAnimationHeader* unk_CC[2];
|
|
}; // size = 0xD4
|
|
|
|
struct WeaponInfo
|
|
{
|
|
/* 0x00 */ s32 active;
|
|
/* 0x04 */ Vec3f tip;
|
|
/* 0x10 */ Vec3f base;
|
|
}; // size = 0x1C
|
|
|
|
#include "overlays/actors/ovl_player_actor/z_player.h"
|