diff --git a/assets/xml/objects/gameplay_keep.xml b/assets/xml/objects/gameplay_keep.xml index b40994d0c4..b467c1034f 100644 --- a/assets/xml/objects/gameplay_keep.xml +++ b/assets/xml/objects/gameplay_keep.xml @@ -12,7 +12,7 @@ - + @@ -20,8 +20,8 @@ - - + + @@ -30,7 +30,7 @@ - + @@ -38,7 +38,8 @@ - + + @@ -1220,7 +1221,7 @@ - + @@ -1491,7 +1492,7 @@ - + diff --git a/assets/xml/objects/object_link_boy.xml b/assets/xml/objects/object_link_boy.xml index 68ec00737f..2fe50d9bca 100644 --- a/assets/xml/objects/object_link_boy.xml +++ b/assets/xml/objects/object_link_boy.xml @@ -2,42 +2,45 @@ - - + + - + - - - - - - - - - + + + + + + + + + + - + - - - - - - - + + + + + + + + - - - - + + + + + - + @@ -46,36 +49,38 @@ - + - - + + - + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_link_child.xml b/assets/xml/objects/object_link_child.xml index 5ad9030480..23d3cf09c6 100644 --- a/assets/xml/objects/object_link_child.xml +++ b/assets/xml/objects/object_link_child.xml @@ -1,25 +1,28 @@  - - - - - - - + + + + + + + - - - - - - + + + + + + + + + - - - + + + @@ -29,37 +32,44 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + @@ -67,49 +77,51 @@ - + + - + - + - + - - - - + + + + - + - + + - - - + + + - + - - - + + + @@ -122,35 +134,60 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_link_goron.xml b/assets/xml/objects/object_link_goron.xml index 39686b4f7c..48eef4dd9c 100644 --- a/assets/xml/objects/object_link_goron.xml +++ b/assets/xml/objects/object_link_goron.xml @@ -1,8 +1,13 @@  - + + + + + - + + @@ -17,26 +22,28 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -45,9 +52,9 @@ - + - + @@ -59,7 +66,7 @@ - + @@ -76,33 +83,36 @@ - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_link_nuts.xml b/assets/xml/objects/object_link_nuts.xml index eb072c940e..a00c44db46 100644 --- a/assets/xml/objects/object_link_nuts.xml +++ b/assets/xml/objects/object_link_nuts.xml @@ -1,23 +1,24 @@  - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -53,27 +54,28 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_link_zora.xml b/assets/xml/objects/object_link_zora.xml index 9a973c56a7..5833293b84 100644 --- a/assets/xml/objects/object_link_zora.xml +++ b/assets/xml/objects/object_link_zora.xml @@ -1,8 +1,22 @@  - + + + + + + + + + + + + + + - + + @@ -15,24 +29,26 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -48,13 +64,13 @@ - - + + - + @@ -68,29 +84,31 @@ + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/include/functions.h b/include/functions.h index 0e7808642e..f0a96080a5 100644 --- a/include/functions.h +++ b/include/functions.h @@ -1800,15 +1800,15 @@ s32 func_80123448(PlayState* play); s32 Player_IsGoronOrDeku(Player* player); s32 func_801234D4(PlayState* play); s32 func_80123590(PlayState* play, Actor* actor); -s32 func_8012364C(PlayState* play, Player* player, s32 arg2); +ItemId func_8012364C(PlayState* play, Player* player, s32 arg2); s32 func_80123810(PlayState* play); -s32 Player_ActionToModelGroup(Player* player, s32 actionParam); -void func_801239AC(Player* player); -void Player_SetModels(Player* player, s32 modelGroup); -void Player_SetModelGroup(Player* player, s32 modelGroup); +PlayerModelGroup Player_ActionToModelGroup(Player* player, PlayerActionParam actionParam); +void Player_SetModelsForHoldingShield(Player* player); +void Player_SetModels(Player* player, PlayerModelGroup modelGroup); +void Player_SetModelGroup(Player* player, PlayerModelGroup modelGroup); void func_80123C58(Player* player); void Player_SetEquipmentData(PlayState* play, Player* player); -void func_80123D50(PlayState* play, Player* player, s32 itemId, s32 actionParam); +void func_80123D50(PlayState* play, Player* player, ItemId itemId, PlayerActionParam actionParam); void func_80123DA4(Player* player); void func_80123DC0(Player* player); void func_80123E90(PlayState* play, Actor* actor); @@ -1821,21 +1821,21 @@ s32 Player_HasMirrorShieldEquipped(PlayState* play); s32 Player_IsHoldingMirrorShield(PlayState* play); s32 Player_IsHoldingHookshot(Player* player); s32 func_801240DC(Player* player); -s32 func_80124110(Player* player, s32 actionParam); +s32 func_80124110(Player* player, PlayerActionParam actionParam); s32 func_80124148(Player* player); -s32 Player_ActionToMeleeWeapon(s32 actionParam); +s32 Player_ActionToMeleeWeapon(PlayerActionParam actionParam); s32 Player_GetMeleeWeaponHeld(Player* player); s32 Player_IsHoldingTwoHandedWeapon(Player* player); -s32 Player_ActionToBottle(Player* player, s32 actionParam); +s32 Player_ActionToBottle(Player* player, PlayerActionParam actionParam); s32 Player_GetBottleHeld(Player* Player); -s32 Player_ActionToExplosive(Player* player, s32 actionParam); +s32 Player_ActionToExplosive(Player* player, PlayerActionParam actionParam); s32 Player_GetExplosiveHeld(Player* player); -s32 func_80124278(Actor* actor, s32 actionParam); +s32 Player_ActionToSword(Actor* actor, PlayerActionParam actionParam); s32 func_801242B4(Player* player); s32 Player_GetEnvTimerType(PlayState* play); void func_80124420(Player* player); void func_80124618(struct_80124618 arg0[], f32 curFrame, Vec3f* arg2); -void func_801246F4(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic, s32 boots, s32 face, OverrideLimbDrawFlex overrideLimbDraw, PostLimbDrawFlex postLimbDraw, Actor* actor); +void Player_DrawImpl(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, PlayerTransformation playerForm, s32 boots, s32 face, OverrideLimbDrawFlex overrideLimbDraw, PostLimbDrawFlex postLimbDraw, Actor* actor); void func_80125318(Vec3f* arg0, Vec3s* arg1); void Player_DrawZoraShield(PlayState* play, Player* player); void func_80125500(PlayState* play, Player* player, s32 limbIndex, Vec3f* pos, Vec3s* rot); diff --git a/include/variables.h b/include/variables.h index 5b40e11614..88758c50bc 100644 --- a/include/variables.h +++ b/include/variables.h @@ -1,5 +1,5 @@ -#ifndef _VARIABLES_H_ -#define _VARIABLES_H_ +#ifndef VARIABLES_H +#define VARIABLES_H #include "z64.h" #include "segment_symbols.h" @@ -412,7 +412,6 @@ extern EffectSsOverlay gParticleOverlayTable[39]; extern f32 actorMovementScale; extern TargetRangeParams gTargetRanges[]; extern s16 D_801AED48[8]; -// extern UNK_TYPE4 D_801AED58; extern Color_RGBA8 actorDefaultHitColor; // extern UNK_TYPE1 D_801AED8C; // extern UNK_TYPE4 D_801AED98; @@ -773,141 +772,12 @@ extern UNK_PTR D_801BF5C0; // extern UNK_TYPE1 D_801BFD94; // extern UNK_TYPE2 D_801BFD98; -// extern UNK_TYPE1 D_801BFDD0; -// extern UNK_TYPE1 D_801BFE00; -// extern UNK_TYPE1 D_801BFE14; -// extern UNK_TYPE2 D_801BFF34; -// extern UNK_TYPE1 D_801BFF90; -extern u8 gPlayerModelTypes[][5]; -// extern UNK_TYPE1 D_801BFFFC; -// extern UNK_TYPE1 D_801C0024; -// extern UNK_TYPE1 D_801C0034; -// extern UNK_TYPE1 D_801C005C; -// extern UNK_TYPE1 D_801C0084; -// extern UNK_TYPE1 D_801C00AC; -// extern UNK_TYPE1 D_801C00BC; -// extern UNK_TYPE1 D_801C00D4; -// extern UNK_TYPE1 D_801C00EC; -// extern UNK_TYPE1 D_801C0114; -// extern UNK_TYPE1 D_801C013C; -// extern UNK_TYPE1 D_801C0164; -// extern UNK_TYPE1 D_801C018C; -// extern UNK_TYPE1 D_801C01A4; -// extern UNK_TYPE1 D_801C01CC; -// extern UNK_TYPE1 D_801C01F4; -// extern UNK_TYPE1 D_801C021C; -// extern UNK_TYPE1 D_801C0244; -// extern UNK_TYPE1 D_801C026C; -// extern UNK_TYPE1 D_801C0294; -// extern UNK_TYPE1 D_801C02A8; -// extern UNK_TYPE1 D_801C02BC; -// extern UNK_TYPE1 D_801C02D0; -// extern UNK_TYPE1 D_801C02E4; -// extern UNK_TYPE1 D_801C0340; -// extern UNK_TYPE1 D_801C0368; -// extern UNK_TYPE1 D_801C03A0; -// extern UNK_TYPE1 D_801C03C0; -// extern UNK_TYPE1 D_801C03E0; -// extern UNK_TYPE1 D_801C0410; -// extern UNK_TYPE1 D_801C0428; -// extern UNK_TYPE1 D_801C0460; -// extern UNK_TYPE1 D_801C0490; -// extern UNK_TYPE1 D_801C0510; -// extern UNK_TYPE1 D_801C0538; -// extern UNK_TYPE1 D_801C0560; -// extern UNK_TYPE1 D_801C0580; -// extern UNK_TYPE1 D_801C05A8; -// extern UNK_TYPE1 D_801C05C8; -// extern UNK_TYPE1 D_801C05D8; -// extern UNK_TYPE1 D_801C05F0; -// extern UNK_TYPE1 D_801C0608; -// extern UNK_TYPE1 D_801C0628; -// extern UNK_TYPE1 D_801C0678; -// extern UNK_TYPE1 D_801C0698; -// extern UNK_TYPE1 D_801C06B8; -// extern UNK_TYPE1 D_801C06E0; -// extern UNK_TYPE1 D_801C06F8; -// extern UNK_TYPE1 D_801C0718; -// extern UNK_TYPE1 D_801C0730; -// extern UNK_TYPE1 D_801C0740; -// extern UNK_TYPE1 D_801C0750; -// extern UNK_TYPE1 D_801C0778; -// extern UNK_TYPE1 D_801C0784; -// extern UNK_TYPE1 D_801C07AC; -// extern UNK_TYPE1 D_801C07C0; -// extern UNK_TYPE1 D_801C07F0; -// extern UNK_TYPE1 D_801C0820; -// extern UNK_TYPE1 D_801C0838; -extern Gfx D_801C0850[]; -// extern UNK_TYPE1 D_801C0860; -extern UNK_PTR D_801C0870; -// extern UNK_TYPE1 D_801C0890; -// extern UNK_TYPE1 D_801C08A0; -// extern UNK_TYPE1 D_801C08C0; -// extern UNK_TYPE1 D_801C08FC; -// extern UNK_TYPE1 D_801C0910; -// extern UNK_TYPE1 D_801C0924; -// extern UNK_TYPE1 D_801C0938; -// extern UNK_TYPE1 D_801C094C; -// extern UNK_TYPE4 D_801C0958; -extern UNK_PTR D_801C095C; -// extern UNK_TYPE1 D_801C0964; -// extern UNK_TYPE1 D_801C096C; -// extern UNK_TYPE1 D_801C0970; -// extern UNK_TYPE4 D_801C0994; -// extern UNK_TYPE1 D_801C09B8; -// extern UNK_TYPE1 D_801C09DC; -// extern UNK_TYPE1 D_801C0A00; -// extern UNK_TYPE1 D_801C0A24; -// extern UNK_TYPE1 D_801C0A48; -// extern UNK_TYPE1 D_801C0A6C; -// extern UNK_TYPE1 D_801C0A90; -// extern UNK_TYPE1 D_801C0AB4; -// extern UNK_TYPE1 D_801C0ABC; -// extern UNK_TYPE1 D_801C0AC4; -// extern UNK_TYPE1 D_801C0ADC; -extern UNK_PTR D_801C0AF4; -extern UNK_PTR D_801C0AFC; -extern UNK_PTR D_801C0B04; -extern UNK_PTR D_801C0B0C; -// extern UNK_TYPE1 D_801C0B14; -// extern UNK_TYPE1 D_801C0B1C; -// extern UNK_TYPE1 D_801C0B20; -// extern UNK_TYPE1 D_801C0B90; -// extern UNK_TYPE4 D_801C0BA8; -// extern UNK_TYPE1 D_801C0BB4; -// extern UNK_TYPE1 D_801C0BC0; -// extern UNK_TYPE1 D_801C0BD0; -// extern UNK_TYPE4 D_801C0BE0; -// extern UNK_TYPE4 D_801C0BEC; -// extern UNK_TYPE1 D_801C0BF8; -// extern UNK_TYPE1 D_801C0BFC; -// extern UNK_TYPE1 D_801C0C00; -// extern UNK_TYPE4 D_801C0C0C; -// extern UNK_TYPE1 D_801C0C30; -// extern UNK_TYPE1 D_801C0C54; -// extern UNK_TYPE1 D_801C0CA8; -// extern UNK_TYPE4 D_801C0CE8; -// extern UNK_TYPE1 D_801C0D24; -// extern UNK_TYPE1 D_801C0D60; -// extern UNK_TYPE1 D_801C0D6C; -// extern UNK_TYPE1 D_801C0D78; -// extern UNK_TYPE4 D_801C0D94; -// extern UNK_TYPE4 D_801C0D98; -// extern UNK_TYPE4 D_801C0D9C; -// extern UNK_TYPE4 D_801C0DA0; -// extern UNK_TYPE1 D_801C0DA8; -// extern UNK_TYPE1 D_801C0DD8; -// extern UNK_TYPE1 D_801C0DE4; -// extern UNK_TYPE4 D_801C0DF0; -// extern UNK_TYPE1 D_801C0E04; -// extern UNK_TYPE4 D_801C0E2C; -// extern UNK_TYPE4 D_801C0E40; -// extern UNK_TYPE1 D_801C0E7C; -// extern UNK_TYPE1 D_801C0E94; -// extern UNK_TYPE1 D_801C0EA0; -// extern UNK_TYPE1 D_801C0EAC; -// extern UNK_TYPE1 D_801C0EB8; +extern FlexSkeletonHeader* gPlayerSkeletons[PLAYER_FORM_MAX]; +extern PlayerModelIndices gPlayerModelTypes[]; +extern struct_80124618 D_801C03A0[]; +extern struct_80124618 D_801C0490[]; +extern Gfx gCullBackDList[]; +extern Gfx gCullFrontDList[]; extern Gfx sSetupDL[438]; extern Gfx sFillSetupDL[12]; @@ -2750,18 +2620,7 @@ extern s16 D_801F4E7A; // extern UNK_TYPE1 D_801F57B4; // extern UNK_TYPE1 D_801F5834; // extern NmiBuff* gNMIBuffer; -// extern UNK_TYPE1 sPostmanTimerInput; -// extern UNK_TYPE1 D_801F58B0; -// extern UNK_TYPE1 D_801F59AC; -// extern UNK_TYPE1 D_801F59B0; -// extern UNK_TYPE1 D_801F59C8; -// extern UNK_TYPE1 D_801F59D0; -// extern UNK_TYPE1 D_801F59DC; -// extern UNK_TYPE1 D_801F59E0; -// extern UNK_TYPE1 D_801F59E4; -// extern UNK_TYPE1 D_801F59E8; -// extern UNK_TYPE1 D_801F59F4; -// extern UNK_TYPE1 D_801F59F8; + // extern UNK_TYPE1 sSkyboxDrawMatrix; // extern UNK_TYPE1 D_801F6AF0; // extern UNK_TYPE1 D_801F6AF2; diff --git a/include/z64.h b/include/z64.h index 4b2682b1b7..7552cbe660 100644 --- a/include/z64.h +++ b/include/z64.h @@ -724,7 +724,7 @@ typedef struct { #define TRANS_TRIGGER_START 20 // start transition (exiting an area) #define TRANS_TRIGGER_END -20 // transition is ending (arriving in a new area) -typedef enum { +typedef enum TransitionMode { /* 0 */ TRANS_MODE_OFF, /* 1 */ TRANS_MODE_01, /* 2 */ TRANS_MODE_02, @@ -745,7 +745,7 @@ typedef enum { /* 17 */ TRANS_MODE_17 } TransitionMode; -typedef enum { +typedef enum TransitionType { /* 0 */ TRANS_TYPE_00, /* 1 */ TRANS_TYPE_01, /* 2 */ TRANS_TYPE_02, @@ -1048,7 +1048,7 @@ struct PlayState { /* 0x18788 */ void (*talkWithPlayer)(struct PlayState* play, Actor* actor); /* 0x1878C */ void (*unk_1878C)(struct PlayState* play); /* 0x18790 */ void (*unk_18790)(struct PlayState* play, s16 arg1, Actor* actor); - /* 0x18794 */ s32 (*unk_18794)(struct PlayState* play, Player* player, s32 arg2, s32 arg3); + /* 0x18794 */ s32 (*unk_18794)(struct PlayState* play, Player* player, s32 itemId, s32 arg3); /* 0x18798 */ s32 (*setPlayerTalkAnim)(struct PlayState* play, void* talkAnim, s32 arg2); /* 0x1879C */ s16 playerActorCsIds[10]; /* 0x187B0 */ MtxF viewProjectionMtxF; diff --git a/include/z64message.h b/include/z64message.h index 590074339b..7d4723e7be 100644 --- a/include/z64message.h +++ b/include/z64message.h @@ -160,7 +160,8 @@ typedef struct MessageContext { /* 0x120A4 */ s16 unk120A4[6]; /* 0x120B0 */ u8 unk120B0; /* 0x120B1 */ u8 unk120B1; - /* 0x120B2 */ u8 unk120B2[0xC]; + /* 0x120B2 */ u8 unk120B2[0xA]; + /* 0x120BC */ u16 unk_120BC; /* 0x120BE */ s16 unk120BE; /* 0x120C0 */ s16 unk120C0; /* 0x120C2 */ s16 unk120C2; diff --git a/include/z64object.h b/include/z64object.h index 306f84ebd8..e800e91389 100644 --- a/include/z64object.h +++ b/include/z64object.h @@ -1,5 +1,5 @@ -#ifndef _Z64OBJECT_H_ -#define _Z64OBJECT_H_ +#ifndef Z64OBJECT_H +#define Z64OBJECT_H #define OBJECT_SPACE_SIZE_DEFAULT 1413120 #define OBJECT_SPACE_SIZE_CLOCK_TOWN 1566720 diff --git a/include/z64player.h b/include/z64player.h index 2f101b5588..1d7261aa21 100644 --- a/include/z64player.h +++ b/include/z64player.h @@ -97,7 +97,8 @@ typedef enum PlayerActionParam { /* 0x0E */ PLAYER_AP_BOMB, /* 0x0F */ PLAYER_AP_POWDER_KEG, /* 0x10 */ PLAYER_AP_BOMBCHU, - /* 0x12 */ PLAYER_AP_NUT = 0x12, + /* 0x11 */ PLAYER_AP_11, + /* 0x12 */ PLAYER_AP_NUT, /* 0x13 */ PLAYER_AP_PICTO_BOX, /* 0x14 */ PLAYER_AP_OCARINA, /* 0x15 */ PLAYER_AP_BOTTLE, @@ -107,7 +108,8 @@ typedef enum PlayerActionParam { /* 0x19 */ PLAYER_AP_BOTTLE_ZORA_EGG, /* 0x1A */ PLAYER_AP_BOTTLE_DEKU_PRINCESS, /* 0x1B */ PLAYER_AP_BOTTLE_GOLD_DUST, - /* 0x1D */ PLAYER_AP_BOTTLE_SEAHORSE = 0x1D, + /* 0x1C */ PLAYER_AP_BOTTLE_1C, + /* 0x1D */ PLAYER_AP_BOTTLE_SEAHORSE, /* 0x1E */ PLAYER_AP_BOTTLE_MUSHROOM, /* 0x1F */ PLAYER_AP_BOTTLE_HYLIAN_LOACH, /* 0x20 */ PLAYER_AP_BOTTLE_BUG, @@ -128,9 +130,15 @@ typedef enum PlayerActionParam { /* 0x2F */ PLAYER_AP_DEED_SWAMP, /* 0x30 */ PLAYER_AP_DEED_MOUNTAIN, /* 0x31 */ PLAYER_AP_DEED_OCEAN, - /* 0x33 */ PLAYER_AP_LETTER_MAMA = 0x33, - /* 0x36 */ PLAYER_AP_PENDANT_OF_MEMORIES = 0x36, - /* 0x3A */ PLAYER_AP_MASK_TRUTH = 0x3A, + /* 0x32 */ PLAYER_AP_32, + /* 0x33 */ PLAYER_AP_LETTER_MAMA, + /* 0x34 */ PLAYER_AP_34, + /* 0x35 */ PLAYER_AP_35, + /* 0x36 */ PLAYER_AP_PENDANT_OF_MEMORIES, + /* 0x37 */ PLAYER_AP_37, + /* 0x38 */ PLAYER_AP_38, + /* 0x39 */ PLAYER_AP_39, + /* 0x3A */ PLAYER_AP_MASK_TRUTH, /* 0x3B */ PLAYER_AP_MASK_KAFEIS_MASK, /* 0x3C */ PLAYER_AP_MASK_ALL_NIGHT, /* 0x3D */ PLAYER_AP_MASK_BUNNY, @@ -155,7 +163,7 @@ typedef enum PlayerActionParam { /* 0x50 */ PLAYER_AP_MASK_ZORA, /* 0x51 */ PLAYER_AP_MASK_DEKU, /* 0x52 */ PLAYER_AP_LENS, - /* 0xFD */ PLAYER_AP_MAX = 0xFD + /* 0x53 */ PLAYER_AP_MAX } PlayerActionParam; typedef enum { @@ -196,6 +204,134 @@ typedef enum { /* 34 */ PLAYER_MWA_MAX } PlayerMeleeWeaponAnimation; +typedef enum PlayerAnimType { + /* 0 */ PLAYER_ANIMTYPE_0, + /* 1 */ PLAYER_ANIMTYPE_1, + /* 2 */ PLAYER_ANIMTYPE_2, + /* 3 */ PLAYER_ANIMTYPE_3, + /* 4 */ PLAYER_ANIMTYPE_4, + /* 5 */ PLAYER_ANIMTYPE_5, + /* 6 */ PLAYER_ANIMTYPE_MAX +} PlayerAnimType; + +typedef enum PlayerModelType { + // left hand + /* 0 */ PLAYER_MODELTYPE_LH_OPEN, + /* 1 */ PLAYER_MODELTYPE_LH_CLOSED, + /* 2 */ PLAYER_MODELTYPE_LH_ONE_HAND_SWORD, + /* 3 */ PLAYER_MODELTYPE_LH_TWO_HAND_SWORD, + /* 4 */ PLAYER_MODELTYPE_LH_4, + /* 5 */ PLAYER_MODELTYPE_LH_BOTTLE, + // right hand + /* 6 */ PLAYER_MODELTYPE_RH_OPEN, + /* 7 */ PLAYER_MODELTYPE_RH_CLOSED, + /* 8 */ PLAYER_MODELTYPE_RH_SHIELD, + /* 9 */ PLAYER_MODELTYPE_RH_BOW, + /* 10 */ PLAYER_MODELTYPE_RH_INSTRUMENT, + /* 11 */ PLAYER_MODELTYPE_RH_HOOKSHOT, + // sheath + /* 12 */ PLAYER_MODELTYPE_SHEATH_12, + /* 13 */ PLAYER_MODELTYPE_SHEATH_13, + /* 14 */ PLAYER_MODELTYPE_SHEATH_14, + /* 15 */ PLAYER_MODELTYPE_SHEATH_15, + // waist + /* 16 */ PLAYER_MODELTYPE_WAIST, + /* 17 */ PLAYER_MODELTYPE_17, // NULL? + /* 18 */ PLAYER_MODELTYPE_MAX +} PlayerModelType; + +typedef struct PlayerModelIndices { + /* 0x0 */ u8 modelAnimType; // PlayerAnimType enum + /* 0x1 */ u8 leftHandType; // PlayerModelType enum + /* 0x2 */ u8 rightHandType; // PlayerModelType enum + /* 0x3 */ u8 sheathType; // PlayerModelType enum + /* 0x4 */ u8 waistType; // PlayerModelType enum +} PlayerModelIndices; // size = 0x5 + +typedef enum PlayerModelGroup { + /* 0 */ PLAYER_MODELGROUP_0, + /* 1 */ PLAYER_MODELGROUP_1, + /* 2 */ PLAYER_MODELGROUP_ONE_HAND_SWORD, + /* 3 */ PLAYER_MODELGROUP_DEFAULT, // non-specific models, for items that don't have particular link models + /* 4 */ PLAYER_MODELGROUP_4, + /* 5 */ PLAYER_MODELGROUP_TWO_HAND_SWORD, + /* 6 */ PLAYER_MODELGROUP_BOW, + /* 7 */ PLAYER_MODELGROUP_EXPLOSIVES, + /* 8 */ PLAYER_MODELGROUP_8, + /* 9 */ PLAYER_MODELGROUP_HOOKSHOT, + /* 10 */ PLAYER_MODELGROUP_STICK, + /* 11 */ PLAYER_MODELGROUP_INSTRUMENT, + /* 12 */ PLAYER_MODELGROUP_BOTTLE, + /* 13 */ PLAYER_MODELGROUP_13, + /* 14 */ PLAYER_MODELGROUP_ZORA_FINS, + /* 15 */ PLAYER_MODELGROUP_MAX +} PlayerModelGroup; + +typedef enum { + /* 0 */ PLAYER_EYES_OPEN, + /* 1 */ PLAYER_EYES_HALF, + /* 2 */ PLAYER_EYES_CLOSED, + /* 3 */ PLAYER_EYES_ROLL_RIGHT, + /* 4 */ PLAYER_EYES_ROLL_LEFT, + /* 5 */ PLAYER_EYES_ROLL_UP, + /* 6 */ PLAYER_EYES_ROLL_DOWN, + /* 7 */ PLAYER_EYES_7, + /* 8 */ PLAYER_EYES_MAX +} PlayerEyeIndex; + +typedef enum { + /* 0 */ PLAYER_MOUTH_CLOSED, + /* 1 */ PLAYER_MOUTH_TEETH, + /* 2 */ PLAYER_MOUTH_ANGRY, + /* 3 */ PLAYER_MOUTH_HAPPY, + /* 4 */ PLAYER_MOUTH_MAX +} PlayerMouthIndex; + +typedef enum { + /* 0 */ PLAYER_FACE_0, + /* 1 */ PLAYER_FACE_1, + /* 2 */ PLAYER_FACE_2, + /* 3 */ PLAYER_FACE_3, + /* 4 */ PLAYER_FACE_4, + /* 5 */ PLAYER_FACE_5, + /* 6 */ PLAYER_FACE_6, + /* 7 */ PLAYER_FACE_7, + /* 8 */ PLAYER_FACE_8, + /* 9 */ PLAYER_FACE_9, + /* 10 */ PLAYER_FACE_10, + /* 11 */ PLAYER_FACE_11, + /* 12 */ PLAYER_FACE_12, + /* 13 */ PLAYER_FACE_13, + /* 14 */ PLAYER_FACE_14, + /* 15 */ PLAYER_FACE_15 +} PlayerFacialExpression; + +typedef enum { + /* 0x00 */ PLAYER_LIMB_NONE, + /* 0x01 */ PLAYER_LIMB_ROOT, + /* 0x02 */ PLAYER_LIMB_WAIST, + /* 0x03 */ PLAYER_LIMB_LOWER_ROOT, + /* 0x04 */ PLAYER_LIMB_RIGHT_THIGH, + /* 0x05 */ PLAYER_LIMB_RIGHT_SHIN, + /* 0x06 */ PLAYER_LIMB_RIGHT_FOOT, + /* 0x07 */ PLAYER_LIMB_LEFT_THIGH, + /* 0x08 */ PLAYER_LIMB_LEFT_SHIN, + /* 0x09 */ PLAYER_LIMB_LEFT_FOOT, + /* 0x0A */ PLAYER_LIMB_UPPER_ROOT, + /* 0x0B */ PLAYER_LIMB_HEAD, + /* 0x0C */ PLAYER_LIMB_HAT, + /* 0x0D */ PLAYER_LIMB_COLLAR, + /* 0x0E */ PLAYER_LIMB_LEFT_SHOULDER, + /* 0x0F */ PLAYER_LIMB_LEFT_FOREARM, + /* 0x10 */ PLAYER_LIMB_LEFT_HAND, + /* 0x11 */ PLAYER_LIMB_RIGHT_SHOULDER, + /* 0x12 */ PLAYER_LIMB_RIGHT_FOREARM, + /* 0x13 */ PLAYER_LIMB_RIGHT_HAND, + /* 0x14 */ PLAYER_LIMB_SHEATH, + /* 0x15 */ PLAYER_LIMB_TORSO, + /* 0x16 */ PLAYER_LIMB_MAX +} PlayerLimb; + typedef struct { /* 0x00 */ f32 unk_00; /* 0x04 */ f32 unk_04; @@ -245,7 +381,6 @@ typedef void (*PlayerFuncD58)(struct PlayState*, struct Player*); typedef struct { /* 0x00 */ u8 unk_00; /* 0x01 */ u8 alpha; - /* 0x02 */ char unk_02[2]; // probably alignment padding /* 0x04 */ MtxF mf; } struct_80122D44_arg1_unk_04; // size = 0x44 @@ -420,7 +555,7 @@ typedef struct struct_80122744_arg1 { #define PLAYER_STATE3_400 (1 << 10) // #define PLAYER_STATE3_800 (1 << 11) -// +// being curled? #define PLAYER_STATE3_1000 (1 << 12) // #define PLAYER_STATE3_2000 (1 << 13) @@ -467,15 +602,15 @@ typedef struct Player { /* 0x144 */ s8 currentShield; /* 0x145 */ s8 currentBoots; /* 0x146 */ s8 heldItemButton; - /* 0x147 */ s8 itemActionParam; - /* 0x148 */ u8 heldItemId; + /* 0x147 */ s8 itemActionParam; // PlayerActionParam enum + /* 0x148 */ u8 heldItemId; // ItemId enum /* 0x149 */ s8 prevBoots; /* 0x14A */ s8 heldItemActionParam; /* 0x14B */ u8 transformation; - /* 0x14C */ u8 modelGroup; + /* 0x14C */ u8 modelGroup; // PlayerModelGroup enum /* 0x14D */ u8 nextModelGroup; /* 0x14E */ s8 unk_14E; - /* 0x14F */ u8 modelAnimType; + /* 0x14F */ u8 modelAnimType; // PlayerAnimType enum /* 0x150 */ u8 leftHandType; /* 0x151 */ u8 rightHandType; /* 0x152 */ u8 sheathType; diff --git a/spec b/spec index a021c04f96..3837f6b304 100644 --- a/spec +++ b/spec @@ -504,8 +504,6 @@ beginseg include "build/src/code/z_path.o" include "build/src/code/z_pause.o" include "build/src/code/z_player_lib.o" - include "build/data/code/z_player_lib.data.o" - include "build/data/code/z_player_lib.bss.o" include "build/src/code/z_prenmi.o" include "build/src/code/z_quake.o" include "build/src/code/z_rcp.o" diff --git a/src/boot_O2_g3/idle.c b/src/boot_O2_g3/idle.c index da93f13fdb..942435fa7b 100644 --- a/src/boot_O2_g3/idle.c +++ b/src/boot_O2_g3/idle.c @@ -1,4 +1,3 @@ -#include "prevent_bss_reordering.h" #include "global.h" u8 D_80096B20 = 1; diff --git a/src/code/z_actor.c b/src/code/z_actor.c index 52b113c763..1a2404c1a3 100644 --- a/src/code/z_actor.c +++ b/src/code/z_actor.c @@ -172,7 +172,7 @@ void ActorShadow_DrawFeet(Actor* actor, Lights* mapper, PlayState* play) { u8 shadowAlpha = actor->shape.shadowAlpha; f32 alphaRatio; - if ((actor->id == ACTOR_PLAYER) && (((Player*)actor)->stateFlags3 & 0x8000)) { + if ((actor->id == ACTOR_PLAYER) && (((Player*)actor)->stateFlags3 & PLAYER_STATE3_8000)) { f32 prevScaleZ = actor->scale.z; actor->scale.z += 0.03f * fabsf(Math_CosS(((Player*)actor)->unk_AAA)); @@ -469,7 +469,8 @@ void Actor_TargetContextInit(TargetContext* targetCtx, Actor* actor, PlayState* void Actor_DrawZTarget(TargetContext* targetCtx, PlayState* play) { Player* player = GET_PLAYER(play); - if (!(player->stateFlags1 & 0x300006C2)) { + if (!(player->stateFlags1 & (PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | + PLAYER_STATE1_400 | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000))) { Actor* actor = targetCtx->targetedActor; OPEN_DISPS(play->state.gfxCtx); @@ -519,7 +520,7 @@ void Actor_DrawZTarget(TargetContext* targetCtx, PlayState* play) { Target_SetPos(targetCtx, targetCtx->unk4C, projectedPos.x, projectedPos.y, projectedPos.z); - if ((!(player->stateFlags1 & 0x40)) || (actor != player->unk_730)) { + if ((!(player->stateFlags1 & PLAYER_STATE1_40)) || (actor != player->unk_730)) { OVERLAY_DISP = Gfx_CallSetupDL(OVERLAY_DISP, 0x39); for (spB0 = 0, spAC = targetCtx->unk4C; spB0 < spB8; spB0++, spAC = (spAC + 1) % 3) { @@ -1291,7 +1292,7 @@ void func_800B6F20(PlayState* play, Input* input, f32 magnitude, s16 baseYaw) { f32 Player_GetHeight(Player* player) { f32 extraHeight; - if (player->stateFlags1 & 0x800000) { + if (player->stateFlags1 & PLAYER_STATE1_800000) { extraHeight = 32.0f; } else { extraHeight = 0.0f; @@ -1302,8 +1303,7 @@ f32 Player_GetHeight(Player* player) { case PLAYER_FORM_FIERCE_DEITY: return extraHeight + 124.0f; case PLAYER_FORM_GORON: - // (player->stateFlags3 & 0x1000): being curled? - return extraHeight + ((player->stateFlags3 & 0x1000) ? 34.0f : 80.0f); + return extraHeight + ((player->stateFlags3 & PLAYER_STATE3_1000) ? 34.0f : 80.0f); case PLAYER_FORM_ZORA: return extraHeight + 68.0f; case PLAYER_FORM_DEKU: @@ -1314,9 +1314,9 @@ f32 Player_GetHeight(Player* player) { } f32 Player_GetRunSpeedLimit(Player* player) { - if (player->stateFlags1 & 0x800000) { + if (player->stateFlags1 & PLAYER_STATE1_800000) { return 15.0f; - } else if (player->stateFlags1 & 0x8000000) { + } else if (player->stateFlags1 & PLAYER_STATE1_8000000) { return (R_RUN_SPEED_LIMIT / 100.0f) * 0.6f; } else { return R_RUN_SPEED_LIMIT / 100.0f; @@ -1324,7 +1324,7 @@ f32 Player_GetRunSpeedLimit(Player* player) { } s32 func_800B7118(Player* player) { - return player->stateFlags1 & 0x8; + return player->stateFlags1 & PLAYER_STATE1_8; } s32 func_800B7128(Player* player) { @@ -1334,7 +1334,7 @@ s32 func_800B7128(Player* player) { s32 func_800B715C(PlayState* play) { Player* player = GET_PLAYER(play); - return player->stateFlags2 & 0x8; + return player->stateFlags2 & PLAYER_STATE2_8; } void Actor_SetCameraHorseSetting(PlayState* play, Player* player) { @@ -1349,12 +1349,12 @@ void Actor_SetCameraHorseSetting(PlayState* play, Player* player) { void Actor_MountHorse(PlayState* play, Player* player, Actor* horse) { player->rideActor = horse; - player->stateFlags1 |= 0x800000; + player->stateFlags1 |= PLAYER_STATE1_800000; horse->child = &player->actor; } s32 func_800B7200(Player* player) { - return (player->stateFlags1 & 0x20000080) || (player->csMode != 0); + return (player->stateFlags1 & (PLAYER_STATE1_20000000 | PLAYER_STATE1_80)) || (player->csMode != 0); } void func_800B722C(GameState* gameState, Player* player) { @@ -1999,13 +1999,16 @@ s32 Actor_HasParent(Actor* actor, PlayState* play) { s32 Actor_PickUp(Actor* actor, PlayState* play, s32 getItemId, f32 xzRange, f32 yRange) { Player* player = GET_PLAYER(play); - if (!(player->stateFlags1 & 0x3C7080) && Player_GetExplosiveHeld(player) < 0) { + if (!(player->stateFlags1 & + (PLAYER_STATE1_80 | PLAYER_STATE1_1000 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | + PLAYER_STATE1_80000 | PLAYER_STATE1_100000 | PLAYER_STATE1_200000)) && + Player_GetExplosiveHeld(player) < 0) { if ((actor->xzDistToPlayer <= xzRange) && (fabsf(actor->playerHeightRel) <= fabsf(yRange))) { if ((getItemId == GI_MASK_CIRCUS_LEADER || getItemId == GI_PENDANT_OF_MEMORIES || getItemId == GI_DEED_LAND || ((player->heldActor != NULL || actor == player->targetActor) && (getItemId > GI_NONE && getItemId < GI_MAX))) || - !(player->stateFlags1 & 0x20000800)) { + !(player->stateFlags1 & (PLAYER_STATE1_800 | PLAYER_STATE1_20000000))) { s16 yawDiff = actor->yawTowardsPlayer - player->actor.shape.rot.y; s32 absYawDiff = ABS_ALT(yawDiff); @@ -2081,7 +2084,9 @@ s32 Actor_HasRider(PlayState* play, Actor* horse) { s32 Actor_SetRideActor(PlayState* play, Actor* horse, s32 mountSide) { Player* player = GET_PLAYER(play); - if (!(player->stateFlags1 & 0x003C7880)) { + if (!(player->stateFlags1 & + (PLAYER_STATE1_80 | PLAYER_STATE1_800 | PLAYER_STATE1_1000 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | + PLAYER_STATE1_40000 | PLAYER_STATE1_80000 | PLAYER_STATE1_100000 | PLAYER_STATE1_200000))) { player->rideActor = horse; player->mountSide = mountSide; ActorCutscene_SetIntentToPlay(0x7C); @@ -2353,7 +2358,7 @@ Actor* Actor_UpdateActor(UpdateActor_Params* params) { if (((params->unk_08) && !(actor->flags & params->unk_08)) || ((tmp = (params->unk_08 == 0)) && (!(actor->flags & ACTOR_FLAG_100000) || - ((actor->category == ACTORCAT_EXPLOSIVES) && (params->player->stateFlags1 & 0x200))) && + ((actor->category == ACTORCAT_EXPLOSIVES) && (params->player->stateFlags1 & PLAYER_STATE1_200))) && (params->unkC != 0) && (actor != params->unk10) && ((actor != params->player->heldActor)) && (actor->parent != ¶ms->player->actor))) { CollisionCheck_ResetDamage(&actor->colChkInfo); @@ -2395,9 +2400,35 @@ Actor* Actor_UpdateActor(UpdateActor_Params* params) { return nextActor; } -u32 D_801AED58[] = { - 0x100002C2, 0x100002C2, 0x00000200, 0x100006C2, 0x00000282, 0x300002C2, - 0x10000282, 0x00000002, 0x300002C2, 0x100006C2, 0x00000002, 0x100002C2, +u32 D_801AED58[ACTORCAT_MAX] = { + /* ACTORCAT_SWITCH */ + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000, + /* ACTORCAT_BG */ + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000, + /* ACTORCAT_PLAYER */ + PLAYER_STATE1_200, + /* ACTORCAT_EXPLOSIVES */ + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_400 | + PLAYER_STATE1_10000000, + /* ACTORCAT_NPC */ + PLAYER_STATE1_2 | PLAYER_STATE1_80 | PLAYER_STATE1_200, + /* ACTORCAT_ENEMY */ + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000 | + PLAYER_STATE1_20000000, + /* ACTORCAT_PROP */ + PLAYER_STATE1_2 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000, + /* ACTORCAT_ITEMACTION */ + PLAYER_STATE1_2, + /* ACTORCAT_MISC */ + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000 | + PLAYER_STATE1_20000000, + /* ACTORCAT_BOSS */ + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_400 | + PLAYER_STATE1_10000000, + /* ACTORCAT_DOOR */ + PLAYER_STATE1_2, + /* ACTORCAT_CHEST */ + PLAYER_STATE1_2 | PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000, }; void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) { @@ -2427,13 +2458,13 @@ void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) { tmp = D_801AED58; - if (player->stateFlags2 & 0x8000000) { + if (player->stateFlags2 & PLAYER_STATE2_8000000) { params.unk_08 = 0x2000000; } else { params.unk_08 = 0; } - if ((player->stateFlags1 & 0x40) && ((player->actor.textId & 0xFF00) != 0x1900)) { + if ((player->stateFlags1 & PLAYER_STATE1_40) && ((player->actor.textId & 0xFF00) != 0x1900)) { params.unk10 = player->targetActor; } else { params.unk10 = NULL; @@ -2486,7 +2517,7 @@ void Actor_UpdateAll(PlayState* play, ActorContext* actorCtx) { } } - if (!(player->stateFlags1 & 2)) { + if (!(player->stateFlags1 & PLAYER_STATE1_2)) { func_800B5814(&actorCtx->targetContext, player, actor, &play->state); } @@ -2835,7 +2866,7 @@ void Actor_DrawAll(PlayState* play, ActorContext* actorCtx) { if (play->actorCtx.lensActive) { Math_StepToC(&play->actorCtx.lensMaskSize, LENS_MASK_ACTIVE_SIZE, 20); - if (GET_PLAYER(play)->stateFlags2 & 0x8000000) { + if (GET_PLAYER(play)->stateFlags2 & PLAYER_STATE2_8000000) { Actor_DeactivateLens(play); } } else { @@ -3658,7 +3689,7 @@ s16 Actor_TestFloorInDirection(Actor* actor, PlayState* play, f32 distance, s16 s32 Actor_IsTargeted(PlayState* play, Actor* actor) { Player* player = GET_PLAYER(play); - if ((player->stateFlags3 & 0x80000000) && actor->isTargeted) { + if ((player->stateFlags3 & PLAYER_STATE3_80000000) && actor->isTargeted) { return true; } @@ -3671,7 +3702,7 @@ s32 Actor_IsTargeted(PlayState* play, Actor* actor) { s32 Actor_OtherIsTargeted(PlayState* play, Actor* actor) { Player* player = GET_PLAYER(play); - if ((player->stateFlags3 & 0x80000000) && !actor->isTargeted) { + if ((player->stateFlags3 & PLAYER_STATE3_80000000) && !actor->isTargeted) { return true; } diff --git a/src/code/z_collision_check.c b/src/code/z_collision_check.c index edaa159c68..0e36f1c54e 100644 --- a/src/code/z_collision_check.c +++ b/src/code/z_collision_check.c @@ -1,3 +1,4 @@ +#include "prevent_bss_reordering.h" #include "global.h" Vec3f D_801EDE00; diff --git a/src/code/z_demo.c b/src/code/z_demo.c index 25b2b471a5..646b915228 100644 --- a/src/code/z_demo.c +++ b/src/code/z_demo.c @@ -1,3 +1,4 @@ +#include "prevent_bss_reordering.h" #include "global.h" #include "z64quake.h" #include "z64rumble.h" @@ -270,10 +271,10 @@ void Cutscene_Command_Misc(PlayState* play, CutsceneContext* csCtx, CsCmdBase* c gSaveContext.save.playerForm = PLAYER_FORM_DEKU; break; case 0x17: - player->stateFlags2 |= 0x4000000; + player->stateFlags2 |= PLAYER_STATE2_4000000; break; case 0x18: - player->stateFlags2 &= ~0x4000000; + player->stateFlags2 &= ~PLAYER_STATE2_4000000; break; case 0x19: sCutsceneStoredPlayerForm = gSaveContext.save.playerForm; diff --git a/src/code/z_en_item00.c b/src/code/z_en_item00.c index a07e31e2fd..969368e26e 100644 --- a/src/code/z_en_item00.c +++ b/src/code/z_en_item00.c @@ -487,7 +487,7 @@ void EnItem00_Update(Actor* thisx, PlayState* play) { EnItem00* this = THIS; s32 pad; Player* player = GET_PLAYER(play); - s32 sp38 = player->stateFlags3 & 0x1000; + s32 sp38 = player->stateFlags3 & PLAYER_STATE3_1000; s32 getItemId = GI_NONE; s32 params; diff --git a/src/code/z_kaleido_setup.c b/src/code/z_kaleido_setup.c index a096aaabef..ce23b6506b 100644 --- a/src/code/z_kaleido_setup.c +++ b/src/code/z_kaleido_setup.c @@ -79,7 +79,7 @@ void KaleidoSetup_Update(PlayState* play) { if (!Play_InCsMode(play) || ((msgCtx->msgMode != 0) && (msgCtx->currentTextId == 0xFF))) { if ((play->unk_1887C < 2) && (gSaveContext.magicState != MAGIC_STATE_STEP_CAPACITY) && (gSaveContext.magicState != MAGIC_STATE_FILL)) { - if (!(gSaveContext.eventInf[1] & 0x80) && !(player->stateFlags1 & 0x20)) { + if (!(gSaveContext.eventInf[1] & 0x80) && !(player->stateFlags1 & PLAYER_STATE1_20)) { if (!(play->actorCtx.flags & ACTORCTX_FLAG_1) && !(play->actorCtx.flags & ACTORCTX_FLAG_2)) { if ((play->actorCtx.unk268 == 0) && CHECK_BTN_ALL(input->press.button, BTN_START)) { diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 6f4198fc79..a6f45dccb6 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -1,9 +1,38 @@ +#include "prevent_bss_reordering.h" #include "global.h" +#include "objects/gameplay_keep/gameplay_keep.h" + +#include "objects/object_link_boy/object_link_boy.h" #include "objects/object_link_goron/object_link_goron.h" #include "objects/object_link_zora/object_link_zora.h" +#include "objects/object_link_nuts/object_link_nuts.h" +#include "objects/object_link_child/object_link_child.h" +#include "objects/object_mask_truth/object_mask_truth.h" +#include "objects/object_mask_kerfay/object_mask_kerfay.h" +#include "objects/object_mask_yofukasi/object_mask_yofukasi.h" +#include "objects/object_mask_rabit/object_mask_rabit.h" +#include "objects/object_mask_ki_tan/object_mask_ki_tan.h" +#include "objects/object_mask_json/object_mask_json.h" +#include "objects/object_mask_romerny/object_mask_romerny.h" +#include "objects/object_mask_zacho/object_mask_zacho.h" +#include "objects/object_mask_posthat/object_mask_posthat.h" #include "objects/object_mask_meoto/object_mask_meoto.h" +#include "objects/object_mask_bigelf/object_mask_bigelf.h" +#include "objects/object_mask_gibudo/object_mask_gibudo.h" +#include "objects/object_mask_gero/object_mask_gero.h" +#include "objects/object_mask_dancer/object_mask_dancer.h" +#include "objects/object_mask_skj/object_mask_skj.h" +#include "objects/object_mask_stone/object_mask_stone.h" +#include "objects/object_mask_bree/object_mask_bree.h" +#include "objects/object_mask_bakuretu/object_mask_bakuretu.h" +#include "objects/object_mask_bu_san/object_mask_bu_san.h" +#include "objects/object_mask_kyojin/object_mask_kyojin.h" +#include "objects/object_mask_boy/object_mask_boy.h" +#include "objects/object_mask_goron/object_mask_goron.h" +#include "objects/object_mask_zora/object_mask_zora.h" +#include "objects/object_mask_nuts/object_mask_nuts.h" void PlayerCall_Init(Actor* thisx, PlayState* play); void PlayerCall_Destroy(Actor* thisx, PlayState* play); @@ -17,15 +46,34 @@ typedef struct { /* 0x1A */ s16 unk_1A; } struct_801F58B0; // size = 0x1C -extern struct_801F58B0 D_801F58B0[3][3]; +struct_801F58B0 D_801F58B0[3][3]; -extern s32 D_801F59C8[2]; +Vec3f D_801F59B0[2]; -extern s32 D_801F59E0; +s32 D_801F59C8[2]; -extern Vec3f D_801F59E8; +typedef struct { + /* 0x0 */ s16 unk_0; + /* 0x2 */ s16 unk_2; + /* 0x4 */ s16 unk_4; + /* 0x6 */ s16 unk_6; + /* 0x8 */ s16 unk_8; +} struct_801F59D0; // size = 0xA -void func_80127B64(struct_801F58B0 arg0[], UNK_TYPE arg1, Vec3f* arg2); +struct_801F59D0 D_801F59D0; + +Vec3f* D_801F59DC; + +s32 D_801F59E0; + +s32 D_801F59E4; + +Vec3f D_801F59E8; + +s32 D_801F59F4; +s32 D_801F59F8; + +void func_80127B64(struct_801F58B0 arg0[], s32 count, Vec3f* arg2); s32 func_801226E0(PlayState* play, s32 arg1) { if (arg1 == 0) { @@ -103,8 +151,6 @@ void func_801229A0(PlayState* play, Player* player) { void func_801229EC(UNK_TYPE arg0, UNK_TYPE arg1) { } -extern s16 sMaskObjectIds[PLAYER_MASK_MAX - 1]; -#if 0 s16 sMaskObjectIds[PLAYER_MASK_MAX - 1] = { OBJECT_MASK_TRUTH, OBJECT_MASK_KERFAY, OBJECT_MASK_YOFUKASI, OBJECT_MASK_RABIT, OBJECT_MASK_KI_TAN, OBJECT_MASK_JSON, OBJECT_MASK_ROMERNY, OBJECT_MASK_ZACHO, OBJECT_MASK_POSTHAT, OBJECT_MASK_MEOTO, @@ -112,7 +158,6 @@ s16 sMaskObjectIds[PLAYER_MASK_MAX - 1] = { OBJECT_MASK_STONE, OBJECT_MASK_BREE, OBJECT_MASK_BAKURETU, OBJECT_MASK_BU_SAN, OBJECT_MASK_KYOJIN, OBJECT_MASK_BOY, OBJECT_MASK_GORON, OBJECT_MASK_ZORA, OBJECT_MASK_NUTS, }; -#endif // Load mask object? /** @@ -197,14 +242,11 @@ typedef struct { /* 0x4 */ Gfx* dList; } struct_801BFDD0; // size = 0x08 -extern struct_801BFDD0 D_801BFDD0[]; -#if 0 struct_801BFDD0 D_801BFDD0[] = { { { 180, 200, 255 }, gLinkGoronCurledDL }, { { 155, 0, 0 }, gLinkGoronRollingSpikesAndEffectDL }, { { 255, 0, 0 }, gLinkGoronGoronPunchEffectDL }, }; -#endif void func_80122D44(PlayState* play, struct_80122D44_arg1* arg1) { struct_801BFDD0* temp_s3; @@ -240,8 +282,6 @@ void func_80122D44(PlayState* play, struct_80122D44_arg1* arg1) { CLOSE_DISPS(play->state.gfxCtx); } -extern u8 sMaskItemIds[PLAYER_MASK_MAX - 1]; -#if 0 u8 sMaskItemIds[PLAYER_MASK_MAX - 1] = { ITEM_MASK_TRUTH, // PLAYER_MASK_TRUTH ITEM_MASK_KAFEIS_MASK, // PLAYER_MASK_KAFEIS_MASK @@ -268,7 +308,6 @@ u8 sMaskItemIds[PLAYER_MASK_MAX - 1] = { ITEM_MASK_ZORA, // PLAYER_MASK_ZORA ITEM_MASK_DEKU, // PLAYER_MASK_DEKU }; -#endif u8 Player_MaskIdToItemId(s32 maskIdMinusOne) { return sMaskItemIds[maskIdMinusOne]; @@ -286,8 +325,8 @@ s32 Player_GetCurMaskItemId(PlayState* play) { void func_80122F28(Player* player) { if ((player->actor.category == ACTORCAT_PLAYER) && - (!(player->stateFlags1 & (PLAYER_STATE1_20000000 | PLAYER_STATE1_800000 | PLAYER_STATE1_200000 | - PLAYER_STATE1_800 | PLAYER_STATE1_400))) && + (!(player->stateFlags1 & (PLAYER_STATE1_400 | PLAYER_STATE1_800 | PLAYER_STATE1_200000 | PLAYER_STATE1_800000 | + PLAYER_STATE1_20000000))) && (!(player->stateFlags2 & PLAYER_STATE2_1))) { if (player->doorType < 0) { ActorCutscene_SetIntentToPlay(0x7C); @@ -341,7 +380,20 @@ void func_8012301C(Player* player, PlayState* play2) { } } -extern s16 D_801BFE14[][18]; +FlexSkeletonHeader* gPlayerSkeletons[PLAYER_FORM_MAX] = { + &gLinkFierceDeitySkel, &gLinkGoronSkel, &gLinkZoraSkel, &gLinkDekuSkel, &gLinkHumanSkel, +}; + +s16 D_801BFE14[][18] = { + { 200, 666, 200, 700, 366, 200, 600, 175, 60, 800, 1000, -100, 600, 590, 800, 125, 300, 65 }, + { 200, 1000, 300, 800, 500, 400, 800, 400, 120, 800, 550, -100, 600, 540, 750, 125, 400, 200 }, + { 100, 1000, 300, 800, 250, 200, 800, 200, 90, 800, 350, -80, 600, 540, 750, 60, 200, 200 }, + { 200, 1000, 300, 700, 550, 270, 600, 1000, 120, 800, 600, -100, 600, 590, 750, 125, 200, 130 }, + { 200, 1000, 300, 700, 550, 270, 700, 300, 120, 800, 600, -100, 600, 590, 750, 125, 200, 130 }, + { 200, 1000, 300, 700, 550, 270, 700, 300, 120, 800, 600, -100, 600, 590, 750, 125, 200, 130 }, + { 200, 1000, 300, 700, 550, 270, 700, 200, 120, 800, 600, -140, 600, 590, 750, 125, 200, 130 }, + { 80, 800, 150, 700, 480, 270, 600, 50, 120, 800, 300, -40, 400, 540, 270, 25, 0, 80 }, +}; // OoT's Player_SetBootData void func_80123140(PlayState* play, Player* player) { @@ -403,7 +455,7 @@ void func_80123140(PlayState* play, Player* player) { } s32 Player_InBlockingCsMode(PlayState* play, Player* player) { - return (player->stateFlags1 & (PLAYER_STATE1_20000000 | PLAYER_STATE1_200 | PLAYER_STATE1_80)) || + return (player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_20000000)) || (player->csMode != 0) || (play->transitionTrigger == TRANS_TRIGGER_START) || (play->transitionMode != TRANS_MODE_OFF) || (player->stateFlags1 & PLAYER_STATE1_1) || (player->stateFlags3 & PLAYER_STATE3_80) || (play->actorCtx.unk268 != 0); @@ -420,7 +472,7 @@ s32 func_80123420(Player* player) { } s32 func_80123434(Player* player) { - return player->stateFlags1 & (PLAYER_STATE1_40000000 | PLAYER_STATE1_20000 | PLAYER_STATE1_10000); + return player->stateFlags1 & (PLAYER_STATE1_10000 | PLAYER_STATE1_20000 | PLAYER_STATE1_40000000); } // Unused @@ -478,7 +530,7 @@ s32 func_801235DC(PlayState* play, f32 arg1, s16 arg2) { return false; } -s32 func_8012364C(PlayState* play, Player* player, s32 arg2) { +ItemId func_8012364C(PlayState* play, Player* player, s32 arg2) { if (arg2 >= 4) { return ITEM_NONE; } @@ -506,42 +558,161 @@ s32 func_8012364C(PlayState* play, Player* player, s32 arg2) { } if (arg2 == 1) { - return (gSaveContext.buttonStatus[1] != BTN_DISABLED) - ? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_LEFT] - : (gSaveContext.hudVisibility == HUD_VISIBILITY_A_B_C) - ? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_LEFT] - : ITEM_NONE; + return (gSaveContext.buttonStatus[EQUIP_SLOT_C_LEFT] != BTN_DISABLED) ? BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_LEFT) + : (gSaveContext.hudVisibility == HUD_VISIBILITY_A_B_C) ? BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_LEFT) + : ITEM_NONE; } if (arg2 == 2) { - return (gSaveContext.buttonStatus[2] != BTN_DISABLED) - ? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_DOWN] - : (gSaveContext.hudVisibility == HUD_VISIBILITY_A_B_C) - ? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_DOWN] - : ITEM_NONE; + return (gSaveContext.buttonStatus[EQUIP_SLOT_C_DOWN] != BTN_DISABLED) ? BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_DOWN) + : (gSaveContext.hudVisibility == HUD_VISIBILITY_A_B_C) ? BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_DOWN) + : ITEM_NONE; } - return (gSaveContext.buttonStatus[3] != BTN_DISABLED) ? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_RIGHT] - : (gSaveContext.hudVisibility == HUD_VISIBILITY_A_B_C) - ? gSaveContext.save.equips.buttonItems[0][EQUIP_SLOT_C_RIGHT] - : ITEM_NONE; + return (gSaveContext.buttonStatus[EQUIP_SLOT_C_RIGHT] != BTN_DISABLED) ? BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_RIGHT) + : (gSaveContext.hudVisibility == HUD_VISIBILITY_A_B_C) ? BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_C_RIGHT) + : ITEM_NONE; } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80123810.s") +u16 sCItemButtons[] = { BTN_CLEFT, BTN_CDOWN, BTN_CRIGHT }; -extern u8 sActionModelGroups[]; +s32 func_80123810(PlayState* play) { + Player* player = GET_PLAYER(play); + s32 temp_v0; + ItemId itemId; + s32 i; -s32 Player_ActionToModelGroup(Player* player, s32 actionParam) { - s32 modelGroup = sActionModelGroups[actionParam]; + if (gSaveContext.save.unk_06 == 0) { + if (CHECK_BTN_ANY(CONTROLLER1(&play->state)->press.button, BTN_A | BTN_B)) { + play->interfaceCtx.unk_222 = 0; + play->interfaceCtx.unk_224 = 0; + Interface_SetHudVisibility(play->msgCtx.unk_120BC); + return -1; + } + } else { + gSaveContext.save.unk_06--; + } - if ((modelGroup == 2) && Player_IsGoronOrDeku(player)) { - return 1; + for (i = 0; i < ARRAY_COUNT(sCItemButtons); i++) { + if (CHECK_BTN_ALL(CONTROLLER1(&play->state)->press.button, sCItemButtons[i])) { + i++; + itemId = func_8012364C(play, player, i); + + play->interfaceCtx.unk_222 = 0; + play->interfaceCtx.unk_224 = 0; + Interface_SetHudVisibility(play->msgCtx.unk_120BC); + + if ((itemId >= ITEM_FD) || (temp_v0 = play->unk_18794(play, player, itemId, i), (temp_v0 < 0))) { + play_sound(NA_SE_SY_ERROR); + return -1; + } else { + s32 pad; + + player->heldItemButton = i; + return temp_v0; + } + } + } + + return 0; +} + +// Used to map action params to model groups +u8 sActionModelGroups[PLAYER_AP_MAX] = { + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_NONE + PLAYER_MODELGROUP_13, // PLAYER_AP_LAST_USED + PLAYER_MODELGROUP_STICK, // PLAYER_AP_FISHING_ROD + PLAYER_MODELGROUP_ONE_HAND_SWORD, // PLAYER_AP_SWORD_KOKIRI + PLAYER_MODELGROUP_ONE_HAND_SWORD, // PLAYER_AP_SWORD_RAZOR + PLAYER_MODELGROUP_ONE_HAND_SWORD, // PLAYER_AP_SWORD_GILDED + PLAYER_MODELGROUP_TWO_HAND_SWORD, // PLAYER_AP_SWORD_GREAT_FAIRY + PLAYER_MODELGROUP_STICK, // PLAYER_AP_STICK + PLAYER_MODELGROUP_ZORA_FINS, // PLAYER_AP_ZORA_FINS + PLAYER_MODELGROUP_BOW, // PLAYER_AP_BOW + PLAYER_MODELGROUP_BOW, // PLAYER_AP_BOW_FIRE + PLAYER_MODELGROUP_BOW, // PLAYER_AP_BOW_ICE + PLAYER_MODELGROUP_BOW, // PLAYER_AP_BOW_LIGHT + PLAYER_MODELGROUP_HOOKSHOT, // PLAYER_AP_HOOKSHOT + PLAYER_MODELGROUP_EXPLOSIVES, // PLAYER_AP_BOMB + PLAYER_MODELGROUP_EXPLOSIVES, // PLAYER_AP_POWDER_KEG + PLAYER_MODELGROUP_EXPLOSIVES, // PLAYER_AP_BOMBCHU + PLAYER_MODELGROUP_8, // PLAYER_AP_11 + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_NUT + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_PICTO_BOX + PLAYER_MODELGROUP_INSTRUMENT, // PLAYER_AP_OCARINA + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_FISH + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_SPRING_WATER + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_HOT_SPRING_WATER + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_ZORA_EGG + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_DEKU_PRINCESS + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_GOLD_DUST + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_1C + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_SEAHORSE + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_MUSHROOM + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_HYLIAN_LOACH + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_BUG + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_POE + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_BIG_POE + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_POTION_RED + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_POTION_BLUE + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_POTION_GREEN + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_MILK + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_MILK_HALF + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_CHATEAU + PLAYER_MODELGROUP_BOTTLE, // PLAYER_AP_BOTTLE_FAIRY + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MOON_TEAR + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_DEED_LAND + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_ROOM_KEY + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_LETTER_TO_KAFEI + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MAGIC_BEANS + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_DEED_SWAMP + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_DEED_MOUNTAIN + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_DEED_OCEAN + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_32 + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_LETTER_MAMA + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_34 + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_35 + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_PENDANT_OF_MEMORIES + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_37 + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_38 + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_39 + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_TRUTH + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_KAFEIS_MASK + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_ALL_NIGHT + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_BUNNY + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_KEATON + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_GARO + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_ROMANI + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_CIRCUS_LEADER + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_POSTMAN + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_COUPLE + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_GREAT_FAIRY + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_GIBDO + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_DON_GERO + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_KAMARO + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_CAPTAIN + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_STONE + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_BREMEN + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_BLAST + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_SCENTS + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_GIANT + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_FIERCE_DEITY + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_GORON + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_ZORA + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_MASK_DEKU + PLAYER_MODELGROUP_DEFAULT, // PLAYER_AP_LENS +}; + +PlayerModelGroup Player_ActionToModelGroup(Player* player, PlayerActionParam actionParam) { + PlayerModelGroup modelGroup = sActionModelGroups[actionParam]; + + if ((modelGroup == PLAYER_MODELGROUP_ONE_HAND_SWORD) && Player_IsGoronOrDeku(player)) { + return PLAYER_MODELGROUP_1; } return modelGroup; } -extern u8 D_801BFF90[PLAYER_FORM_MAX]; -#if 0 u8 D_801BFF90[PLAYER_FORM_MAX] = { PLAYER_BOOTS_FIERCE_DEITY, // PLAYER_FORM_FIERCE_DEITY PLAYER_BOOTS_GORON, // PLAYER_FORM_GORON @@ -549,10 +720,7 @@ u8 D_801BFF90[PLAYER_FORM_MAX] = { PLAYER_BOOTS_DEKU, // PLAYER_FORM_DEKU PLAYER_BOOTS_HYLIAN, // PLAYER_FORM_HUMAN }; -#endif -extern u8 sPlayerStrengths[PLAYER_FORM_MAX]; -#if 0 u8 sPlayerStrengths[PLAYER_FORM_MAX] = { PLAYER_STRENGTH_HUMAN, // PLAYER_FORM_FIERCE_DEITY PLAYER_STRENGTH_GORON, // PLAYER_FORM_GORON @@ -560,44 +728,470 @@ u8 sPlayerStrengths[PLAYER_FORM_MAX] = { PLAYER_STRENGTH_DEKU, // PLAYER_FORM_DEKU PLAYER_STRENGTH_HUMAN, // PLAYER_FORM_HUMAN }; -#endif typedef struct { /* 0x00 */ u8 flag; /* 0x02 */ u16 textId; } TextTriggerEntry; // size = 0x04 -extern TextTriggerEntry sEnvironmentTextTriggers[]; // These textIds are OoT remnants. The corresponding text entries are not present in this game, and so these don't point // to anything relevant. -#if 0 TextTriggerEntry sEnvironmentTextTriggers[] = { { 1, 0x26FC }, { 2, 0x26FD }, { 0, 0 }, { 2, 0x26FD }, }; -#endif -extern Gfx** sPlayerDListGroups[]; +PlayerModelIndices gPlayerModelTypes[PLAYER_MODELGROUP_MAX] = { + /* PLAYER_MODELGROUP_0 */ + { PLAYER_ANIMTYPE_2, PLAYER_MODELTYPE_LH_OPEN, PLAYER_MODELTYPE_RH_SHIELD, PLAYER_MODELTYPE_SHEATH_12, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_1 */ + { PLAYER_ANIMTYPE_1, PLAYER_MODELTYPE_LH_ONE_HAND_SWORD, PLAYER_MODELTYPE_RH_CLOSED, PLAYER_MODELTYPE_SHEATH_15, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_ONE_HAND_SWORD */ + { PLAYER_ANIMTYPE_1, PLAYER_MODELTYPE_LH_ONE_HAND_SWORD, PLAYER_MODELTYPE_RH_SHIELD, PLAYER_MODELTYPE_SHEATH_13, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_DEFAULT */ + { PLAYER_ANIMTYPE_0, PLAYER_MODELTYPE_LH_OPEN, PLAYER_MODELTYPE_RH_OPEN, PLAYER_MODELTYPE_SHEATH_14, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_4 */ + { PLAYER_ANIMTYPE_0, PLAYER_MODELTYPE_LH_OPEN, PLAYER_MODELTYPE_RH_OPEN, PLAYER_MODELTYPE_SHEATH_14, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_TWO_HAND_SWORD */ + { PLAYER_ANIMTYPE_3, PLAYER_MODELTYPE_LH_TWO_HAND_SWORD, PLAYER_MODELTYPE_RH_CLOSED, PLAYER_MODELTYPE_SHEATH_14, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_BOW */ + { PLAYER_ANIMTYPE_4, PLAYER_MODELTYPE_LH_CLOSED, PLAYER_MODELTYPE_RH_BOW, PLAYER_MODELTYPE_SHEATH_14, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_EXPLOSIVES */ + { PLAYER_ANIMTYPE_5, PLAYER_MODELTYPE_LH_OPEN, PLAYER_MODELTYPE_RH_OPEN, PLAYER_MODELTYPE_SHEATH_14, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_8 */ + { PLAYER_ANIMTYPE_0, PLAYER_MODELTYPE_LH_4, PLAYER_MODELTYPE_RH_OPEN, PLAYER_MODELTYPE_SHEATH_14, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_HOOKSHOT */ + { PLAYER_ANIMTYPE_4, PLAYER_MODELTYPE_LH_OPEN, PLAYER_MODELTYPE_RH_HOOKSHOT, PLAYER_MODELTYPE_SHEATH_14, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_STICK */ + { PLAYER_ANIMTYPE_3, PLAYER_MODELTYPE_LH_CLOSED, PLAYER_MODELTYPE_RH_CLOSED, PLAYER_MODELTYPE_SHEATH_14, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_INSTRUMENT */ + { PLAYER_ANIMTYPE_0, PLAYER_MODELTYPE_LH_OPEN, PLAYER_MODELTYPE_RH_INSTRUMENT, PLAYER_MODELTYPE_SHEATH_14, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_BOTTLE */ + { PLAYER_ANIMTYPE_0, PLAYER_MODELTYPE_LH_BOTTLE, PLAYER_MODELTYPE_RH_OPEN, PLAYER_MODELTYPE_SHEATH_14, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_13 */ + { PLAYER_ANIMTYPE_0, PLAYER_MODELTYPE_LH_ONE_HAND_SWORD, PLAYER_MODELTYPE_RH_OPEN, PLAYER_MODELTYPE_SHEATH_15, + PLAYER_MODELTYPE_WAIST }, + /* PLAYER_MODELGROUP_ZORA_FINS */ + { PLAYER_ANIMTYPE_0, PLAYER_MODELTYPE_LH_CLOSED, PLAYER_MODELTYPE_RH_CLOSED, PLAYER_MODELTYPE_SHEATH_14, + PLAYER_MODELTYPE_WAIST }, +}; -void func_801239AC(Player* player) { +/* DLists groups start */ +// Note: Only the ones with size 2 * PLAYER_FORM_MAX + +Gfx* gPlayerWaistDLs[2 * PLAYER_FORM_MAX] = { + gLinkFierceDeityWaistDL, gLinkFierceDeityWaistDL, gLinkGoronWaistDL, gLinkGoronWaistDL, gLinkZoraWaistDL, + gLinkZoraWaistDL, gLinkDekuWaistDL, gLinkDekuWaistDL, gLinkHumanWaistDL, gLinkHumanWaistDL, +}; + +Gfx* gPlayerHandHoldingShields[PLAYER_SHIELD_MAX - 1][2] = { + { gLinkHumanRightHandHoldingHylianShieldDL, gLinkHumanRightHandHoldingHylianShieldDL }, + { gLinkHumanRightHandHoldingMirrorShieldDL, gLinkHumanRightHandHoldingMirrorShieldDL }, +}; + +Gfx* gPlayerSheath12DLs[2 * PLAYER_FORM_MAX] = { + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + gLinkDekuSheathDL, + gLinkDekuSheathDL, + gLinkHumanSheathEmptyDL, + gLinkHumanSheathEmptyDL, +}; + +Gfx* gPlayerSheath13DLs[2 * PLAYER_FORM_MAX] = { + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + gLinkDekuSheathDL, + gLinkDekuSheathDL, + gLinkHumanSheathEmptyDL, + gLinkHumanSheathEmptyDL, +}; + +Gfx* gPlayerSheath14DLs[2 * PLAYER_FORM_MAX] = { + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + gLinkDekuSheathDL, + gLinkDekuSheathDL, + gLinkHumanSheathEmptyDL, + gLinkHumanSheathEmptyDL, +}; + +Gfx* gPlayerShields[][2] = { + { gLinkHumanHylianShieldWithMtxDL, gLinkHumanHylianShieldWithMtxDL }, + { gLinkHumanMirrorShieldWithMtxDL, gLinkHumanMirrorShieldWithMtxDL }, +}; + +Gfx* gPlayerSheathedSwords[][2] = { + { gLinkHumanSheathedKokiriSwordDL, gLinkHumanSheathedKokiriSwordDL }, + { gLinkHumanSheathedRazorSwordDL, gLinkHumanSheathedRazorSwordDL }, + { gLinkHumanSheathedGildedSwordDL, gLinkHumanSheathedGildedSwordDL }, +}; + +Gfx* gPlayerSwordSheaths[][2] = { + { gLinkHumanKokiriSwordSheathDL, gLinkHumanKokiriSwordSheathDL }, + { gLinkHumanRazorSwordSheathDL, gLinkHumanRazorSwordSheathDL }, + { gLinkHumanGildedSwordSheathDL, gLinkHumanGildedSwordSheathDL }, +}; + +Gfx* gPlayerLeftHandTwoHandSwordDLs[2 * PLAYER_FORM_MAX] = { + gLinkFierceDeityLeftHandHoldingSwordDL, + gLinkFierceDeityLeftHandHoldingSwordDL, + gLinkGoronLeftHandOpenDL, + gLinkGoronLeftHandOpenDL, + gLinkZoraLeftHandOpenDL, + gLinkZoraLeftHandOpenDL, + gLinkDekuLeftHandDL, + gLinkDekuLeftHandDL, + gLinkHumanLeftHandHoldingGreatFairysSwordDL, + gLinkHumanLeftHandHoldingGreatFairysSwordDL, +}; + +Gfx* gPlayerLeftHandOpenDLs[2 * PLAYER_FORM_MAX] = { + gLinkFierceDeityLeftHandDL, gLinkFierceDeityLeftHandDL, gLinkGoronLeftHandOpenDL, gLinkGoronLeftHandOpenDL, + gLinkZoraLeftHandOpenDL, gLinkZoraLeftHandOpenDL, gLinkDekuLeftHandDL, gLinkDekuLeftHandDL, + gLinkHumanLeftHandOpenDL, gLinkHumanLeftHandOpenDL, +}; + +Gfx* gPlayerLeftHandClosedDLs[2 * PLAYER_FORM_MAX] = { + gLinkFierceDeityLeftHandDL, gLinkFierceDeityLeftHandDL, gLinkGoronLeftHandClosedDL, gLinkGoronLeftHandClosedDL, + gLinkZoraLeftHandClosedDL, gLinkZoraLeftHandClosedDL, gLinkDekuLeftHandDL, gLinkDekuLeftHandDL, + gLinkHumanLeftHandClosedDL, gLinkHumanLeftHandClosedDL, +}; + +Gfx* gPlayerLeftHandOneHandSwordDLs[2 * PLAYER_FORM_MAX] = { + gLinkFierceDeityLeftHandDL, + gLinkFierceDeityLeftHandDL, + gLinkGoronLeftHandOpenDL, + gLinkGoronLeftHandOpenDL, + gLinkZoraLeftHandClosedDL, + gLinkZoraLeftHandClosedDL, + gLinkDekuLeftHandDL, + gLinkDekuLeftHandDL, + gLinkHumanLeftHandHoldingKokiriSwordDL, + gLinkHumanLeftHandHoldingKokiriSwordDL, +}; + +Gfx* D_801C018C[][2] = { + { gLinkHumanLeftHandHoldingKokiriSwordDL, gLinkHumanLeftHandHoldingKokiriSwordDL }, + { gLinkHumanLeftHandHoldingRazorSwordDL, gLinkHumanLeftHandHoldingRazorSwordDL }, + { gLinkHumanLeftHandHoldingGildedSwordDL, gLinkHumanLeftHandHoldingGildedSwordDL }, +}; + +Gfx* gPlayerRightHandOpenDLs[2 * PLAYER_FORM_MAX] = { + gLinkFierceDeityRightHandDL, gLinkFierceDeityRightHandDL, gLinkGoronRightHandOpenDL, gLinkGoronRightHandOpenDL, + gLinkZoraRightHandOpenDL, gLinkZoraRightHandOpenDL, gLinkDekuRightHandDL, gLinkDekuRightHandDL, + gLinkHumanRightHandOpenDL, gLinkHumanRightHandOpenDL, +}; + +Gfx* gPlayerRightHandClosedDLs[2 * PLAYER_FORM_MAX] = { + gLinkFierceDeityRightHandDL, gLinkFierceDeityRightHandDL, gLinkGoronRightHandClosedDL, gLinkGoronRightHandClosedDL, + gLinkZoraRightHandClosedDL, gLinkZoraRightHandClosedDL, gLinkDekuRightHandDL, gLinkDekuRightHandDL, + gLinkHumanRightHandClosedDL, gLinkHumanRightHandClosedDL, +}; + +Gfx* gPlayerRightHandBowDLs[2 * PLAYER_FORM_MAX] = { + gLinkFierceDeityRightHandDL, + gLinkFierceDeityRightHandDL, + gLinkGoronRightHandOpenDL, + gLinkGoronRightHandOpenDL, + gLinkZoraRightHandOpenDL, + gLinkZoraRightHandOpenDL, + gLinkDekuRightHandDL, + gLinkDekuRightHandDL, + gLinkHumanRightHandHoldingBowDL, + gLinkHumanRightHandHoldingBowDL, +}; + +Gfx* gPlayerRightHandInstrumentDLs[2 * PLAYER_FORM_MAX] = { + gLinkFierceDeityRightHandDL, + gLinkFierceDeityRightHandDL, + gLinkGoronRightHandOpenDL, + gLinkGoronRightHandOpenDL, + gLinkZoraRightHandOpenDL, + gLinkZoraRightHandOpenDL, + gLinkDekuRightHandDL, + gLinkDekuRightHandDL, + gLinkHumanRightHandHoldingOcarinaDL, + gLinkHumanRightHandHoldingOcarinaDL, +}; + +Gfx* gPlayerRightHandHookshotDLs[2 * PLAYER_FORM_MAX] = { + gLinkFierceDeityRightHandDL, + gLinkFierceDeityRightHandDL, + gLinkGoronRightHandOpenDL, + gLinkGoronRightHandOpenDL, + gLinkZoraRightHandOpenDL, + gLinkZoraRightHandOpenDL, + gLinkDekuRightHandDL, + gLinkDekuRightHandDL, + gLinkHumanRightHandHoldingHookshotDL, + gLinkHumanRightHandHoldingHookshotDL, +}; + +Gfx* gPlayerLeftHandBottleDLs[2 * PLAYER_FORM_MAX] = { + gLinkFierceDeityLeftHandDL, + gLinkFierceDeityLeftHandDL, + gLinkGoronLeftHandHoldBottleDL, + gLinkGoronLeftHandHoldBottleDL, + gLinkZoraLeftHandHoldBottleDL, + gLinkZoraLeftHandHoldBottleDL, + gLinkDekuLeftHandDL, + gLinkDekuLeftHandDL, + gLinkHumanLeftHandHoldBottleDL, + gLinkHumanLeftHandHoldBottleDL, +}; + +/* DLists groups end */ + +Gfx* D_801C0294[PLAYER_FORM_MAX] = { + gLinkFierceDeityLeftForearmDL, gLinkGoronLeftForearmDL, gLinkZoraLeftForearmDL, + gLinkDekuLeftForearmDL, gLinkHumanLeftForearmDL, +}; + +Gfx* D_801C02A8[PLAYER_FORM_MAX] = { + gLinkFierceDeityLeftHandDL, gLinkGoronLeftHandOpenDL, gLinkZoraLeftHandClosedDL, + gLinkDekuLeftHandDL, gLinkHumanLeftHandClosedDL, +}; + +Gfx* D_801C02BC[PLAYER_FORM_MAX] = { + gLinkFierceDeityRightShoulderDL, gLinkGoronRightShoulderDL, gLinkZoraRightShoulderDL, + gLinkDekuRightShoulderDL, gLinkHumanRightShoulderDL, +}; + +Gfx* D_801C02D0[PLAYER_FORM_MAX] = { + gLinkFierceDeityRightHandDL, + //! @bug This is in the middle of a texture in the link_goron object. It has the same offset as a link_nuts dlist + 0x060038C0, + gLinkZoraRightHandOpenDL, + gLinkDekuRightHandDL, + object_link_child_DL_018490, +}; + +Gfx* D_801C02E4[PLAYER_FORM_MAX] = { + gLinkFierceDeityRightHandDL, + //! @bug This is in the middle of a texture in the link_goron object. It has the same offset as a link_nuts dlist + 0x060038C0, + gLinkZoraRightHandOpenDL, + gLinkDekuRightHandDL, + object_link_child_DL_017B40, +}; + +// Indexed by model types (left hand, right hand, sheath or waist) +Gfx** sPlayerDListGroups[PLAYER_MODELTYPE_MAX] = { + gPlayerLeftHandOpenDLs, // PLAYER_MODELTYPE_LH_OPEN + gPlayerLeftHandClosedDLs, // PLAYER_MODELTYPE_LH_CLOSED + gPlayerLeftHandOneHandSwordDLs, // PLAYER_MODELTYPE_LH_ONE_HAND_SWORD + gPlayerLeftHandTwoHandSwordDLs, // PLAYER_MODELTYPE_LH_TWO_HAND_SWORD + gPlayerLeftHandOpenDLs, // PLAYER_MODELTYPE_LH_4 + gPlayerLeftHandBottleDLs, // PLAYER_MODELTYPE_LH_BOTTLE + gPlayerRightHandOpenDLs, // PLAYER_MODELTYPE_RH_OPEN + gPlayerRightHandClosedDLs, // PLAYER_MODELTYPE_RH_CLOSED + gPlayerRightHandClosedDLs, // PLAYER_MODELTYPE_RH_SHIELD + gPlayerRightHandBowDLs, // PLAYER_MODELTYPE_RH_BOW + gPlayerRightHandInstrumentDLs, // PLAYER_MODELTYPE_RH_INSTRUMENT + gPlayerRightHandHookshotDLs, // PLAYER_MODELTYPE_RH_HOOKSHOT + gPlayerSheath12DLs, // PLAYER_MODELTYPE_SHEATH_12 + gPlayerSheath13DLs, // PLAYER_MODELTYPE_SHEATH_13 + gPlayerSheath14DLs, // PLAYER_MODELTYPE_SHEATH_14 + gPlayerSheath14DLs, // PLAYER_MODELTYPE_SHEATH_15 + gPlayerWaistDLs, // PLAYER_MODELTYPE_WAIST + NULL, // PLAYER_MODELTYPE_17 +}; + +struct_80124618 D_801C0340[] = { + { 0, { 0, 0, 0 } }, { 5, { 0, 0, 0 } }, { 7, { 100, 100, 100 } }, + { 9, { 110, 110, 110 } }, { 11, { 100, 100, 100 } }, +}; +struct_80124618 D_801C0368[] = { + { 0, { 0, 0, 0 } }, { 4, { 0, 0, 0 } }, { 6, { 120, 150, 60 } }, { 8, { 130, 80, 160 } }, + { 9, { 100, 100, 100 } }, { 10, { 90, 100, 90 } }, { 11, { 100, 100, 100 } }, +}; +struct_80124618 D_801C03A0[] = { + { 0, { 100, 100, 100 } }, + { 2, { 120, 120, 120 } }, + { 6, { 90, 90, 90 } }, + { 7, { 93, 93, 93 } }, +}; +struct_80124618 D_801C03C0[] = { + { 0, { 200, 100, 110 } }, + { 2, { 90, 100, 100 } }, + { 3, { 100, 100, 100 } }, + { 7, { 100, 100, 100 } }, +}; +struct_80124618 D_801C03E0[] = { + { 0, { 100, 100, 110 } }, { 2, { 60, 100, 80 } }, { 3, { 130, 105, 110 } }, + { 7, { 130, 105, 110 } }, { 10, { 100, 100, 100 } }, { 19, { 100, 100, 100 } }, +}; +struct_80124618 D_801C0410[] = { + { 0, { 0, 0, 0 } }, + { 2, { 80, 110, 80 } }, + { 3, { 100, 100, 100 } }, +}; +struct_80124618 D_801C0428[] = { + { 0, { 0, 0, 0 } }, { 6, { 0, 0, 0 } }, { 7, { 60, 60, 50 } }, { 8, { 120, 130, 100 } }, + { 9, { 100, 120, 80 } }, { 11, { 100, 100, 100 } }, { 13, { 100, 100, 100 } }, +}; +struct_80124618 D_801C0460[] = { + { 0, { 100, 100, 100 } }, { 5, { 100, 100, 100 } }, { 7, { 100, 74, 80 } }, + { 8, { 100, 180, 130 } }, { 10, { 100, 80, 80 } }, { 13, { 100, 100, 100 } }, +}; +struct_80124618 D_801C0490[] = { + { 0, { 100, 100, 100 } }, { 1, { 100, 100, 100 } }, { 2, { 90, 100, 105 } }, { 4, { 110, 100, 100 } }, + { 5, { 90, 100, 105 } }, { 6, { 100, 100, 100 } }, { 7, { 90, 100, 105 } }, { 8, { 100, 100, 100 } }, + { 9, { 90, 100, 105 } }, { 10, { 100, 100, 100 } }, { 11, { 90, 100, 105 } }, { 12, { 110, 100, 100 } }, + { 13, { 100, 100, 100 } }, { 14, { 90, 100, 105 } }, { 15, { 90, 100, 105 } }, { 17, { 100, 100, 100 } }, +}; +struct_80124618 D_801C0510[] = { + { 0, { 100, 100, 100 } }, { 4, { 100, 100, 100 } }, { 5, { 90, 110, 100 } }, + { 6, { 110, 105, 100 } }, { 8, { 100, 100, 100 } }, +}; +struct_80124618 D_801C0538[] = { + { 0, { 100, 100, 100 } }, { 5, { 100, 100, 100 } }, { 6, { 0, 0, 0 } }, + { 8, { 100, 100, 100 } }, { 14, { 100, 100, 100 } }, +}; +struct_80124618 D_801C0560[] = { + { 0, { 100, 100, 100 } }, + { 2, { 95, 95, 100 } }, + { 3, { 105, 105, 100 } }, + { 5, { 102, 102, 102 } }, +}; +struct_80124618 D_801C0580[] = { + { 0, { 100, 100, 100 } }, { 9, { 100, 100, 100 } }, { 10, { 150, 150, 150 } }, + { 12, { 0, 0, 0 } }, { 14, { 0, 0, 0 } }, +}; +struct_80124618 D_801C05A8[] = { + { 0, { 100, 100, 100 } }, + { 6, { 100, 100, 100 } }, + { 7, { 0, 0, 0 } }, + { 17, { 0, 0, 0 } }, +}; +struct_80124618 D_801C05C8[] = { + { 0, { 0, 0, 0 } }, + { 17, { 50, 50, 50 } }, +}; +struct_80124618 D_801C05D8[] = { + { 0, { 0, 0, 0 } }, + { 5, { 0, 0, 0 } }, + { 9, { 100, 100, 100 } }, +}; +struct_80124618 D_801C05F0[] = { + { 0, { 100, 100, 100 } }, + { 5, { 100, 100, 100 } }, + { 9, { 0, 0, 0 } }, +}; +struct_80124618 D_801C0608[] = { + { 0, { 100, 100, 100 } }, + { 10, { 100, 100, 100 } }, + { 32, { 100, 115, 105 } }, + { 58, { 100, 101, 100 } }, +}; +struct_80124618 D_801C0628[] = { + { 0, { 100, 100, 100 } }, { 5, { 100, 100, 100 } }, { 15, { 100, 100, 105 } }, { 25, { 100, 100, 105 } }, + { 34, { 100, 100, 100 } }, { 46, { 100, 100, 100 } }, { 57, { 100, 100, 105 } }, { 67, { 100, 100, 105 } }, + { 76, { 100, 100, 100 } }, { 78, { 100, 100, 100 } }, +}; +struct_80124618 D_801C0678[] = { + { 0, { 0, 0, 0 } }, + { 6, { 0, 0, 0 } }, + { 8, { 100, 100, 100 } }, + { 11, { 100, 100, 100 } }, +}; +struct_80124618 D_801C0698[] = { + { 0, { 0, 0, 0 } }, + { 7, { 1120, 112, 112 } }, + { 8, { 140, 168, 168 } }, + { 11, { 140, 140, 140 } }, +}; +struct_80124618 D_801C06B8[] = { + { 0, { 100, 100, 100 } }, { 7, { 100, 100, 100 } }, { 8, { 70, 30, 70 } }, { 10, { 0, 0, 0 } }, { 14, { 0, 0, 0 } }, +}; +struct_80124618 D_801C06E0[] = { + { 0, { 140, 140, 140 } }, + { 1, { 0, 0, 0 } }, + { 14, { 0, 0, 0 } }, +}; +struct_80124618 D_801C06F8[] = { + { 0, { 100, 100, 100 } }, + { 5, { 100, 100, 100 } }, + { 6, { 0, 0, 0 } }, + { 10, { 0, 0, 0 } }, +}; +struct_80124618 D_801C0718[] = { + { 0, { 140, 140, 140 } }, + { 1, { 0, 0, 0 } }, + { 10, { 0, 0, 0 } }, +}; +struct_80124618 D_801C0730[] = { + { 0, { 100, 100, 100 } }, + { 13, { 100, 100, 100 } }, +}; +struct_80124618 D_801C0740[] = { + { 0, { 140, 140, 140 } }, + { 13, { 140, 140, 140 } }, +}; +struct_80124618 D_801C0750[] = { + { 0, { 100, 100, 100 } }, { 5, { 100, 100, 100 } }, { 6, { 200, 200, 200 } }, + { 10, { 200, 200, 200 } }, { 11, { 100, 100, 100 } }, +}; + +// alpha values +u8 D_801C0778[] = { + 0, 0, 0, 0, 0, 100, 200, 255, 255, 255, 200, 100, +}; + +struct_80124618 D_801C0784[] = { + { 0, { 100, 100, 100 } }, { 14, { 100, 100, 100 } }, { 15, { 200, 200, 200 } }, + { 16, { 200, 200, 200 } }, { 18, { 100, 100, 100 } }, +}; + +u8 D_801C07AC[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 200, 255, 255, 255, 200, 100, 0, +}; + +void Player_SetModelsForHoldingShield(Player* player) { if (player->stateFlags1 & PLAYER_STATE1_400000) { if ((player->heldItemActionParam < 0) || (player->heldItemActionParam == player->itemActionParam)) { if (!Player_IsHoldingTwoHandedWeapon(player)) { if (!Player_IsGoronOrDeku(player)) { D_801F59E0 = player->transformation * 2; - player->rightHandType = 8; - player->rightHandDLists = &sPlayerDListGroups[8][D_801F59E0]; + player->rightHandType = PLAYER_MODELTYPE_RH_SHIELD; + player->rightHandDLists = &sPlayerDListGroups[PLAYER_MODELTYPE_RH_SHIELD][D_801F59E0]; - if (player->sheathType == 14) { - player->sheathType = 12; - } else if (player->sheathType == 15) { - player->sheathType = 13; + if (player->sheathType == PLAYER_MODELTYPE_SHEATH_14) { + player->sheathType = PLAYER_MODELTYPE_SHEATH_12; + } else if (player->sheathType == PLAYER_MODELTYPE_SHEATH_15) { + player->sheathType = PLAYER_MODELTYPE_SHEATH_13; } player->sheathDLists = &sPlayerDListGroups[player->sheathType][D_801F59E0]; - player->modelAnimType = 2; + player->modelAnimType = PLAYER_ANIMTYPE_2; player->heldItemActionParam = -1; } } @@ -605,43 +1199,43 @@ void func_801239AC(Player* player) { } } -void Player_SetModels(Player* player, s32 modelGroup) { - u8* playerModelTypes; +void Player_SetModels(Player* player, PlayerModelGroup modelGroup) { + PlayerModelIndices* playerModelTypes; D_801F59E0 = player->transformation * 2; - player->leftHandType = gPlayerModelTypes[modelGroup][1]; - player->rightHandType = gPlayerModelTypes[modelGroup][2]; - player->sheathType = gPlayerModelTypes[modelGroup][3]; + player->leftHandType = gPlayerModelTypes[modelGroup].leftHandType; + player->rightHandType = gPlayerModelTypes[modelGroup].rightHandType; + player->sheathType = gPlayerModelTypes[modelGroup].sheathType; - if (player->sheathType == 14) { + if (player->sheathType == PLAYER_MODELTYPE_SHEATH_14) { if (CUR_FORM_EQUIP(EQUIP_SLOT_B) == ITEM_NONE) { - player->sheathType = 15; + player->sheathType = PLAYER_MODELTYPE_SHEATH_15; } } - playerModelTypes = gPlayerModelTypes[modelGroup]; + playerModelTypes = &gPlayerModelTypes[modelGroup]; - player->leftHandDLists = &sPlayerDListGroups[playerModelTypes[1]][D_801F59E0]; - player->rightHandDLists = &sPlayerDListGroups[playerModelTypes[2]][D_801F59E0]; - player->sheathDLists = &sPlayerDListGroups[playerModelTypes[3]][D_801F59E0]; - player->waistDLists = &sPlayerDListGroups[playerModelTypes[4]][D_801F59E0]; + player->leftHandDLists = &sPlayerDListGroups[playerModelTypes->leftHandType][D_801F59E0]; + player->rightHandDLists = &sPlayerDListGroups[playerModelTypes->rightHandType][D_801F59E0]; + player->sheathDLists = &sPlayerDListGroups[playerModelTypes->sheathType][D_801F59E0]; + player->waistDLists = &sPlayerDListGroups[playerModelTypes->waistType][D_801F59E0]; - func_801239AC(player); + Player_SetModelsForHoldingShield(player); } -void Player_SetModelGroup(Player* player, s32 modelGroup) { +void Player_SetModelGroup(Player* player, PlayerModelGroup modelGroup) { player->modelGroup = modelGroup; - if (modelGroup == 1) { - player->modelAnimType = 0; + if (modelGroup == PLAYER_MODELGROUP_1) { + player->modelAnimType = PLAYER_ANIMTYPE_0; } else { - player->modelAnimType = gPlayerModelTypes[modelGroup][0]; + player->modelAnimType = gPlayerModelTypes[modelGroup].modelAnimType; } - if (player->modelAnimType < 3) { + if (player->modelAnimType < PLAYER_ANIMTYPE_3) { if (((player->transformation != PLAYER_FORM_FIERCE_DEITY) && (player->transformation != PLAYER_FORM_HUMAN)) || (player->currentShield == PLAYER_SHIELD_NONE)) { - player->modelAnimType = 0; + player->modelAnimType = PLAYER_ANIMTYPE_0; } } @@ -669,7 +1263,7 @@ void Player_SetEquipmentData(PlayState* play, Player* player) { } } -void func_80123D50(PlayState* play, Player* player, s32 itemId, s32 actionParam) { +void func_80123D50(PlayState* play, Player* player, ItemId itemId, PlayerActionParam actionParam) { Inventory_UpdateBottleItem(play, itemId, player->heldItemButton); if (itemId != ITEM_BOTTLE) { @@ -687,16 +1281,16 @@ void func_80123DA4(Player* player) { void func_80123DC0(Player* player) { if ((player->actor.bgCheckFlags & 1) || - (player->stateFlags1 & (PLAYER_STATE1_8000000 | PLAYER_STATE1_800000 | PLAYER_STATE1_200000)) || - (!(player->stateFlags1 & (PLAYER_STATE1_80000 | PLAYER_STATE1_40000)) && + (player->stateFlags1 & (PLAYER_STATE1_200000 | PLAYER_STATE1_800000 | PLAYER_STATE1_8000000)) || + (!(player->stateFlags1 & (PLAYER_STATE1_40000 | PLAYER_STATE1_80000)) && ((player->actor.world.pos.y - player->actor.floorHeight) < 100.0f))) { - player->stateFlags1 &= ~(PLAYER_STATE1_40000000 | PLAYER_STATE1_80000 | PLAYER_STATE1_40000 | - PLAYER_STATE1_20000 | PLAYER_STATE1_10000 | PLAYER_STATE1_8000); - } else if (!(player->stateFlags1 & (PLAYER_STATE1_200000 | PLAYER_STATE1_80000 | PLAYER_STATE1_40000))) { + player->stateFlags1 &= ~(PLAYER_STATE1_8000 | PLAYER_STATE1_10000 | PLAYER_STATE1_20000 | PLAYER_STATE1_40000 | + PLAYER_STATE1_80000 | PLAYER_STATE1_40000000); + } else if (!(player->stateFlags1 & (PLAYER_STATE1_40000 | PLAYER_STATE1_80000 | PLAYER_STATE1_200000))) { player->stateFlags1 |= PLAYER_STATE1_80000; } else if ((player->stateFlags1 & PLAYER_STATE1_40000) && (player->transformation == PLAYER_FORM_DEKU)) { player->stateFlags1 &= - ~(PLAYER_STATE1_40000000 | PLAYER_STATE1_20000 | PLAYER_STATE1_10000 | PLAYER_STATE1_8000); + ~(PLAYER_STATE1_8000 | PLAYER_STATE1_10000 | PLAYER_STATE1_20000 | PLAYER_STATE1_40000000); } func_80123DA4(player); @@ -764,7 +1358,7 @@ s32 Player_HasMirrorShieldEquipped(PlayState* play) { s32 Player_IsHoldingMirrorShield(PlayState* play) { Player* player = GET_PLAYER(play); - return (player->transformation == PLAYER_FORM_HUMAN) && (player->rightHandType == 8) && + return (player->transformation == PLAYER_FORM_HUMAN) && (player->rightHandType == PLAYER_MODELTYPE_RH_SHIELD) && (player->currentShield == PLAYER_SHIELD_MIRROR_SHIELD); } @@ -776,7 +1370,7 @@ s32 func_801240DC(Player* player) { return Player_IsHoldingHookshot(player) && (player->heldActor == NULL); } -s32 func_80124110(Player* player, s32 actionParam) { +s32 func_80124110(Player* player, PlayerActionParam actionParam) { s32 temp_v0 = actionParam - PLAYER_AP_FISHING_ROD; if (player->transformation != PLAYER_FORM_GORON) { @@ -793,7 +1387,7 @@ s32 func_80124148(Player* player) { return func_80124110(player, player->itemActionParam); } -s32 Player_ActionToMeleeWeapon(s32 actionParam) { +s32 Player_ActionToMeleeWeapon(PlayerActionParam actionParam) { s32 weapon = actionParam - (PLAYER_AP_SWORD_KOKIRI - 1); if ((weapon > 0) && (weapon <= (PLAYER_AP_ZORA_FINS - (PLAYER_AP_SWORD_KOKIRI - 1)))) { @@ -815,7 +1409,7 @@ s32 Player_IsHoldingTwoHandedWeapon(Player* player) { return false; } -s32 Player_ActionToBottle(Player* player, s32 actionParam) { +s32 Player_ActionToBottle(Player* player, PlayerActionParam actionParam) { s32 bottle = actionParam - PLAYER_AP_BOTTLE; // Relies on bottle-related action params to be contiguous @@ -830,7 +1424,7 @@ s32 Player_GetBottleHeld(Player* Player) { return Player_ActionToBottle(Player, Player->itemActionParam); } -s32 Player_ActionToExplosive(Player* player, s32 actionParam) { +s32 Player_ActionToExplosive(Player* player, PlayerActionParam actionParam) { s32 explosive = actionParam - PLAYER_AP_BOMB; // Relies on explosive-related action params to be contiguous @@ -845,8 +1439,7 @@ s32 Player_GetExplosiveHeld(Player* player) { return Player_ActionToExplosive(player, player->itemActionParam); } -// Convert actionParam to sword -s32 func_80124278(Actor* actor, s32 actionParam) { +s32 Player_ActionToSword(Actor* actor, PlayerActionParam actionParam) { s32 sword = 0; //! FAKE: @@ -896,6 +1489,7 @@ s32 Player_GetEnvTimerType(PlayState* play) { return envTimerType + 1; } +void func_80124420(Player* player); #pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124420.s") void func_80124618(struct_80124618 arg0[], f32 curFrame, Vec3f* arg2) { @@ -911,7 +1505,6 @@ void func_80124618(struct_80124618 arg0[], f32 curFrame, Vec3f* arg2) { } while (temp_v1 < currentFrame); temp_f0 = arg0[-1].unk_0; - progress = (curFrame - temp_f0) / (temp_v1 - temp_f0); temp_f14 = arg0[-1].unk_2.x; @@ -924,16 +1517,185 @@ void func_80124618(struct_80124618 arg0[], f32 curFrame, Vec3f* arg2) { arg2->z = LERPIMP(temp_f14, arg0->unk_2.z, progress) * 0.01f; } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801246F4.s") +struct_80124618 D_801C07C0[] = { + { 0, { 100, 100, 100 } }, { 10, { 100, 100, 100 } }, { 11, { 100, 120, 120 } }, + { 12, { 100, 120, 120 } }, { 14, { 100, 100, 100 } }, { 19, { 100, 100, 100 } }, +}; + +struct_80124618 D_801C07F0[] = { + { 0, { 40, 60, 70 } }, { 3, { 40, 60, 70 } }, { 4, { 75, 90, 85 } }, + { 5, { 110, 120, 100 } }, { 7, { 100, 100, 100 } }, { 8, { 100, 100, 100 } }, +}; +struct_80124618 D_801C0820[] = { + { 0, { 100, 100, 100 } }, + { 7, { 100, 100, 100 } }, + { 12, { 40, 60, 70 } }, +}; +struct_80124618 D_801C0838[] = { + { 0, { 40, 60, 70 } }, + { 7, { 40, 60, 70 } }, + { 12, { 100, 100, 100 } }, +}; + +Gfx gCullBackDList[] = { + gsSPSetGeometryMode(G_CULL_BACK), + gsSPEndDisplayList(), +}; +Gfx gCullFrontDList[] = { + gsSPSetGeometryMode(G_CULL_FRONT), + gsSPEndDisplayList(), +}; + +TexturePtr sPlayerEyesTextures[] = { + gLinkHumanEyesOpenTex, gLinkHumanEyesHalfTex, gLinkHumanEyesClosedTex, gLinkHumanEyesRollRightTex, + gLinkHumanEyesRollLeftTex, gLinkHumanEyesRollUpTex, gLinkHumanEyesRollDownTex, object_link_child_Tex_003800, +}; + +TexturePtr sPlayerMouthTextures[] = { + gLinkHumanMouthClosedTex, + gLinkHumanMouthTeethTex, + gLinkHumanMouthAngryTex, + gLinkHumanMouthHappyTex, +}; + +typedef struct PlayerFaceIndices { + /* 0x00 */ u8 eyeIndex; + /* 0x01 */ u8 mouthIndex; +} PlayerFaceIndices; // size = 0x02 + +PlayerFaceIndices sPlayerFaces[] = { + { PLAYER_EYES_OPEN, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_0 + { PLAYER_EYES_HALF, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_1 + { PLAYER_EYES_CLOSED, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_2 + { PLAYER_EYES_OPEN, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_3 + { PLAYER_EYES_HALF, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_4 + { PLAYER_EYES_CLOSED, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_5 + { PLAYER_EYES_ROLL_LEFT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_6 + { PLAYER_EYES_ROLL_UP, PLAYER_MOUTH_TEETH }, // PLAYER_FACE_7 + { PLAYER_EYES_7, PLAYER_MOUTH_ANGRY }, // PLAYER_FACE_8 + { PLAYER_EYES_OPEN, PLAYER_MOUTH_ANGRY }, // PLAYER_FACE_9 + { PLAYER_EYES_ROLL_RIGHT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_10 + { PLAYER_EYES_ROLL_LEFT, PLAYER_MOUTH_CLOSED }, // PLAYER_FACE_11 + { PLAYER_EYES_CLOSED, PLAYER_MOUTH_ANGRY }, // PLAYER_FACE_12 + { PLAYER_EYES_HALF, PLAYER_MOUTH_TEETH }, // PLAYER_FACE_13 + { PLAYER_EYES_OPEN, PLAYER_MOUTH_ANGRY }, // PLAYER_FACE_14 + { PLAYER_EYES_OPEN, PLAYER_MOUTH_HAPPY }, // PLAYER_FACE_15 +}; + +// Note the correct pointer to pass as the jointTable is the jointTable pointer from the SkelAnime struct, not the +// buffer from the Player struct itself since that one may be misaligned. +void Player_DrawImpl(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, + PlayerTransformation playerForm, s32 boots, s32 face, OverrideLimbDrawFlex overrideLimbDraw, + PostLimbDrawFlex postLimbDraw, Actor* actor) { + s32 eyeIndex = (jointTable[22].x & 0xF) - 1; + s32 mouthIndex = ((jointTable[22].x >> 4) & 0xF) - 1; + Gfx* gfx; + + OPEN_DISPS(play->state.gfxCtx); + + gfx = POLY_OPA_DISP; + + if (eyeIndex < 0) { + eyeIndex = sPlayerFaces[face].eyeIndex; + } + + if (playerForm == PLAYER_FORM_GORON) { + if ((eyeIndex >= PLAYER_EYES_ROLL_RIGHT) && (eyeIndex <= PLAYER_EYES_ROLL_DOWN)) { + eyeIndex = PLAYER_EYES_OPEN; + } else if (eyeIndex == PLAYER_EYES_7) { + eyeIndex = PLAYER_EYES_ROLL_RIGHT; + } + } + + gSPSegment(&gfx[0], 0x08, Lib_SegmentedToVirtual(sPlayerEyesTextures[eyeIndex])); + + if (mouthIndex < 0) { + mouthIndex = sPlayerFaces[face].mouthIndex; + } + + gSPSegment(&gfx[1], 0x09, Lib_SegmentedToVirtual(sPlayerMouthTextures[mouthIndex])); + + POLY_OPA_DISP = &gfx[2]; + + D_801F59E0 = playerForm * 2; + D_801F59E4 = lod; + SkelAnime_DrawFlexLod(play, skeleton, jointTable, dListCount, overrideLimbDraw, postLimbDraw, actor, lod); + + CLOSE_DISPS(play->state.gfxCtx); +} + +Vec3f D_801C08C0[PLAYER_FORM_MAX] = { + { 1304.0f, 0.0f, 0.0f }, { 1156.0f, 0.0f, 0.0f }, { 1406.0f, 0.0f, 0.0f }, + { 408.0f, 0.0f, 0.0f }, { 695.0f, 0.0f, 0.0f }, +}; + +f32 D_801C08FC[PLAYER_FORM_MAX] = { + 1265.0f, 1056.0f, 1506.0f, 359.0f, 826.0f, +}; +f32 D_801C0910[PLAYER_FORM_MAX] = { + 170.0416f, 133.63359f, 197.68358f, 16.646399f, 48.302498f, +}; +f32 D_801C0924[PLAYER_FORM_MAX] = { + 10.019104f, 22.120003f, -29.12001f, 3.7582989f, -19.925102f, +}; +f32 D_801C0938[PLAYER_FORM_MAX] = { + 5.0f, 4.0f, 1.0f, 1.0f, 3.0f, +}; #pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124870.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80124CC4.s") +void func_80124CC4(PlayState* play, Player* player, f32 arg2) { + static Vec3f D_801C094C = { -500.0f, -100.0f, 0.0f }; + CollisionPoly* poly; + s32 bgId; + Vec3f sp7C; + Vec3f sp70; + Vec3f pos; + Vec3f sp58; + f32 sp54; + f32 scale; + + D_801C094C.z = 0.0f; + Matrix_MultVec3f(&D_801C094C, &sp7C); + D_801C094C.z = arg2; + Matrix_MultVec3f(&D_801C094C, &sp70); + + if (BgCheck_AnyLineTest3(&play->colCtx, &sp7C, &sp70, &pos, &poly, true, true, true, true, &bgId)) { + if (!func_800B90AC(play, &player->actor, poly, bgId, &pos) || + BgCheck_ProjectileLineTest(&play->colCtx, &sp7C, &sp70, &pos, &poly, true, true, true, true, &bgId)) { + OPEN_DISPS(play->state.gfxCtx); + + OVERLAY_DISP = Gfx_CallSetupDL(OVERLAY_DISP, 7); + + SkinMatrix_Vec3fMtxFMultXYZW(&play->viewProjectionMtxF, &pos, &sp58, &sp54); + if (sp54 < 200.0f) { + scale = 0.08f; + } else { + scale = (sp54 / 200.0f) * 0.08f; + } + Matrix_Translate(pos.x, pos.y, pos.z, MTXMODE_NEW); + Matrix_Scale(scale, scale, scale, MTXMODE_APPLY); + + gSPMatrix(OVERLAY_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + + gSPSegment(OVERLAY_DISP++, 0x06, play->objectCtx.status[player->actor.objBankIndex].segment); + gSPDisplayList(OVERLAY_DISP++, gameplay_keep_DL_04F250); + + CLOSE_DISPS(play->state.gfxCtx); + } + } +} -extern s32 D_801C0958; -#if 0 s32 D_801C0958 = false; -#endif + +Gfx** D_801C095C[] = { + gPlayerLeftHandClosedDLs, + gPlayerLeftHandOpenDLs, +}; +Gfx** D_801C0964[] = { + gPlayerRightHandClosedDLs, + gPlayerRightHandOpenDLs, +}; void func_80124F18(s16* arg0, f32* arg1, s16 arg2, f32 arg3, f32 arg4) { f32 phi_f12; @@ -1067,14 +1829,11 @@ s32 func_801263FC(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s #pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80126440.s") -extern u8 D_801C096C[PLAYER_SHIELD_MAX]; -#if 0 u8 D_801C096C[PLAYER_SHIELD_MAX] = { COLTYPE_METAL, COLTYPE_METAL, COLTYPE_METAL, }; -#endif void func_801265C8(PlayState* play, Player* player, ColliderQuad* collider, Vec3f arg3[4]) { if (player->stateFlags1 & PLAYER_STATE1_400000) { @@ -1094,6 +1853,146 @@ void func_801265C8(PlayState* play, Player* player, ColliderQuad* collider, Vec3 } } +Vec3f D_801C0970[] = { + { 0.0f, 400.0f, 0.0f }, + { 0.0f, 1400.0f, -1000.0f }, + { 0.0f, -400.0f, 1000.0f }, +}; + +Vec3f D_801C0994[] = { + { 5000.0f, 400.0f, 0.0f }, + { 5000.0f, -400.0f, 1000.0f }, + { 5000.0f, 1400.0f, -1000.0f }, +}; + +Vec3f D_801C09B8[] = { + { 0.0f, 750.0f, 750.0f }, + { 1500.0f, 1500.0f, 1500.0f }, + { -2500.0f, -2000.0f, -3000.0f }, +}; + +Vec3f D_801C09DC[] = { + { 900.0f, 300.0f, 100.0f }, + { 1300.0f, 700.0f, -300.0f }, + { 500.0f, -100.0f, 500.0f }, +}; + +Vec3f D_801C0A00[] = { + { -2500.0f, 1400.0f, 1100.0f }, + { -2900.0f, 1000.0f, 1500.0f }, + { -2100.0f, 1800.0f, 700.0f }, +}; + +Vec3f D_801C0A24[] = { + { 0.0f, 0.0f, 0.0f }, + { -800.0f, 800.0f, 800.0f }, + { -800.0f, -800.0f, -800.0f }, +}; + +Vec3f D_801C0A48[] = { + { 2000.0f, 0.0f, 0.0f }, + { 2800.0f, -800.0f, -800.0f }, + { 2800.0f, 800.0f, 800.0f }, +}; + +Vec3f D_801C0A6C[] = { + { -400.0f, 800.0f, 0.0f }, + { -5000.0f, -500.0f, -4000.0f }, + { -5000.0f, 8000.0f, 4000.0f }, +}; + +Vec3f D_801C0A90[] = { + { -400.0f, 1800.0f, 0.0f }, + { 5000.0f, 8000.0f, 4000.0f }, + { 5000.0f, -500.0f, -4000.0f }, +}; + +Gfx* D_801C0AB4[] = { + object_link_zora_DL_00CC38, + object_link_zora_DL_00CDA0, +}; + +Gfx* D_801C0ABC[] = { + object_link_zora_DL_010868, + object_link_zora_DL_010978, +}; + +Vec3f D_801C0AC4[] = { + { 5400.0f, 1700.0f, 1800.0f }, + { 5400.0f, 1700.0f, -1800.0f }, +}; + +Vec3f D_801C0ADC[] = { + { 5250.0f, 570.0f, 2400.0f }, + { 5250.0f, 570.0f, -2400.0f }, +}; + +struct_80124618* D_801C0AF4[] = { + D_801C0678, + D_801C0698, +}; + +struct_80124618* D_801C0AFC[] = { + D_801C06B8, + D_801C06E0, +}; + +struct_80124618* D_801C0B04[] = { + D_801C06F8, + D_801C0718, +}; + +struct_80124618* D_801C0B0C[] = { + D_801C0730, + D_801C0740, +}; + +Gfx* D_801C0B14[] = { + object_link_nuts_DL_008760, + object_link_nuts_DL_008660, +}; + +u8 D_801C0B1C[] = { + 0x0C, + 0x0F, +}; + +Gfx* D_801C0B20[] = { + object_mask_truth_DL_0001A0, + object_mask_kerfay_DL_000D40, + object_mask_yofukasi_DL_000490, + object_mask_rabit_DL_000610, + object_mask_ki_tan_DL_0004A0, + object_mask_json_DL_0004C0, + object_mask_romerny_DL_0007A0, + object_mask_zacho_DL_000700, + object_mask_posthat_DL_000290, + object_mask_meoto_DL_0005A0, + object_mask_bigelf_DL_0016F0, + object_mask_gibudo_DL_000250, + gDonGeroMaskDL, + object_mask_dancer_DL_000EF0, + object_mask_skj_DL_0009F0, + object_mask_stone_DL_000820, + object_mask_bree_DL_0003C0, + object_mask_bakuretu_DL_0005C0, + object_mask_bu_san_DL_000710, + object_mask_kyojin_DL_000380, + gameplay_keep_DL_00B260, + gameplay_keep_DL_005A10, + gameplay_keep_DL_005360, + gameplay_keep_DL_0056C0, + object_mask_boy_DL_000900, + object_mask_goron_DL_0014A0, + object_mask_zora_DL_000DB0, + object_mask_nuts_DL_001D90, +}; + +Vec3f D_801C0B90[] = { + { 950.0f, -800.0f, 300.0f }, + { 950.0f, -800.0f, -300.0f }, +}; + #pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_8012669C.s") void Player_DrawGetItemImpl(PlayState* play, Player* player, Vec3f* refPos, s32 drawIdPlusOne) { @@ -1191,21 +2090,270 @@ void Player_DrawCouplesMask(PlayState* play, Player* player) { AnimatedMat_DrawOpa(play, Lib_SegmentedToVirtual(&object_mask_meoto_Matanimheader_001CD8)); } -#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80127594.s") +void Player_DrawCircusLeadersMask(PlayState* play, Actor* actor) { + static Vec3f bubbleVelocity = { 0.0f, 0.0f, 0.0f }; + static Vec3f bubbleAccel = { 0.0f, 0.0f, 0.0f }; + Gfx* gfx; + s32 i; -#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801278F8.s") + OPEN_DISPS(play->state.gfxCtx); -#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80127A60.s") + gfx = POLY_XLU_DISP; + + for (i = 0; i < ARRAY_COUNT(D_801C0B90); i++) { + f32 scaleY = (D_801F59C8[i] / 400.0f) * 0.1f; + + Matrix_MultVec3f(&D_801C0B90[i], &D_801F59B0[i]); + + //! FAKE + if (1) {} + + D_801F59B0[i].y += -10.0f * scaleY; + + if (D_801F59C8[i] < 0x190) { + f32 scaleXZ = CLAMP_MAX(scaleY, 0.05f); + + Matrix_Push(); + Matrix_Translate(D_801F59B0[i].x, D_801F59B0[i].y, D_801F59B0[i].z, MTXMODE_NEW); + Matrix_Scale(scaleXZ, scaleY, scaleXZ, MTXMODE_APPLY); + + gSPMatrix(&gfx[0], Matrix_NewMtx(play->state.gfxCtx), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPSegment(&gfx[1], 0x08, VIRTUAL_TO_PHYSICAL(SEGMENTED_TO_VIRTUAL(gEffBubble1Tex))); + gDPSetPrimColor(&gfx[2], 0, 0, 255, 255, 255, 255); + gDPSetEnvColor(&gfx[3], 150, 150, 150, 0); + gSPDisplayList(&gfx[4], gEffBubbleDL); + gSPPopMatrix(&gfx[5], G_MTX_MODELVIEW); + + Matrix_Pop(); + + gfx = &gfx[6]; + } else { + Player* player = (Player*)actor; + f32 temp_f0 = sqrtf(SQ(player->actor.velocity.x) + SQ(player->actor.velocity.z)); + s16 phi_s0 = temp_f0 * 2000.0f; + f32 temp_f20; + + bubbleVelocity.y = temp_f0 * 0.4f; + bubbleAccel.y = -0.3f; + + if (phi_s0 > 0x3E80) { + phi_s0 = 0x3E80; + } + + phi_s0 = player->actor.focus.rot.y + ((i != 0) ? phi_s0 : -phi_s0); + temp_f20 = temp_f0 * 0.2f; + + if (temp_f20 > 4.0f) { + temp_f20 = 4.0f; + } + + bubbleVelocity.x = -Math_SinS(phi_s0) * temp_f20; + bubbleVelocity.z = -Math_CosS(phi_s0) * temp_f20; + + EffectSsDtBubble_SpawnColorProfile(play, &D_801F59B0[i], &bubbleVelocity, &bubbleAccel, 20, 20, 3, 0); + D_801F59C8[i] -= 0x190; + } + } + + POLY_XLU_DISP = gfx; + + CLOSE_DISPS(play->state.gfxCtx); +} + +void Player_DrawBlastMask(PlayState* play, Player* player) { + static Gfx D_801C0BC0[] = { + gsDPSetEnvColor(0, 0, 0, 255), + gsSPEndDisplayList(), + }; + static Gfx D_801C0BD0[] = { + gsDPSetRenderMode(AA_EN | Z_CMP | Z_UPD | IM_RD | CLR_ON_CVG | CVG_DST_WRAP | ZMODE_XLU | FORCE_BL | + G_RM_FOG_SHADE_A, + AA_EN | Z_CMP | Z_UPD | IM_RD | CLR_ON_CVG | CVG_DST_WRAP | ZMODE_XLU | FORCE_BL | + GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_1MA)), + gsSPEndDisplayList(), + }; + + OPEN_DISPS(play->state.gfxCtx); + + if (player->unk_B60 != 0) { + s32 alpha; + + gSegments[0xA] = VIRTUAL_TO_PHYSICAL(player->maskObjectSegment); + + AnimatedMat_DrawOpa(play, Lib_SegmentedToVirtual(&object_mask_bakuretu_Matanimheader_0011F8)); + + if (player->unk_B60 < 11) { + alpha = (player->unk_B60 / 10.0f) * 255; + } else { + alpha = 255; + } + + gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, (u8)alpha); + gSPDisplayList(POLY_OPA_DISP++, object_mask_bakuretu_DL_000440); + gSPSegment(POLY_OPA_DISP++, 0x09, D_801C0BD0); + gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, (u8)(255 - alpha)); + } else { + gSPSegment(POLY_OPA_DISP++, 0x09, D_801C0BC0); + } + + CLOSE_DISPS(play->state.gfxCtx); +} + +Vec3f D_801C0BE0 = { 0.0f, 0.3f, 0.0f }; +Vec3f D_801C0BEC = { 0.0f, -0.025f, 0.0f }; +Color_RGBA8 D_801C0BF8 = { 250, 100, 100, 0 }; +Color_RGBA8 D_801C0BFC = { 0, 0, 100, 0 }; + +Vec3f D_801C0C00 = { 0.0f, 20.0f, 0.0f }; + +Vec3f D_801C0C0C[] = { + { 174.0f, -1269.0f, -1.0f }, + { 401.0f, -729.0f, -701.0f }, + { 401.0f, -729.0f, 699.0f }, +}; + +Vec3f D_801C0C30[] = { + { 74.0f, -1269.0f, -1.0f }, + { 301.0f, -729.0f, -701.0f }, + { 301.0f, -729.0f, 699.0f }, +}; + +typedef struct { + /* 0x00 */ f32 unk_00; + /* 0x04 */ s16 unk_04; + /* 0x06 */ s16 unk_06; + /* 0x08 */ Vec3f unk_08; + /* 0x14 */ f32 unk_14; + /* 0x18 */ s16 unk_18; + /* 0x1A */ s16 unk_1A; +} struct_80128388_arg1; // size = 0x1C + +struct_80128388_arg1 D_801C0C54[] = { + { 0.0f, 0x0000, 0x8000, { 0.0f, 0.0f, 0.0f }, 0.0f, 0x0000, 0x0000 }, + { 16.8f, 0x0000, 0x0000, { 0.0f, 0.0f, 0.0f }, 20.0f, 0x1388, 0x1388 }, + { 30.0f, 0x0000, 0x0000, { 0.0f, 0.0f, 0.0f }, 20.0f, 0x1F40, 0x2EE0 }, +}; + +Color_RGB8 D_801C0CA8[] = { + { 255, 255, 255 }, { 80, 80, 255 }, { 136, 192, 255 }, { 136, 192, 255 }, { 184, 232, 232 }, { 248, 200, 0 }, + { 255, 180, 0 }, { 0, 128, 0 }, { 252, 238, 0 }, { 131, 0, 174 }, { 64, 64, 32 }, { 0, 0, 255 }, + { 255, 0, 255 }, { 255, 0, 255 }, { 255, 0, 0 }, { 0, 0, 255 }, { 0, 200, 0 }, { 255, 255, 255 }, + { 255, 255, 255 }, { 255, 255, 255 }, { 80, 80, 255 }, +}; + +Vec3f D_801C0CE8[PLAYER_FORM_MAX] = { + { 0.0f, 0.0f, 0.0f }, { 300.0f, 300.0f, -230.0f }, { 0.0f, 90.0f, -50.0f }, + { 0.0f, 20.0f, -60.0f }, { 0.0f, 0.0f, 0.0f }, +}; +Vec3f D_801C0D24[PLAYER_FORM_MAX] = { + { 200.0f, 300.0f, 0.0f }, { 200.0f, 200.0f, 0.0f }, { 200.0f, 300.0f, 0.0f }, + { 200.0f, 150.0f, 0.0f }, { 200.0f, 200.0f, 0.0f }, +}; +Vec3f D_801C0D60 = { 398.0f, 1419.0f, 244.0f }; +Vec3f D_801C0D6C = { 420.0f, 1210.0f, 380.0f }; + +f32 D_801C0D78[] = { + 0.0f, // Player is not holding a melee weapon + 3000.0f, // PLAYER_AP_SWORD_KOKIRI + 3000.0f, // PLAYER_AP_SWORD_RAZOR + 4000.0f, // PLAYER_AP_SWORD_GILDED + 5500.0f, // PLAYER_AP_SWORD_GREAT_FAIRY + -1.0f, // PLAYER_AP_STICK + 2500.0f, // PLAYER_AP_ZORA_FINS +}; + +Gfx* D_801C0D94 = object_link_child_DL_017818; + +f32 D_801C0D98 = -35.0f; + +f32 D_801C0D9C = -395.0f; +f32 D_801C0DA0 = 0.0f; + +f32 D_801C0DA4 = 0.0f; + +Vec3f D_801C0DA8[4] = { + { -4500.0f, -3000.0f, -600.0f }, + { 1500.0f, -3000.0f, -600.0f }, + { -4500.0f, 3000.0f, -600.0f }, + { 1500.0f, 3000.0f, -600.0f }, +}; + +Vec3f D_801C0DD8 = { 50.0f, 800.0f, 0.0f }; +Vec3f D_801C0DE4 = { 50.0f, 850.0f, 0.0f }; +Gfx* D_801C0DF0[] = { + object_link_goron_DL_010590, object_link_goron_DL_010368, object_link_goron_DL_010140, + object_link_goron_DL_00FF18, object_link_goron_DL_00FCF0, +}; + +Vec2f D_801C0E04[PLAYER_FORM_MAX] = { + { 140.0f, -130.0f }, { 0.0f, -200.0f }, { -160.0f, 0.0f }, { 220.0f, -200.0f }, { 0.0f, 0.0f }, +}; + +Gfx* D_801C0E2C[] = { + object_link_nuts_DL_007A28, object_link_nuts_DL_0077D0, object_link_nuts_DL_007548, + object_link_nuts_DL_007900, object_link_nuts_DL_0076A0, +}; +Vec3f D_801C0E40[PLAYER_FORM_MAX] = { + { 0.0f, 0.0f, 0.0f }, { -578.3f, -1100.9f, 0.0f }, { -189.5f, -594.87f, 0.0f }, + { -570.0f, -812.0f, 0.0f }, { -230.0f, -520.0f, 0.0f }, +}; +Vec3f D_801C0E7C = { 1100.0f, -700.0f, 0.0f }; + +// unused +Vec3f D_801C0E88 = { 1600.0f, -1700.0f, -70.0f }; + +Vec3f D_801C0E94 = { 1800.0f, -300.0f, 0.0f }; +Vec3f D_801C0EA0 = { 1300.0f, -400.0f, 0.0f }; +Vec3f D_801C0EAC = { 630.0f, 100.0f, -30.0f }; +Vec3s D_801C0EB8 = { 0, 0, 0x7FFF }; + +#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/Player_DrawBunnyHood.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80127B64.s") #pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80127BE8.s") +void func_80127DA4(PlayState* play, struct_801F58B0 arg1[], struct_80128388_arg1 arg2[], s32 arg3, Vec3f* arg4, + Vec3f* arg5, u32* arg6); #pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80127DA4.s") +void func_80128388(struct_801F58B0 arg0[], struct_80128388_arg1 arg1[], s32 arg2, Mtx** arg3); #pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80128388.s") -#pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_801284A0.s") +void Player_DrawGreatFairysMask(PlayState* play, Player* player) { + s32 pad; + Mtx* sp90 = GRAPH_ALLOC(play->state.gfxCtx, 6 * sizeof(Mtx)); + Vec3f sp84; + Vec3f sp78; + Vec3f* iter = D_801C0C0C; + Vec3f* iter2 = D_801C0C30; + u32 sp6C = play->gameplayFrames; + s32 i; + + OPEN_DISPS(play->state.gfxCtx); + + gSPSegment(POLY_OPA_DISP++, 0x0B, sp90); + + Matrix_MultVec3f(&D_801C0C00, &D_801C0C54[1].unk_08); + Math_Vec3f_Lerp(&player->bodyPartsPos[7], &player->bodyPartsPos[0], 0.2f, &D_801C0C54[2].unk_08); + + for (i = 0; i < ARRAY_COUNT(D_801C0C0C); i++) { + Matrix_MultVec3f(iter, &sp84); + Matrix_MultVec3f(iter2, &sp78); + + func_80127DA4(play, D_801F58B0[i], D_801C0C54, 3, &sp84, &sp78, &sp6C); + sp6C += 11; + + Matrix_Push(); + Matrix_Translate(iter->x, iter->y, iter->z, MTXMODE_APPLY); + func_80128388(D_801F58B0[i], D_801C0C54, 3, &sp90); + Matrix_Pop(); + iter++; + iter2++; + } + + CLOSE_DISPS(play->state.gfxCtx); +} #pragma GLOBAL_ASM("asm/non_matchings/code/z_player_lib/func_80128640.s") diff --git a/src/code/z_shrink_window.c b/src/code/z_shrink_window.c index acbdb5c5bc..21d8bde405 100644 --- a/src/code/z_shrink_window.c +++ b/src/code/z_shrink_window.c @@ -2,7 +2,7 @@ * File: z_shrink_window.c * Description: Draws black top/bottom/side borders on the viewing window (e.g. Z-targeting, talking to NPC) */ -#include "prevent_bss_reordering.h" + #include "global.h" #include "z64shrink_window.h" diff --git a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c index 8325427ad3..8d0b2e2d8e 100644 --- a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c +++ b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c @@ -107,9 +107,10 @@ void ArmsHook_DetachHookFromActor(ArmsHook* this) { s32 ArmsHook_CheckForCancel(ArmsHook* this) { Player* player = (Player*)this->actor.parent; + if (Player_IsHoldingHookshot(player)) { - if ((player->heldItemActionParam != player->itemActionParam) || ((player->actor.flags & ACTOR_FLAG_100)) || - ((player->stateFlags1 & 0x4000080))) { + if ((player->heldItemActionParam != player->itemActionParam) || (player->actor.flags & ACTOR_FLAG_100) || + (player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_4000000))) { this->timer = 0; ArmsHook_DetachHookFromActor(this); Math_Vec3f_Copy(&this->actor.world.pos, &player->rightHandWorld.pos); @@ -143,7 +144,7 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) { if ((touchedActor->update != NULL) && (touchedActor->flags & (ACTOR_FLAG_200 | ACTOR_FLAG_400))) { if (this->collider.info.atHitInfo->bumperFlags & BUMP_HOOKABLE) { ArmsHook_AttachHookToActor(this, touchedActor); - if ((touchedActor->flags & ACTOR_FLAG_400) == ACTOR_FLAG_400) { + if (CHECK_FLAG_ALL(touchedActor->flags, ACTOR_FLAG_400)) { func_808C1154(this); } } @@ -155,28 +156,25 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) { } if (DECR(this->timer) == 0) { - Actor* grabbed; + Actor* grabbed = this->grabbed; Vec3f bodyDistDiffVec; Vec3f newPos; f32 bodyDistDiff; f32 phi_f16; s32 pad; - grabbed = this->grabbed; if (grabbed != NULL) { if ((grabbed->update == NULL) || !CHECK_FLAG_ALL(grabbed->flags, ACTOR_FLAG_2000)) { grabbed = NULL; this->grabbed = NULL; - } else { - if (this->actor.child != NULL) { - f32 sp94 = Actor_DistanceBetweenActors(&this->actor, grabbed); - f32 sp90 = sqrtf(SQXYZ(this->unk1FC)); + } else if (this->actor.child != NULL) { + f32 sp94 = Actor_DistanceBetweenActors(&this->actor, grabbed); + f32 sp90 = sqrtf(SQXYZ(this->unk1FC)); - Math_Vec3f_Diff(&grabbed->world.pos, &this->unk1FC, &this->actor.world.pos); - if (50.0f < (sp94 - sp90)) { - ArmsHook_DetachHookFromActor(this); - grabbed = NULL; - } + Math_Vec3f_Diff(&grabbed->world.pos, &this->unk1FC, &this->actor.world.pos); + if (50.0f < (sp94 - sp90)) { + ArmsHook_DetachHookFromActor(this); + grabbed = NULL; } } } @@ -257,11 +255,10 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) { this->actor.world.pos.z += 10.0f * nz; this->timer = 1; if (SurfaceType_IsHookshotSurface(&play->colCtx, poly, bgId)) { - { - DynaPolyActor* dynaPolyActor; - if (bgId != BGCHECK_SCENE && (dynaPolyActor = DynaPoly_GetActor(&play->colCtx, bgId)) != NULL) { - ArmsHook_AttachHookToActor(this, &dynaPolyActor->actor); - } + DynaPolyActor* dynaPolyActor; + + if ((bgId != BGCHECK_SCENE) && (dynaPolyActor = DynaPoly_GetActor(&play->colCtx, bgId)) != NULL) { + ArmsHook_AttachHookToActor(this, &dynaPolyActor->actor); } func_808C1154(this); Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_IT_HOOKSHOT_STICK_OBJ); @@ -269,12 +266,11 @@ void ArmsHook_Shoot(ArmsHook* this, PlayState* play) { CollisionCheck_SpawnShieldParticlesMetal(play, &this->actor.world.pos); Audio_PlaySfxAtPos(&this->actor.projectedPos, NA_SE_IT_HOOKSHOT_REFLECT); } - } else { - if (CHECK_BTN_ANY(CONTROLLER1(&play->state)->press.button, - BTN_A | BTN_B | BTN_R | BTN_CUP | BTN_CLEFT | BTN_CRIGHT | BTN_CDOWN)) { - s32 pad; - this->timer = 1; - } + } else if (CHECK_BTN_ANY(CONTROLLER1(&play->state)->press.button, + BTN_A | BTN_B | BTN_R | BTN_CUP | BTN_CLEFT | BTN_CRIGHT | BTN_CDOWN)) { + s32 pad; + + this->timer = 1; } } } @@ -286,19 +282,19 @@ void ArmsHook_Update(Actor* thisx, PlayState* play) { this->unk1EC = this->unk1E0; } -static Vec3f D_808C1C10 = { 0.0f, 0.0f, 0.0f }; -static Vec3f D_808C1C1C = { 0.0f, 0.0f, 900.0f }; -static Vec3f D_808C1C28 = { 0.0f, 500.0f, -3000.0f }; -static Vec3f D_808C1C34 = { 0.0f, -500.0f, -3000.0f }; -static Vec3f D_808C1C40 = { 0.0f, 500.0f, 0.0f }; -static Vec3f D_808C1C4C = { 0.0f, -500.0f, 0.0f }; +Vec3f D_808C1C10 = { 0.0f, 0.0f, 0.0f }; +Vec3f D_808C1C1C = { 0.0f, 0.0f, 900.0f }; +Vec3f D_808C1C28 = { 0.0f, 500.0f, -3000.0f }; +Vec3f D_808C1C34 = { 0.0f, -500.0f, -3000.0f }; +Vec3f D_808C1C40 = { 0.0f, 500.0f, 0.0f }; +Vec3f D_808C1C4C = { 0.0f, -500.0f, 0.0f }; void ArmsHook_Draw(Actor* thisx, PlayState* play) { ArmsHook* this = THIS; f32 f0; Player* player = GET_PLAYER(play); - if (player->actor.draw != NULL && player->rightHandType == 0xB) { + if ((player->actor.draw != NULL) && (player->rightHandType == PLAYER_MODELTYPE_RH_HOOKSHOT)) { Vec3f sp68; Vec3f sp5C; Vec3f sp50; @@ -311,13 +307,13 @@ void ArmsHook_Draw(Actor* thisx, PlayState* play) { Matrix_MultVec3f(&D_808C1C10, &this->unk1E0); Matrix_MultVec3f(&D_808C1C28, &sp5C); Matrix_MultVec3f(&D_808C1C34, &sp50); - this->unk_1C4.active = false; + this->weaponInfo.active = false; } else { Matrix_MultVec3f(&D_808C1C1C, &this->unk1E0); Matrix_MultVec3f(&D_808C1C40, &sp5C); Matrix_MultVec3f(&D_808C1C4C, &sp50); } - func_80126440(play, &this->collider, &this->unk_1C4, &sp5C, &sp50); + func_80126440(play, &this->collider, &this->weaponInfo, &sp5C, &sp50); func_8012C28C(play->state.gfxCtx); func_80122868(play, player); diff --git a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.h b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.h index 7afe3a2ce2..95208ba4f7 100644 --- a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.h +++ b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.h @@ -10,7 +10,7 @@ typedef void (*ArmsHookActionFunc)(struct ArmsHook*, PlayState*); typedef struct ArmsHook { /* 0x000 */ Actor actor; /* 0x144 */ ColliderQuad collider; - /* 0x1C4 */ WeaponInfo unk_1C4; + /* 0x1C4 */ WeaponInfo weaponInfo; /* 0x1E0 */ Vec3f unk1E0; /* 0x1EC */ Vec3f unk1EC; /* 0x1F8 */ Actor* grabbed; diff --git a/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.c b/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.c index 6026e139b8..203b404a89 100644 --- a/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.c +++ b/src/overlays/actors/ovl_Bg_Dblue_Movebg/z_bg_dblue_movebg.c @@ -390,7 +390,7 @@ void func_80A2A32C(BgDblueMovebg* this, PlayState* play) { this->unk_172 |= 8; this->actionFunc = func_80A2A444; } else { - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } } @@ -410,7 +410,7 @@ void func_80A2A444(BgDblueMovebg* this, PlayState* play) { this->dyna.actor.shape.rot.y = (s32)((this->unk_18C + temp_v0) * 0.1f * (0x10000 / 360.0f)) + this->dyna.actor.home.rot.y; - if ((player->stateFlags2 & 0x10) && (this->unk_184 > 0.0f)) { + if ((player->stateFlags2 & PLAYER_STATE2_10) && (this->unk_184 > 0.0f)) { player->actor.world.pos.x = (Math_SinS(this->dyna.actor.shape.rot.y - this->unk_18E) * this->unk_184) + this->dyna.actor.home.pos.x; player->actor.world.pos.z = @@ -420,7 +420,7 @@ void func_80A2A444(BgDblueMovebg* this, PlayState* play) { } if (sp20) { - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; Flags_SetSwitch(play, this->unk_1C0); Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_STONEDOOR_STOP); @@ -498,7 +498,7 @@ void func_80A2A7F8(BgDblueMovebg* this, PlayState* play) { this->dyna.actor.shape.rot.y = (s32)((this->unk_18C + sp26) * 0.1f * (0x10000 / 360.0f)) + this->dyna.actor.home.rot.y; - if ((player->stateFlags2 & 0x10) && (this->unk_184 > 0.0f)) { + if ((player->stateFlags2 & PLAYER_STATE2_10) && (this->unk_184 > 0.0f)) { player->actor.world.pos.x = (Math_SinS(this->dyna.actor.shape.rot.y - this->unk_18E) * this->unk_184) + this->dyna.actor.home.pos.x; player->actor.world.pos.z = @@ -516,8 +516,8 @@ void func_80A2A7F8(BgDblueMovebg* this, PlayState* play) { Flags_UnsetSwitch(play, this->unk_1C0); } - player->stateFlags1 |= 0x20; - player->stateFlags2 &= ~0x10; + player->stateFlags1 |= PLAYER_STATE1_20; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; this->unk_18C = (this->unk_18C + sp26 + 3600) % 3600; @@ -565,12 +565,12 @@ void func_80A2AAB8(BgDblueMovebg* this, PlayState* play) { if (this->unk_1D0 == 1) { this->dyna.pushForce = 0.0f; - player->stateFlags1 |= 0x20; - player->stateFlags2 &= ~0x10; + player->stateFlags1 |= PLAYER_STATE1_20; + player->stateFlags2 &= ~PLAYER_STATE2_10; } if (this->unk_1D0 <= 0) { - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; this->actionFunc = func_80A2A714; } } diff --git a/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.c b/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.c index 0a4c31d126..689dcd76c3 100644 --- a/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.c +++ b/src/overlays/actors/ovl_Bg_Ikana_Block/z_bg_ikana_block.c @@ -240,7 +240,7 @@ void func_80B7F0D0(BgIkanaBlock* this, PlayState* play) { if ((sp24 != 2) && (this->unk_17A & (0x8 | 0x4 | 0x2 | 0x1))) { Player* player = GET_PLAYER(play); - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } @@ -297,7 +297,7 @@ void func_80B7F290(BgIkanaBlock* this, PlayState* play) { Actor_PlaySfxAtPos(&this->dyna.actor, NA_SE_EV_BLOCK_BOUND); } - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; if (func_80B7EDC4(this, play)) { diff --git a/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil.c b/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil.c index 017f9ef04b..61e022b629 100644 --- a/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil.c +++ b/src/overlays/actors/ovl_Bg_Iknin_Susceil/z_bg_iknin_susceil.c @@ -226,7 +226,8 @@ void BgIkninSusceil_Update(Actor* thisx, PlayState* play) { BgIkninSusceil* this = THIS; Player* player = GET_PLAYER(play); - if ((this->unk168 == 0) && (this->unk166 > 0) && (player->stateFlags3 & 0x100) && (player->unk_B48 > 1000.0f)) { + if ((this->unk168 == 0) && (this->unk166 > 0) && (player->stateFlags3 & PLAYER_STATE3_100) && + (player->unk_B48 > 1000.0f)) { this->unk168 = 2; if ((func_80C0A95C(this, play) != 0) && (this->actionFunc != func_80C0AE5C)) { func_800B8E58(player, NA_SE_PL_BODY_HIT); @@ -242,7 +243,7 @@ void BgIkninSusceil_Update(Actor* thisx, PlayState* play) { if ((this->dyna.actor.home.pos.y + 70.0f) < this->dyna.actor.world.pos.y) { this->unk166 = 0; - } else if (player->stateFlags3 & 0x100) { + } else if (player->stateFlags3 & PLAYER_STATE3_100) { this->unk166 = 3; } else { if (this->unk166 > 0) { diff --git a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c index 43b7f27aa6..cdbd18e7fc 100644 --- a/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c +++ b/src/overlays/actors/ovl_Bg_Ingate/z_bg_ingate.c @@ -215,11 +215,11 @@ void func_80953F9C(BgIngate* this, PlayState* play) { if (ActorCutscene_GetCurrentIndex() != this->unk16E) { if (ActorCutscene_GetCurrentIndex() != -1) { Camera_ChangeSetting(mainCam, CAM_SET_NORMAL0); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; play->actorCtx.flags &= ~ACTORCTX_FLAG_2; } else { Camera_ChangeSetting(mainCam, CAM_SET_BOAT_CRUISE); - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; } } this->unk16E = ActorCutscene_GetCurrentIndex(); diff --git a/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.c b/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.c index 8080c4444e..dde66e6204 100644 --- a/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.c +++ b/src/overlays/actors/ovl_Bg_Kin2_Shelf/z_bg_kin2_shelf.c @@ -260,7 +260,7 @@ void func_80B700C0(BgKin2Shelf* this, PlayState* play) { } else { Player* player = GET_PLAYER(play); - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } } else { @@ -292,7 +292,7 @@ void func_80B70230(BgKin2Shelf* this, PlayState* play) { Player* player = GET_PLAYER(play); this->unk_160 = 1.0f; - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; if (this->unk_164 & 8) { @@ -339,7 +339,7 @@ void func_80B704B4(BgKin2Shelf* this, PlayState* play) { Player* player = GET_PLAYER(play); this->unk_160 = 1.0f; - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; if (this->unk_164 & 4) { diff --git a/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.c b/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.c index 1fca8ea9c1..2a7096de92 100644 --- a/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.c +++ b/src/overlays/actors/ovl_Bg_Spdweb/z_bg_spdweb.c @@ -311,7 +311,7 @@ void func_809CE4C8(BgSpdweb* this, PlayState* play) { this->unk_164 = temp_f12; this->unk_162 = 12; if (sp3A > 50) { - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; this->unk_161 = 1; } } else if (player->actor.speedXZ != 0.0f) { @@ -332,7 +332,7 @@ void func_809CE4C8(BgSpdweb* this, PlayState* play) { player->actor.velocity.y = this->unk_164 * 0.7f; player->unk_B68 = (SQ(this->unk_164) * 0.15f) + this->dyna.actor.world.pos.y; this->unk_161 = 0; - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; } } else if (this->unk_162 == 11) { if (this->unk_164 > 3.0f) { diff --git a/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01.c b/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01.c index 55276b2177..b2b1807016 100644 --- a/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01.c +++ b/src/overlays/actors/ovl_Bg_Tobira01/z_bg_tobira01.c @@ -67,7 +67,8 @@ void BgTobira01_Open(BgTobira01* this, PlayState* play) { this->timer2 = 180; } - if (!(player->stateFlags1 & 0x40) && (gSaveContext.save.weekEventReg[88] & 0x40) && (DECR(this->timer2) == 0)) { + if (!(player->stateFlags1 & PLAYER_STATE1_40) && (gSaveContext.save.weekEventReg[88] & 0x40) && + (DECR(this->timer2) == 0)) { gSaveContext.save.weekEventReg[88] &= (u8)~0x40; } } diff --git a/src/overlays/actors/ovl_Boss_02/z_boss_02.c b/src/overlays/actors/ovl_Boss_02/z_boss_02.c index 28008a674b..1e2db7a603 100644 --- a/src/overlays/actors/ovl_Boss_02/z_boss_02.c +++ b/src/overlays/actors/ovl_Boss_02/z_boss_02.c @@ -1632,7 +1632,7 @@ void func_809DD934(Boss02* this, PlayState* play) { switch (this->unk_1D18) { case 0: - if (player->stateFlags1 & 0x100) { + if (player->stateFlags1 & PLAYER_STATE1_100) { Cutscene_Start(play, &play->csCtx); this->subCamId = Play_CreateSubCamera(play); Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT); @@ -1755,7 +1755,7 @@ void func_809DD934(Boss02* this, PlayState* play) { this->subCamId = SUB_CAM_ID_DONE; Cutscene_End(play, &play->csCtx); this->actor.flags |= ACTOR_FLAG_1; - player->stateFlags1 &= ~0x100; + player->stateFlags1 &= ~PLAYER_STATE1_100; this->unk_1D70 = 0.01f; func_80165690(); break; diff --git a/src/overlays/actors/ovl_Boss_04/z_boss_04.c b/src/overlays/actors/ovl_Boss_04/z_boss_04.c index 1179d8eca6..d5098b78bc 100644 --- a/src/overlays/actors/ovl_Boss_04/z_boss_04.c +++ b/src/overlays/actors/ovl_Boss_04/z_boss_04.c @@ -252,7 +252,7 @@ void func_809EC568(Boss04* this, PlayState* play) { case 0: this->unk_2C8 = 50; this->unk_2D0 = 2000.0f; - if ((player->stateFlags1 & 0x100000) && (this->actor.projectedPos.z > 0.0f) && + if ((player->stateFlags1 & PLAYER_STATE1_100000) && (this->actor.projectedPos.z > 0.0f) && (fabsf(this->actor.projectedPos.x) < 300.0f) && (fabsf(this->actor.projectedPos.y) < 300.0f)) { if ((this->unk_704 >= 15) && (ActorCutscene_GetCurrentIndex() == -1)) { Actor* boss; diff --git a/src/overlays/actors/ovl_Boss_06/z_boss_06.c b/src/overlays/actors/ovl_Boss_06/z_boss_06.c index f693ffdea1..cd3c57f9d4 100644 --- a/src/overlays/actors/ovl_Boss_06/z_boss_06.c +++ b/src/overlays/actors/ovl_Boss_06/z_boss_06.c @@ -4,7 +4,6 @@ * Description: Igos du Ikana window - curtains and ray effects */ -#include "prevent_bss_reordering.h" #include "z_boss_06.h" #include "z64shrink_window.h" #include "overlays/actors/ovl_En_Knight/z_en_knight.h" @@ -29,11 +28,11 @@ void func_809F2E34(Boss06* this, PlayState* play); void func_809F2ED0(Boss06* this, PlayState* play); void func_809F2EE8(Boss06* this, PlayState* play); -static Vec3f D_809F4370[128]; -static EnKnight* D_809F4970; -static s32 D_809F4974; -static s32 D_809F4978; -static s32 D_809F497C; +Vec3f D_809F4370[128]; +EnKnight* D_809F4970; +s32 D_809F4974; +s32 D_809F4978; +s32 D_809F497C; static DamageTable sDamageTable = { /* Deku Nut */ DMG_ENTRY(0, 0xF), @@ -102,7 +101,7 @@ static ColliderCylinderInit sCylinderInit = { { 90, 140, 10, { 0, 0, 0 } }, }; -static Vec3f D_809F40EC[] = { +Vec3f D_809F40EC[] = { { 1081.0f, 235.0f, 3224.0f }, { 676.0f, 235.0f, 3224.0f }, }; diff --git a/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.c b/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.c index 9f4c7cf1cc..75dbacc54b 100644 --- a/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.c +++ b/src/overlays/actors/ovl_Dm_Char01/z_dm_char01.c @@ -164,7 +164,7 @@ void func_80AA8698(DmChar01* this, PlayState* play) { return; } - if ((player->stateFlags2 & 0x8000000) && (player2->actor.world.pos.x > -40.0f) && + if ((player->stateFlags2 & PLAYER_STATE2_8000000) && (player2->actor.world.pos.x > -40.0f) && (player2->actor.world.pos.x < 40.0f) && (player2->actor.world.pos.z > 1000.0f) && (player2->actor.world.pos.z < 1078.0f)) { if (!D_80AAAAB4) { diff --git a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c index 24b9ae8571..4fa6acb239 100644 --- a/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c +++ b/src/overlays/actors/ovl_Dm_Stk/z_dm_stk.c @@ -1272,7 +1272,7 @@ void DmStk_ClockTower_DeflectHit(DmStk* this, PlayState* play) { this->deflectCount++; if (this->deflectCount >= 3) { this->deflectCount = 0; - if (!(player->stateFlags2 & 0x8000000)) { + if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) { // That won't do you any good Message_StartTextbox(play, 0x2013, &this->actor); } @@ -1720,7 +1720,7 @@ void DmStk_ClockTower_IdleWithOcarina(DmStk* this, PlayState* play) { this->tatlMessageTimer++; if (this->tatlMessageTimer > 800) { this->tatlMessageTimer = 0; - if (!(player->stateFlags2 & 0x8000000)) { + if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) { // Why are you just standing around? Message_StartTextbox(play, 0x2014, &this->actor); } diff --git a/src/overlays/actors/ovl_Door_Ana/z_door_ana.c b/src/overlays/actors/ovl_Door_Ana/z_door_ana.c index 173c3ea527..92f99462cc 100644 --- a/src/overlays/actors/ovl_Door_Ana/z_door_ana.c +++ b/src/overlays/actors/ovl_Door_Ana/z_door_ana.c @@ -131,7 +131,8 @@ void DoorAna_WaitOpen(DoorAna* this, PlayState* play) { if (Math_StepToF(&this->actor.scale.x, 0.01f, 0.001f)) { if ((this->actor.targetMode != 0) && (play->transitionTrigger == TRANS_TRIGGER_OFF) && - (play->transitionMode == TRANS_MODE_OFF) && (player->stateFlags1 & 0x80000000) && (player->unk_AE7 == 0)) { + (play->transitionMode == TRANS_MODE_OFF) && (player->stateFlags1 & PLAYER_STATE1_80000000) && + (player->unk_AE7 == 0)) { if (grottoType == DOORANA_TYPE_VISIBLE_SCENE_EXIT) { s32 exitIndex = DOORANA_GET_EXIT_INDEX(&this->actor); @@ -157,10 +158,10 @@ void DoorAna_WaitOpen(DoorAna* this, PlayState* play) { DoorAna_SetupAction(this, DoorAna_GrabLink); - } else if (!Play_InCsMode(play) && !(player->stateFlags1 & 0x08800000) && + } else if (!Play_InCsMode(play) && !(player->stateFlags1 & (PLAYER_STATE1_8000000 | PLAYER_STATE1_800000)) && (this->actor.xzDistToPlayer <= 20.0f) && (this->actor.playerHeightRel >= -50.0f) && (this->actor.playerHeightRel <= 15.0f)) { - player->stateFlags1 |= 0x80000000; + player->stateFlags1 |= PLAYER_STATE1_80000000; this->actor.targetMode = 1; } else { diff --git a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c index 6812db67a8..34247cd7f8 100644 --- a/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c +++ b/src/overlays/actors/ovl_Door_Shutter/z_door_shutter.c @@ -566,7 +566,7 @@ void func_808A1884(DoorShutter* this, PlayState* play) { this->unk_15C = 0; this->actor.velocity.y = 0.0f; - if (DoorShutter_SetupDoor(this, play) && !(player->stateFlags1 & 0x800)) { + if (DoorShutter_SetupDoor(this, play) && !(player->stateFlags1 & PLAYER_STATE1_800)) { DoorShutter_SetupAction(this, func_808A1C50); if (ActorCutscene_GetCurrentIndex() == 0x7D) { func_801226E0(play, ((void)0, gSaveContext.respawn[RESPAWN_MODE_DOWN].data)); @@ -633,7 +633,8 @@ void DoorShutter_Update(Actor* thisx, PlayState* play) { DoorShutter* this = THIS; Player* player = GET_PLAYER(play); - if (!(player->stateFlags1 & 0x100004C0) || (this->actionFunc == DoorShutter_SetupType)) { + if (!(player->stateFlags1 & (PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_400 | PLAYER_STATE1_10000000)) || + (this->actionFunc == DoorShutter_SetupType)) { this->actionFunc(this, play); if (this->unk_163 == 7) { diff --git a/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.c b/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.c index 0d13c89c6a..e80fc9908e 100644 --- a/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.c +++ b/src/overlays/actors/ovl_Door_Spiral/z_door_spiral.c @@ -290,7 +290,7 @@ void DoorSpiral_Wait(DoorSpiral* this, PlayState* play) { void DoorSpiral_PlayerClimb(DoorSpiral* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (!(player->stateFlags1 & 0x20000000)) { + if (!(player->stateFlags1 & PLAYER_STATE1_20000000)) { DoorSpiral_SetupAction(this, DoorSpiral_WaitForObject); this->shouldClimb = 0; } @@ -301,7 +301,8 @@ void DoorSpiral_Update(Actor* thisx, PlayState* play) { s32 pad; Player* player = GET_PLAYER(play); - if ((!(player->stateFlags1 & 0x100004C0)) || (this->actionFunc == DoorSpiral_WaitForObject)) { + if (!(player->stateFlags1 & (PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_400 | PLAYER_STATE1_10000000)) || + (this->actionFunc == DoorSpiral_WaitForObject)) { this->actionFunc(this, play); } } diff --git a/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c b/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c index 3bf0393601..3004930d7b 100644 --- a/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c +++ b/src/overlays/actors/ovl_Eff_Dust/z_eff_dust.c @@ -171,7 +171,7 @@ void func_80919230(EffDust* this, PlayState* play) { s32 i; s32 j; - if (parent == NULL || parent->update == NULL || !(player->stateFlags1 & 0x1000)) { + if (parent == NULL || parent->update == NULL || !(player->stateFlags1 & PLAYER_STATE1_1000)) { if (this->life != 0) { this->life--; } else { diff --git a/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.c b/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.c index 2de3d86041..9af2564508 100644 --- a/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.c +++ b/src/overlays/actors/ovl_Eff_Kamejima_Wave/z_eff_kamejima_wave.c @@ -4,6 +4,7 @@ * Description: Wave Created by Turtle Awakening */ +#include "prevent_bss_reordering.h" #include "z_eff_kamejima_wave.h" #include "objects/object_kamejima/object_kamejima.h" diff --git a/src/overlays/actors/ovl_En_Ah/z_en_ah.c b/src/overlays/actors/ovl_En_Ah/z_en_ah.c index 72bdb7a7cf..7d992caa61 100644 --- a/src/overlays/actors/ovl_En_Ah/z_en_ah.c +++ b/src/overlays/actors/ovl_En_Ah/z_en_ah.c @@ -307,7 +307,7 @@ s32 func_80BD3198(EnAh* this, PlayState* play) { Player* player = GET_PLAYER(play); u16 temp = play->msgCtx.currentTextId; - if (player->stateFlags1 & 0x40) { + if (player->stateFlags1 & PLAYER_STATE1_40) { if (this->unk_2DA != temp) { if (temp == 0x2954) { this->unk_18C = func_80BD3118; diff --git a/src/overlays/actors/ovl_En_Al/z_en_al.c b/src/overlays/actors/ovl_En_Al/z_en_al.c index 8792f80386..efad503178 100644 --- a/src/overlays/actors/ovl_En_Al/z_en_al.c +++ b/src/overlays/actors/ovl_En_Al/z_en_al.c @@ -575,7 +575,7 @@ s32 func_80BDF064(EnAl* this, PlayState* play) { Actor* sp1C = func_80BDE1A0(this, play, 4, 0xA4); Actor* temp_v0 = func_80BDE1A0(this, play, 4, 0x234); - if (player->stateFlags1 & 0x40) { + if (player->stateFlags1 & PLAYER_STATE1_40) { this->unk_4C2 |= 0x400; if (this->unk_4C4 != sp22) { switch (sp22) { diff --git a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c index 575cf2d353..6024689c74 100644 --- a/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c +++ b/src/overlays/actors/ovl_En_Aob_01/z_en_aob_01.c @@ -489,7 +489,7 @@ void func_809C1EC8(EnAob01* this, PlayState* play) { func_809C10B0(this, 3); SubS_FillLimbRotTables(play, this->unk_2F8, this->unk_318, ARRAY_COUNT(this->unk_2F8)); func_809C165C(this, play); - if (player->stateFlags1 & 0x20) { + if (player->stateFlags1 & PLAYER_STATE1_20) { func_809C1124(); } } @@ -876,7 +876,7 @@ void func_809C2F34(EnAob01* this, PlayState* play) { player->actor.world.pos.z = 1464.0f; player->actor.shape.rot.y = player->actor.world.rot.y; player->actor.draw = NULL; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; this->actor.world.pos.x = -4308.0f; this->actor.world.pos.z = 1620.0f; this->actor.prevPos = this->actor.world.pos; diff --git a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c index f2fe54dae6..4232e19aed 100644 --- a/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c +++ b/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c @@ -381,7 +381,7 @@ void EnBigokuta_PlayDeathCutscene(EnBigokuta* this, PlayState* play) { func_800B724C(play, &this->picto.actor, 7); } else { player = GET_PLAYER(play); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; } if (this->drawDmgEffType == ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX) { @@ -458,7 +458,7 @@ void EnBigokuta_PlayDeathEffects(EnBigokuta* this, PlayState* play) { } else { Player* player = GET_PLAYER(play); - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; } } diff --git a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c index 1cac3caff5..ef508ac485 100644 --- a/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c +++ b/src/overlays/actors/ovl_En_Bigslime/z_en_bigslime.c @@ -728,7 +728,7 @@ void EnBigslime_SetMinislimeBreakLocation(EnBigslime* this) { void EnBigslime_SetPlayerParams(EnBigslime* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (player->stateFlags2 & 0x80) { + if (player->stateFlags2 & PLAYER_STATE2_80) { player->actor.parent = NULL; player->unk_AE8 = 100; func_800B8D98(play, &this->actor, 10.0f, this->actor.world.rot.y, 10.0f); @@ -1709,7 +1709,7 @@ void EnBigslime_WindupThrowPlayer(EnBigslime* this, PlayState* play) { scale = 0.5f - cos_rad(-this->windupPunchTimer * (M_PI / 5)) * 0.5f; if (this->windupPunchTimer == -5) { - if (player->stateFlags2 & 0x80) { + if (player->stateFlags2 & PLAYER_STATE2_80) { player->actor.parent = NULL; player->unk_AE8 = 100; } diff --git a/src/overlays/actors/ovl_En_Bom/z_en_bom.c b/src/overlays/actors/ovl_En_Bom/z_en_bom.c index ea02e9fe7b..9eba18afcb 100644 --- a/src/overlays/actors/ovl_En_Bom/z_en_bom.c +++ b/src/overlays/actors/ovl_En_Bom/z_en_bom.c @@ -433,7 +433,7 @@ void EnBom_Update(Actor* thisx, PlayState* play) { s32 pad; Player* player = GET_PLAYER(play); - if (player->stateFlags1 & 2) { + if (player->stateFlags1 & PLAYER_STATE1_2) { return; } diff --git a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c index c9c7e623b7..4f17e74c89 100644 --- a/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c +++ b/src/overlays/actors/ovl_En_Bombf/z_en_bombf.c @@ -163,7 +163,7 @@ void func_808AEAE0(EnBombf* this, PlayState* play) { player->heldActor = NULL; player->interactRangeActor = NULL; this->actor.parent = NULL; - player->stateFlags1 &= ~0x800; + player->stateFlags1 &= ~PLAYER_STATE1_800; } } else if ((this->colliderCylinder.base.acFlags & AC_HIT) && ((this->colliderCylinder.info.acHitInfo->toucher.dmgFlags & 0x13828) || @@ -200,7 +200,7 @@ void func_808AEAE0(EnBombf* this, PlayState* play) { player->heldActor = NULL; player->interactRangeActor = NULL; this->actor.parent = NULL; - player->stateFlags1 &= ~0x800; + player->stateFlags1 &= ~PLAYER_STATE1_800; this->actor.world.pos = this->actor.home.pos; } } @@ -217,7 +217,7 @@ void func_808AEAE0(EnBombf* this, PlayState* play) { player->heldActor = NULL; player->interactRangeActor = NULL; this->actor.parent = NULL; - player->stateFlags1 &= ~0x800; + player->stateFlags1 &= ~PLAYER_STATE1_800; this->actor.world.pos = this->actor.home.pos; } } @@ -299,11 +299,11 @@ void func_808AEFD4(EnBombf* this, PlayState* play) { if (this->timer == 0) { Player* player = GET_PLAYER(play); - if ((player->stateFlags1 & 0x800) && (&this->actor == player->heldActor)) { + if ((player->stateFlags1 & PLAYER_STATE1_800) && (&this->actor == player->heldActor)) { player->actor.child = NULL; player->heldActor = NULL; player->interactRangeActor = NULL; - player->stateFlags1 &= ~0x800; + player->stateFlags1 &= ~PLAYER_STATE1_800; } Actor_Kill(&this->actor); } diff --git a/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c b/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c index b55762e7d1..b23c93cd08 100644 --- a/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c +++ b/src/overlays/actors/ovl_En_Bomjima/z_en_bomjima.c @@ -471,7 +471,7 @@ void func_80BFF03C(EnBomjima* this, PlayState* play) { } else if (!ActorCutscene_GetCanPlayNext(this->cutscenes[0])) { ActorCutscene_SetIntentToPlay(this->cutscenes[0]); } else { - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; gSaveContext.save.weekEventReg[83] &= (u8)~4; this->actor.world.rot.y = Camera_GetCamDirYaw(GET_ACTIVE_CAM(play)); this->unk_2DC = Camera_GetCamDirYaw(GET_ACTIVE_CAM(play)); @@ -935,8 +935,8 @@ void func_80C00284(EnBomjima* this, PlayState* play) { if ((this->action == EN_BOMJIMA_ACTION_4) || (this->unk_2CA == 1) || ((this->unk_2CA == 3) && (this->unk_2C8 >= 2))) { this->unk_28E = 0; - if (player->stateFlags1 & 0x20) { - player->stateFlags1 &= ~0x20; + if (player->stateFlags1 & PLAYER_STATE1_20) { + player->stateFlags1 &= ~PLAYER_STATE1_20; } if ((this->bombal == 0) || (this->bombal->actor.update == NULL) || diff --git a/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c b/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c index f1f85077b6..4258b23977 100644 --- a/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c +++ b/src/overlays/actors/ovl_En_Bomjimb/z_en_bomjimb.c @@ -333,7 +333,7 @@ void func_80C014E4(EnBomjimb* this, PlayState* play) { break; } - if (player->stateFlags3 != 0x1000000) { + if (player->stateFlags3 != PLAYER_STATE3_1000000) { phi_f0 = 200.0f; abs = ABS_ALT(BINANG_SUB(this->actor.yawTowardsPlayer, this->actor.world.rot.y)); @@ -538,7 +538,7 @@ void func_80C0217C(EnBomjimb* this, PlayState* play) { return; } - if (player->stateFlags3 == 0x1000000) { + if (player->stateFlags3 == PLAYER_STATE3_1000000) { Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 1, 3000, 0); func_80C01494(this); return; @@ -631,7 +631,7 @@ void func_80C02570(EnBomjimb* this, PlayState* play) { this->unk_2D6 = BINANG_ROT180(this->actor.yawTowardsPlayer); func_80C0113C(this, 19, 2.0f); this->actionFunc = func_80C0217C; - } else if ((player->stateFlags3 == 0x1000000) || (this->actor.xzDistToPlayer > 410.0f)) { + } else if ((player->stateFlags3 == PLAYER_STATE3_1000000) || (this->actor.xzDistToPlayer > 410.0f)) { Math_SmoothStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 1, 3000, 0); func_80C01494(this); } @@ -666,7 +666,7 @@ void func_80C02740(EnBomjimb* this, PlayState* play) { if ((player->transformation != PLAYER_FORM_DEKU) && (player->transformation != PLAYER_FORM_HUMAN)) { func_80C0113C(this, 17, 1.0f); Message_StartTextbox(play, 0x72E, &this->actor); - player->stateFlags1 |= 0x10000000; + player->stateFlags1 |= PLAYER_STATE1_10000000; player->actor.freezeTimer = 3; func_80C012E0(this); this->unk_2CA = 9; @@ -678,7 +678,7 @@ void func_80C02740(EnBomjimb* this, PlayState* play) { ((player->transformation == PLAYER_FORM_HUMAN) && !(gSaveContext.save.weekEventReg[85] & 2))) { func_80C0113C(this, 17, 1.0f); Message_StartTextbox(play, 0x72E, &this->actor); - player->stateFlags1 |= 0x10000000; + player->stateFlags1 |= PLAYER_STATE1_10000000; player->actor.freezeTimer = 3; func_80C012E0(this); this->unk_2CA = 9; @@ -726,7 +726,7 @@ void func_80C02740(EnBomjimb* this, PlayState* play) { if (!Play_InCsMode(play)) { Player* player = GET_PLAYER(play); - player->stateFlags1 |= 0x10000000; + player->stateFlags1 |= PLAYER_STATE1_10000000; player->actor.freezeTimer = 3; } this->unk_2CA = 8; @@ -765,7 +765,7 @@ void func_80C02A14(EnBomjimb* this, PlayState* play) { func_80C02CA4(this, play); } else { if (this->unk_2CA == 8) { - player->stateFlags1 &= ~0x10000000; + player->stateFlags1 &= ~PLAYER_STATE1_10000000; } func_80C01FD4(this); } @@ -781,7 +781,7 @@ void func_80C02BCC(EnBomjimb* this, PlayState* play) { if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) { func_801477B4(play); this->unk_2C0 = 1; - player->stateFlags1 &= ~0x10000000; + player->stateFlags1 &= ~PLAYER_STATE1_10000000; } } else if (this->actor.xzDistToPlayer > 200.0f) { func_80C01494(this); diff --git a/src/overlays/actors/ovl_En_Boom/z_en_boom.c b/src/overlays/actors/ovl_En_Boom/z_en_boom.c index b760c44351..ee8ea02e08 100644 --- a/src/overlays/actors/ovl_En_Boom/z_en_boom.c +++ b/src/overlays/actors/ovl_En_Boom/z_en_boom.c @@ -155,10 +155,10 @@ void EnBoom_Destroy(Actor* thisx, PlayState* play) { temp->child = NULL; } else { player->boomerangActor = NULL; - player->stateFlags1 &= ~0x2000000; + player->stateFlags1 &= ~PLAYER_STATE1_2000000; } } - player->stateFlags3 |= 0x800000; + player->stateFlags3 |= PLAYER_STATE3_800000; } } @@ -286,7 +286,7 @@ void EnBoom_Update(Actor* thisx, PlayState* play) { Player* player = GET_PLAYER(play); Actor* actor; - if (!(player->stateFlags1 & 0x20000000)) { + if (!(player->stateFlags1 & PLAYER_STATE1_20000000)) { this->actionFunc(this, play); if (((actor = this->actor.child) != NULL) || ((actor = this->actor.parent) != NULL)) { diff --git a/src/overlays/actors/ovl_En_Dai/z_en_dai.c b/src/overlays/actors/ovl_En_Dai/z_en_dai.c index 0404f4ecbb..5537d28c23 100644 --- a/src/overlays/actors/ovl_En_Dai/z_en_dai.c +++ b/src/overlays/actors/ovl_En_Dai/z_en_dai.c @@ -415,7 +415,7 @@ void func_80B3EEDC(EnDai* this, PlayState* play) { (play->msgCtx.lastPlayedSong == OCARINA_SONG_GORON_LULLABY)) { func_80B3E5DC(this, 1); this->actionFunc = func_80B3EE8C; - } else if (!(player->stateFlags2 & 0x08000000)) { + } else if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) { func_80B3E96C(this, play); this->unk_A6C = 0; } else if (this->unk_A6C == 0) { @@ -557,7 +557,7 @@ void EnDai_Update(Actor* thisx, PlayState* play) { func_80B3E460(this); } else { this->actionFunc(this, play); - if (!(player->stateFlags2 & 0x8000000)) { + if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) { SkelAnime_Update(&this->skelAnime); func_80B3E834(this); if (!(this->unk_1CE & 0x200)) { diff --git a/src/overlays/actors/ovl_En_Dg/z_en_dg.c b/src/overlays/actors/ovl_En_Dg/z_en_dg.c index 7e540c83a6..d8bb2b095a 100644 --- a/src/overlays/actors/ovl_En_Dg/z_en_dg.c +++ b/src/overlays/actors/ovl_En_Dg/z_en_dg.c @@ -547,7 +547,7 @@ s32 EnDg_FindFollowerForBremenMask(PlayState* play) { void EnDg_CheckForBremenMaskMarch(EnDg* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (player->stateFlags3 & 0x20000000) { // bremen mask march + if (player->stateFlags3 & PLAYER_STATE3_20000000) { if (sBremenMaskFollowerIndex == ENDG_INDEX_NO_BREMEN_MASK_FOLLOWER) { EnDg_FindFollowerForBremenMask(play); } @@ -865,7 +865,7 @@ void EnDg_SitNextToPlayer(EnDg* this, PlayState* play) { Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 4, 0xC00); this->actor.world.rot.y = this->actor.shape.rot.y; } else { - if (player->stateFlags3 & 0x20000000) { // bremen mask march + if (player->stateFlags3 & PLAYER_STATE3_20000000) { EnDg_ChangeAnim(&this->skelAnime, sAnimationInfo, DOG_ANIM_WALK); } else { EnDg_ChangeAnim(&this->skelAnime, sAnimationInfo, DOG_ANIM_RUN); @@ -992,7 +992,7 @@ void EnDg_ApproachPlayer(EnDg* this, PlayState* play) { if (this->actor.xzDistToPlayer < 40.0f) { EnDg_ChangeAnim(&this->skelAnime, sAnimationInfo, DOG_ANIM_SIT_DOWN); this->actionFunc = EnDg_SitNextToPlayer; - } else if (player->stateFlags3 & 0x20000000) { // bremen mask march + } else if (player->stateFlags3 & PLAYER_STATE3_20000000) { if ((this->actor.xzDistToPlayer > 40.0f) && (player->linearVelocity == 0.0f)) { Math_ApproachF(&this->actor.speedXZ, 1.5f, 0.2f, 1.0f); } else { @@ -1340,7 +1340,7 @@ void EnDg_Update(Actor* thisx, PlayState* play) { Vec3f floorRot = { 0.0f, 0.0f, 0.0f }; this->selectedDogIndex = sSelectedRacetrackDogInfo.index; - if (!(player->stateFlags1 & 0x20) || (play->sceneId != SCENE_CLOCKTOWER)) { + if (!(player->stateFlags1 & PLAYER_STATE1_20) || (play->sceneId != SCENE_CLOCKTOWER)) { if (EnDg_ShouldReactToNonHumanPlayer(this, play)) { EnDg_ChooseActionForForm(this, play); } else if (this->behavior != DOG_BEHAVIOR_DEFAULT) { diff --git a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c index 3e252c0341..90c6512411 100644 --- a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c +++ b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c @@ -260,7 +260,7 @@ s32 func_80A52B68(EnDnq* this, PlayState* play) { Player* player = GET_PLAYER(play); u16 temp = play->msgCtx.currentTextId; - if ((player->stateFlags1 & 0x40) && (player->targetActor == &this->picto.actor)) { + if ((player->stateFlags1 & PLAYER_STATE1_40) && (player->targetActor == &this->picto.actor)) { switch (temp) { case 0x89B: func_80A5257C(this, 18); diff --git a/src/overlays/actors/ovl_En_Dns/z_en_dns.c b/src/overlays/actors/ovl_En_Dns/z_en_dns.c index 3e4cf3154e..38942387f4 100644 --- a/src/overlays/actors/ovl_En_Dns/z_en_dns.c +++ b/src/overlays/actors/ovl_En_Dns/z_en_dns.c @@ -398,7 +398,7 @@ void func_8092D1B8(EnDns* this, PlayState* play) { if (!ENDNS_GET_4000(&this->actor) || (this->unk_2D2 != 0)) { if (!(gSaveContext.save.weekEventReg[23] & 0x20) && !(gSaveContext.eventInf[1] & 0x20) && func_8092CC68(play)) { - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; this->unk_2C6 |= 0x100; SubS_UpdateFlags(&this->unk_2C6, 4, 7); play_sound(NA_SE_SY_FOUND); diff --git a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c index 95ce326452..bba07ce4bb 100644 --- a/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c +++ b/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c @@ -587,7 +587,7 @@ void func_80877500(EnDodongo* this, PlayState* play) { Math_ScaledStepToS(&this->actor.world.rot.y, this->actor.yawTowardsPlayer, 0x1F4); if (this->actor.xzDistToPlayer < (100.0f * this->unk_334)) { if ((ABS_ALT(temp_v1) < 0x1388) && (this->actor.playerHeightRel < 60.0f) && - !(player->stateFlags1 & 0x800000)) { + !(player->stateFlags1 & PLAYER_STATE1_800000)) { func_808777A8(this); } } @@ -823,7 +823,7 @@ void func_80878424(EnDodongo* this, PlayState* play) { this->timer++; if (SkelAnime_Update(&this->skelAnime)) { - if (!(player->stateFlags1 & 0x800000) && (Player_GetMask(play) != PLAYER_MASK_STONE)) { + if (!(player->stateFlags1 & PLAYER_STATE1_800000) && (Player_GetMask(play) != PLAYER_MASK_STONE)) { this->collider1.base.atFlags &= ~AT_ON; func_808777A8(this); } else { diff --git a/src/overlays/actors/ovl_En_Door/z_en_door.c b/src/overlays/actors/ovl_En_Door/z_en_door.c index ca64711ad0..34f0266f44 100644 --- a/src/overlays/actors/ovl_En_Door/z_en_door.c +++ b/src/overlays/actors/ovl_En_Door/z_en_door.c @@ -480,7 +480,7 @@ void func_80866B20(EnDoor* this, PlayState* play) { if (this->unk_1A1 != 0) { this->actionFunc = func_80867144; Animation_PlayOnceSetSpeed(&this->skelAnime, sAnimations[this->animIndex], - (player->stateFlags1 & 0x8000000) ? 0.75f : 1.5f); + (player->stateFlags1 & PLAYER_STATE1_8000000) ? 0.75f : 1.5f); if (this->unk_1A6 != 0) { gSaveContext.save.inventory.dungeonKeys[gSaveContext.mapIndex]--; Flags_SetSwitch(play, this->switchFlag); diff --git a/src/overlays/actors/ovl_En_Dragon/z_en_dragon.c b/src/overlays/actors/ovl_En_Dragon/z_en_dragon.c index 870bed49f4..2621ed1d84 100644 --- a/src/overlays/actors/ovl_En_Dragon/z_en_dragon.c +++ b/src/overlays/actors/ovl_En_Dragon/z_en_dragon.c @@ -612,13 +612,13 @@ void EnDragon_Attack(EnDragon* this, PlayState* play) { } if (((this->state != DEEP_PYTHON_ATTACK_STATE_START) && (this->endFrame <= currentFrame)) || - (!(player->stateFlags2 & 0x80)) || ((this->collider.elements[0].info.bumperFlags & BUMP_HIT)) || + (!(player->stateFlags2 & PLAYER_STATE2_80)) || ((this->collider.elements[0].info.bumperFlags & BUMP_HIT)) || (this->collider.elements[1].info.bumperFlags & BUMP_HIT) || (this->collider.elements[2].info.bumperFlags & BUMP_HIT)) { player->actor.parent = NULL; this->grabWaitTimer = 30; ActorCutscene_Stop(this->grabCutsceneIndex); - if (player->stateFlags2 & 0x80) { + if (player->stateFlags2 & PLAYER_STATE2_80) { player->unk_AE8 = 100; } diff --git a/src/overlays/actors/ovl_En_Elf/z_en_elf.c b/src/overlays/actors/ovl_En_Elf/z_en_elf.c index aaa552b456..f00963f121 100644 --- a/src/overlays/actors/ovl_En_Elf/z_en_elf.c +++ b/src/overlays/actors/ovl_En_Elf/z_en_elf.c @@ -844,13 +844,13 @@ void func_8088E60C(EnElf* this, PlayState* play) { s16 glowLightRadius; Player* player = GET_PLAYER(play); - if (player->stateFlags1 & 0x400) { + if (player->stateFlags1 & PLAYER_STATE1_400) { glowLightRadius = 200; } else { glowLightRadius = 100; } - if ((this->unk_244 == 6) || (player->stateFlags1 & 2) || (this->fairyFlags & 0x8000)) { + if ((this->unk_244 == 6) || (player->stateFlags1 & PLAYER_STATE1_2) || (this->fairyFlags & 0x8000)) { glowLightRadius = 0; } @@ -967,7 +967,7 @@ void func_8088E850(EnElf* this, PlayState* play) { default: arrowPointedActor = play->actorCtx.targetContext.arrowPointedActor; - if ((player->stateFlags1 & 0x40) && (player->targetActor != NULL)) { + if ((player->stateFlags1 & PLAYER_STATE1_40) && (player->targetActor != NULL)) { Math_Vec3f_Copy(&nextPos, &player->targetActor->focus.pos); } else { Math_Vec3f_Copy(&nextPos, &play->actorCtx.targetContext.unk0); @@ -1133,13 +1133,13 @@ void func_8088F214(EnElf* this, PlayState* play) { func_800B9010(&this->actor, NA_SE_EV_BELL_ANGER - SFX_FLAG); } else { arrowPointedActor = play->actorCtx.targetContext.arrowPointedActor; - if (player->stateFlags1 & 0x400) { + if (player->stateFlags1 & PLAYER_STATE1_400) { sp34 = 10; this->unk_25C = 100; } else if ((arrowPointedActor == NULL) || (arrowPointedActor->category == 4)) { if (arrowPointedActor != NULL) { this->unk_25C = 100; - player->stateFlags2 |= 0x100000; + player->stateFlags2 |= PLAYER_STATE2_100000; sp34 = 0; } else { switch (this->unk_244) { @@ -1147,7 +1147,7 @@ void func_8088F214(EnElf* this, PlayState* play) { if (this->unk_25C != 0) { this->unk_25C--; sp34 = 0; - } else if (!(player->stateFlags1 & 0x40)) { + } else if (!(player->stateFlags1 & PLAYER_STATE1_40)) { if (this->unk_269 == 0) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_NAVY_VANISH); } @@ -1163,7 +1163,7 @@ void func_8088F214(EnElf* this, PlayState* play) { this->unk_24A--; sp34 = 5; } else { - player->stateFlags2 |= 0x100000; + player->stateFlags2 |= PLAYER_STATE2_100000; sp34 = 0; } } else { @@ -1195,7 +1195,7 @@ void func_8088F214(EnElf* this, PlayState* play) { switch (sp34) { case 0: - if (!(player->stateFlags2 & 0x100000)) { + if (!(player->stateFlags2 & PLAYER_STATE2_100000)) { sp34 = 5; if (this->unk_269 == 0) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_NAVY_VANISH); @@ -1204,25 +1204,25 @@ void func_8088F214(EnElf* this, PlayState* play) { break; case 6: - if (player->stateFlags2 & 0x100000) { + if (player->stateFlags2 & PLAYER_STATE2_100000) { sp34 = 9; this->unk_25C = 0x2A; if (this->unk_269 == 0) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_BELL_DASH_NORMAL); } - } else if (player->stateFlags1 & 0x40) { - player->stateFlags2 |= 0x100000; + } else if (player->stateFlags1 & PLAYER_STATE1_40) { + player->stateFlags2 |= PLAYER_STATE2_100000; sp34 = 0; this->unk_25C = 0; } break; case 5: - player->stateFlags2 &= ~0x100000; + player->stateFlags2 &= ~PLAYER_STATE2_100000; break; default: - player->stateFlags2 |= 0x100000; + player->stateFlags2 |= PLAYER_STATE2_100000; break; } } @@ -1578,7 +1578,7 @@ void EnElf_Draw(Actor* thisx, PlayState* play) { if (!(this->fairyFlags & 8) && (!Cutscene_CheckActorAction(play, 201) || (play->csCtx.actorActions[Cutscene_GetActorActionIndex(play, 201)]->action != 6)) && - (!(player->stateFlags1 & 0x100000) || (kREG(90) < this->actor.projectedPos.z))) { + (!(player->stateFlags1 & PLAYER_STATE1_100000) || (kREG(90) < this->actor.projectedPos.z))) { Gfx* dListHead = GRAPH_ALLOC(play->state.gfxCtx, sizeof(Gfx) * 4); f32 alphaScale; s32 envAlpha; diff --git a/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.c b/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.c index 897641a9ef..1792f4de44 100644 --- a/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.c +++ b/src/overlays/actors/ovl_En_Elfgrp/z_en_elfgrp.c @@ -483,11 +483,11 @@ void func_80A3A610(EnElfgrp* this, PlayState* play) { if (this->unk_144 > 0) { player->actor.freezeTimer = 100; - player->stateFlags1 |= 0x20000000; + player->stateFlags1 |= PLAYER_STATE1_20000000; Actor_PlaySfxAtPos(&this->actor, NA_SE_EV_FAIRY_GROUP_HEAL - SFX_FLAG); } else { player->actor.freezeTimer = 0; - player->stateFlags1 &= ~0x20000000; + player->stateFlags1 &= ~PLAYER_STATE1_20000000; this->actionFunc = func_80A3A600; this->unk_14A |= 8; } @@ -499,7 +499,7 @@ void func_80A3A6F4(EnElfgrp* this, PlayState* play) { if (Actor_TextboxIsClosing(&this->actor, play)) { player->actor.freezeTimer = 100; - player->stateFlags1 |= 0x20000000; + player->stateFlags1 |= PLAYER_STATE1_20000000; this->unk_144 = func_80A39FBC(play); this->actionFunc = func_80A3A610; this->unk_14A &= ~8; @@ -510,7 +510,7 @@ void func_80A3A77C(EnElfgrp* this, PlayState* play) { Player* player = GET_PLAYER(play); player->actor.freezeTimer = 100; - player->stateFlags1 |= 0x20000000; + player->stateFlags1 |= PLAYER_STATE1_20000000; if (Actor_TextboxIsClosing(&this->actor, play)) { this->unk_144 = func_80A39FBC(play); this->actionFunc = func_80A3A610; @@ -558,7 +558,7 @@ void func_80A3A8F8(EnElfgrp* this, PlayState* play) { if (gSaveContext.save.playerForm == PLAYER_FORM_DEKU) { this->actor.flags &= ~ACTOR_FLAG_10000; player->actor.freezeTimer = 100; - player->stateFlags1 |= 0x20000000; + player->stateFlags1 |= PLAYER_STATE1_20000000; Message_StartTextbox(play, this->actor.textId, &this->actor); this->actionFunc = func_80A3A77C; gSaveContext.save.weekEventReg[9] |= this->unk_146; diff --git a/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c b/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c index 11a4b11361..c13709930d 100644 --- a/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c +++ b/src/overlays/actors/ovl_En_Elforg/z_en_elforg.c @@ -425,10 +425,10 @@ void EnElforg_ClockTownFairyCollected(EnElforg* this, PlayState* play) { EnElforg_CirclePlayer(this, play); player->actor.freezeTimer = 100; - player->stateFlags1 |= 0x20000000; + player->stateFlags1 |= PLAYER_STATE1_20000000; if (Actor_TextboxIsClosing(&this->actor, play)) { player->actor.freezeTimer = 0; - player->stateFlags1 &= ~0x20000000; + player->stateFlags1 &= ~PLAYER_STATE1_20000000; Actor_Kill(&this->actor); gSaveContext.save.weekEventReg[8] |= 0x80; ActorCutscene_Stop(0x7C); @@ -481,7 +481,7 @@ void EnElforg_FreeFloating(EnElforg* this, PlayState* play) { if (STRAY_FAIRY_TYPE(&this->actor) == STRAY_FAIRY_TYPE_CLOCK_TOWN) { player->actor.freezeTimer = 100; - player->stateFlags1 |= 0x20000000; + player->stateFlags1 |= PLAYER_STATE1_20000000; // Bring me back to North Clock Town! Message_StartTextbox(play, 0x579, NULL); this->actionFunc = EnElforg_ClockTownFairyCollected; diff --git a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c index 0af2c8f61c..db1dadbda3 100644 --- a/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c +++ b/src/overlays/actors/ovl_En_Fishing/z_en_fishing.c @@ -2151,7 +2151,7 @@ void EnFishing_UpdateLure(EnFishing* this, PlayState* play) { Math_ApproachF(&D_809101C0, 195.0f, 1.0f, 1.0f); - if (player->stateFlags1 & 0x8000000) { + if (player->stateFlags1 & PLAYER_STATE1_8000000) { D_80917204 = 0; player->unk_B28 = 0; } diff --git a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c index 48f694e8af..b8a0d96999 100644 --- a/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c +++ b/src/overlays/actors/ovl_En_Floormas/z_en_floormas.c @@ -745,7 +745,7 @@ void func_808D22C8(EnFloormas* this, PlayState* play) { Math_Vec3f_Sum(&player->actor.world.pos, &this->actor.home.pos, &this->actor.world.pos); - if (!(player->stateFlags2 & 0x80) || (player->invincibilityTimer < 0)) { + if (!(player->stateFlags2 & PLAYER_STATE2_80) || (player->invincibilityTimer < 0)) { EnFloormas* parent = (EnFloormas*)this->actor.parent; EnFloormas* child = (EnFloormas*)this->actor.child; diff --git a/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/src/overlays/actors/ovl_En_Fu/z_en_fu.c index 7d1166ef27..f02a04aeec 100644 --- a/src/overlays/actors/ovl_En_Fu/z_en_fu.c +++ b/src/overlays/actors/ovl_En_Fu/z_en_fu.c @@ -410,7 +410,7 @@ void func_80962340(EnFu* this, PlayState* play) { this->unk_552 = 0x2889; } this->actor.flags &= ~ACTOR_FLAG_10000; - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; this->unk_54A = 1; } else { Message_StartTextbox(play, 0x283C, &this->actor); @@ -535,7 +535,7 @@ void func_80962660(EnFu* this, PlayState* play) { gSaveContext.save.weekEventReg[63] |= 1; gSaveContext.save.weekEventReg[63] &= (u8)~2; func_801477B4(play); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; this->unk_53C = 0; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, 3); func_801A2BB8(NA_BGM_TIMED_MINI_GAME); @@ -644,7 +644,7 @@ void func_80962A10(EnFu* this, PlayState* play) { } play_sound(NA_SE_SY_FOUND); - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; Interface_StartTimer(TIMER_ID_MINIGAME_2, 60); if (this->unk_546 == 1) { func_809616E0(this, play); @@ -680,8 +680,8 @@ void func_80962BCC(EnFu* this, PlayState* play) { } play_sound(NA_SE_SY_FOUND); - player->stateFlags1 &= ~0x20; - player->stateFlags3 |= 0x400000; + player->stateFlags1 &= ~PLAYER_STATE1_20; + player->stateFlags3 |= PLAYER_STATE3_400000; Interface_StartTimer(TIMER_ID_MINIGAME_2, 60); if (this->unk_546 == 1) { @@ -711,8 +711,8 @@ void func_80962D60(EnFu* this, PlayState* play) { } play_sound(NA_SE_SY_FOUND); - player->stateFlags1 &= ~0x20; - player->stateFlags3 |= 0x400000; + player->stateFlags1 &= ~PLAYER_STATE1_20; + player->stateFlags3 |= PLAYER_STATE3_400000; Interface_StartTimer(TIMER_ID_MINIGAME_2, 60); if (this->unk_546 == 1) { @@ -748,7 +748,7 @@ void func_80962F4C(EnFu* this, PlayState* play) { switch (this->unk_542) { case 0: if (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) { - player->stateFlags3 |= 0x400; + player->stateFlags3 |= PLAYER_STATE3_400; } break; @@ -778,9 +778,9 @@ void func_80962F4C(EnFu* this, PlayState* play) { if ((!DynaPolyActor_IsInRidingRotatingState((DynaPolyActor*)this->actor.child) && (player->actor.bgCheckFlags & 1)) || (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] <= SECONDS_TO_TIMER(0)) || (this->unk_548 == this->unk_54C)) { - player->stateFlags3 &= ~0x400000; + player->stateFlags3 &= ~PLAYER_STATE3_400000; func_80961E88(play); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; if (this->unk_548 < this->unk_54C) { if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] == SECONDS_TO_TIMER(0)) { Message_StartTextbox(play, 0x2885, &this->actor); @@ -932,7 +932,7 @@ void func_80963630(EnFu* this, PlayState* play) { break; } } - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; } else { this->actor.child->freezeTimer = 10; func_800B85E0(&this->actor, play, 500.0f, PLAYER_AP_MINUS1); @@ -1174,7 +1174,7 @@ void func_80963F88(EnFu* this, PlayState* play) { void func_80963FF8(EnFu* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (player->stateFlags1 & 0x100000) { + if (player->stateFlags1 & PLAYER_STATE1_100000) { play->actorCtx.unk268 = 1; play->actorCtx.unk_26C.press.button = 0x8000; } else { diff --git a/src/overlays/actors/ovl_En_Gg/z_en_gg.c b/src/overlays/actors/ovl_En_Gg/z_en_gg.c index a4bfc759aa..8693e2fe53 100644 --- a/src/overlays/actors/ovl_En_Gg/z_en_gg.c +++ b/src/overlays/actors/ovl_En_Gg/z_en_gg.c @@ -390,11 +390,11 @@ void func_80B359DC(EnGg* this, PlayState* play) { if (this->actor.xzDistToPlayer < 200.0f) { if (this->unk_306 == 0) { - if (player->stateFlags2 & 0x8000000) { + if (player->stateFlags2 & PLAYER_STATE2_8000000) { this->unk_306 = 1; play_sound(NA_SE_SY_TRE_BOX_APPEAR); } - } else if (!(player->stateFlags2 & 0x8000000)) { + } else if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) { this->unk_306 = 0; } diff --git a/src/overlays/actors/ovl_En_Gk/z_en_gk.c b/src/overlays/actors/ovl_En_Gk/z_en_gk.c index 61ae3e91a1..242412a160 100644 --- a/src/overlays/actors/ovl_En_Gk/z_en_gk.c +++ b/src/overlays/actors/ovl_En_Gk/z_en_gk.c @@ -247,11 +247,11 @@ s32 func_80B50854(EnGk* this, PlayState* play) { Player* player = GET_PLAYER(play); if (!(this->unk_1E4 & 0x40)) { - if (player->stateFlags2 & 0x8000000) { + if (player->stateFlags2 & PLAYER_STATE2_8000000) { this->unk_1E4 |= 0x40; play_sound(NA_SE_SY_TRE_BOX_APPEAR); } - } else if (!(player->stateFlags2 & 0x8000000)) { + } else if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) { this->unk_1E4 &= ~0x40; } diff --git a/src/overlays/actors/ovl_En_Gm/z_en_gm.c b/src/overlays/actors/ovl_En_Gm/z_en_gm.c index 23406fe7a0..8b8456bde1 100644 --- a/src/overlays/actors/ovl_En_Gm/z_en_gm.c +++ b/src/overlays/actors/ovl_En_Gm/z_en_gm.c @@ -892,7 +892,7 @@ s32 func_8094F53C(EnGm* this, PlayState* play) { Actor* al = func_8094DEE0(this, play, ACTORCAT_NPC, ACTOR_EN_AL); Actor* toto = func_8094DEE0(this, play, ACTORCAT_NPC, ACTOR_EN_TOTO); - if (player->stateFlags1 & 0x440) { + if (player->stateFlags1 & (PLAYER_STATE1_40 | PLAYER_STATE1_400)) { this->unk_3A4 |= 0x400; if (this->unk_3A6 != sp32) { switch (sp32) { @@ -1412,7 +1412,7 @@ s32 func_80950690(EnGm* this, PlayState* play) { al = func_8094DEE0(this, play, ACTORCAT_NPC, ACTOR_EN_AL); toto = func_8094DEE0(this, play, ACTORCAT_NPC, ACTOR_EN_TOTO); if ((al != NULL) && (al->update != NULL) && (toto != NULL) && (toto->update != NULL) && - !(player->stateFlags1 & 0x40)) { + !(player->stateFlags1 & PLAYER_STATE1_40)) { if (DECR(this->unk_3B8) == 0) { if (al == this->unk_268) { this->unk_268 = toto; diff --git a/src/overlays/actors/ovl_En_Go/z_en_go.c b/src/overlays/actors/ovl_En_Go/z_en_go.c index e1659259f8..80e9276946 100644 --- a/src/overlays/actors/ovl_En_Go/z_en_go.c +++ b/src/overlays/actors/ovl_En_Go/z_en_go.c @@ -525,7 +525,7 @@ void func_80A1213C(EnGo* this, PlayState* play) { s32 func_80A121F4(PlayState* play) { Player* player = GET_PLAYER(play); - if ((player->transformation == PLAYER_FORM_GORON) && (player->stateFlags3 & 0x2000000)) { + if ((player->transformation == PLAYER_FORM_GORON) && (player->stateFlags3 & PLAYER_STATE3_2000000)) { return false; } return true; @@ -637,7 +637,7 @@ void func_80A12660(EnGo* this, PlayState* play) { void func_80A126BC(EnGo* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (!(player->stateFlags2 & 0x4000)) { + if (!(player->stateFlags2 & PLAYER_STATE2_4000)) { if (this->unk_3C6 != 0) { this->unk_3C6--; } @@ -830,7 +830,7 @@ s32 func_80A12E80(EnGo* this, PlayState* play) { return false; } - if (player->stateFlags1 & 0x40) { + if (player->stateFlags1 & PLAYER_STATE1_40) { if (this->unk_392 != temp) { switch (temp) { case 0xE1A: diff --git a/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c b/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c index c6ef6a97c5..31103b11c0 100644 --- a/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c +++ b/src/overlays/actors/ovl_En_Goroiwa/z_en_goroiwa.c @@ -1134,7 +1134,7 @@ void func_80941A10(EnGoroiwa* this, PlayState* play) { s32 pad2; if (!func_8094156C(this, play)) { - if ((this->collider.base.atFlags & AT_HIT) && !(player->stateFlags3 & 0x80000)) { + if ((this->collider.base.atFlags & AT_HIT) && !(player->stateFlags3 & PLAYER_STATE3_80000)) { s32 sp34 = this->actor.home.rot.z & 3; if (sp34 == 2) { @@ -1264,7 +1264,7 @@ void func_80941FA4(EnGoroiwa* this, PlayState* play) { Player* player = GET_PLAYER(play); if (func_8094156C(this, play) == 0) { - if ((this->collider.base.atFlags & AT_HIT) && !(player->stateFlags3 & 0x80000)) { + if ((this->collider.base.atFlags & AT_HIT) && !(player->stateFlags3 & PLAYER_STATE3_80000)) { func_800B8D50(play, &this->actor, 2.0f, this->actor.yawTowardsPlayer, 0.0f, 0); func_800B8E58(player, NA_SE_PL_BODY_HIT); if (((this->actor.home.rot.z & 3) == 1) || ((this->actor.home.rot.z & 3) == 2)) { @@ -1292,7 +1292,7 @@ void func_809420F0(EnGoroiwa* this, PlayState* play) { Player* player = GET_PLAYER(play); if (func_8094156C(this, play) == 0) { - if ((this->collider.base.atFlags & AT_HIT) && !(player->stateFlags3 & 0x80000)) { + if ((this->collider.base.atFlags & AT_HIT) && !(player->stateFlags3 & PLAYER_STATE3_80000)) { func_800B8D50(play, &this->actor, 2.0f, this->actor.yawTowardsPlayer, 0.0f, 0); func_800B8E58(player, NA_SE_PL_BODY_HIT); if (((this->actor.home.rot.z & 3) == 1) || ((this->actor.home.rot.z & 3) == 2)) { @@ -1434,7 +1434,8 @@ void EnGoroiwa_Update(Actor* thisx, PlayState* play) { u32 temp_v0_2; CollisionPoly* tmp; - if (!(player->stateFlags1 & (0x30000000 | 0x80 | 0x40))) { + if (!(player->stateFlags1 & + (PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000))) { if (this->unk_1CC > 0) { this->unk_1CC--; } @@ -1515,7 +1516,7 @@ void EnGoroiwa_Update(Actor* thisx, PlayState* play) { func_8093E938(this); if ((this->unk_1E5 & 1) && (this->unk_1CC <= 0) && - (!(player->stateFlags3 & 0x2000000) || (player->transformation != PLAYER_FORM_GORON) || + (!(player->stateFlags3 & PLAYER_STATE3_2000000) || (player->transformation != PLAYER_FORM_GORON) || ((params != ENGOROIWA_C000_1) && (params != ENGOROIWA_C000_2)))) { CollisionCheck_SetAT(play, &play->colChkCtx, &this->collider.base); } else { diff --git a/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.c b/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.c index 174c507d18..272ea909ef 100644 --- a/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.c +++ b/src/overlays/actors/ovl_En_Hakurock/z_en_hakurock.c @@ -276,7 +276,8 @@ void func_80B22500(EnHakurock* this, PlayState* play) { (this->collider.base.oc->params == EN_HAKUROCK_TYPE_UNK_2))) { func_80B21EA4(this, 3); func_80B21FFC(this); - } else if ((&player->actor == this->collider.base.oc) && ((player->stateFlags3 & 0x81000) != 0) && + } else if ((&player->actor == this->collider.base.oc) && + (player->stateFlags3 & (PLAYER_STATE3_1000 | PLAYER_STATE3_80000)) && (player->linearVelocity > 8.0f)) { player->unk_B08[0] = player->linearVelocity = -5.0f; player->unk_B08[1] += (player->linearVelocity * 0.05f); diff --git a/src/overlays/actors/ovl_En_Hg/z_en_hg.c b/src/overlays/actors/ovl_En_Hg/z_en_hg.c index 3e089d185b..05311e64bb 100644 --- a/src/overlays/actors/ovl_En_Hg/z_en_hg.c +++ b/src/overlays/actors/ovl_En_Hg/z_en_hg.c @@ -175,7 +175,7 @@ void func_80BCF4AC(EnHg* this, PlayState* play) { s32 pad; this->actor.speedXZ = 1.6f; - if (!(player->stateFlags2 & 0x08000000) && Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) { + if (!(player->stateFlags2 & PLAYER_STATE2_8000000) && Message_GetState(&play->msgCtx) == TEXT_STATE_NONE) { if (((this->skelAnime.curFrame > 9.0f) && (this->skelAnime.curFrame < 16.0f)) || ((this->skelAnime.curFrame > 44.0f) && (this->skelAnime.curFrame < 51.0f))) { Actor_MoveWithGravity(&this->actor); @@ -348,7 +348,7 @@ void func_80BCFC0C(EnHg* this, PlayState* play) { Player* player = GET_PLAYER(play); if (this->actor.colChkInfo.health == 1 && !(fabsf(this->actor.playerHeightRel) >= 80.0f)) { - if (player->stateFlags2 & 0x08000000) { + if (player->stateFlags2 & PLAYER_STATE2_8000000) { if (!D_80BD00C8) { play_sound(NA_SE_SY_TRE_BOX_APPEAR); } diff --git a/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c b/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c index 04434510b0..2a209b86b5 100644 --- a/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c +++ b/src/overlays/actors/ovl_En_Hidden_Nuts/z_en_hidden_nuts.c @@ -147,7 +147,7 @@ void func_80BDB2B8(EnHiddenNuts* this, PlayState* play) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_NEMURI_SLEEP - SFX_FLAG); - if (player->stateFlags2 & 0x8000000) { + if (player->stateFlags2 & PLAYER_STATE2_8000000) { if (this->unk_20A == 0) { play_sound(NA_SE_SY_TRE_BOX_APPEAR); this->unk_20A = 1; diff --git a/src/overlays/actors/ovl_En_Holl/z_en_holl.c b/src/overlays/actors/ovl_En_Holl/z_en_holl.c index 8f634369b8..a3a27f536a 100644 --- a/src/overlays/actors/ovl_En_Holl/z_en_holl.c +++ b/src/overlays/actors/ovl_En_Holl/z_en_holl.c @@ -310,7 +310,7 @@ void EnHoll_Update(Actor* thisx, PlayState* play) { Player* player = GET_PLAYER(play); if ((play->transitionTrigger == TRANS_TRIGGER_OFF) && (play->transitionMode == TRANS_MODE_OFF) && - !(player->stateFlags1 & 0x200)) { + !(player->stateFlags1 & PLAYER_STATE1_200)) { this->actionFunc(this, play); } } diff --git a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c index 3cfa65ddb0..8ea49f0c62 100644 --- a/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c +++ b/src/overlays/actors/ovl_En_Horse_Game_Check/z_en_horse_game_check.c @@ -169,7 +169,7 @@ s32 func_808F8EB0(EnHorseGameCheck* this, PlayState* play) { } D_801BDA9C = 0; - if (player->stateFlags1 & 0x800000) { + if (player->stateFlags1 & PLAYER_STATE1_800000) { D_801BDAA0 = 1; } play->nextEntrance = ENTRANCE(GORMAN_TRACK, 2); diff --git a/src/overlays/actors/ovl_En_Ig/z_en_ig.c b/src/overlays/actors/ovl_En_Ig/z_en_ig.c index bc1ca559be..497f6d9e3f 100644 --- a/src/overlays/actors/ovl_En_Ig/z_en_ig.c +++ b/src/overlays/actors/ovl_En_Ig/z_en_ig.c @@ -469,7 +469,7 @@ s32 func_80BF1B40(EnIg* this, PlayState* play) { u16 temp = play->msgCtx.currentTextId; s32 pad; - if (player->stateFlags1 & 0xC40) { + if (player->stateFlags1 & (PLAYER_STATE1_40 | PLAYER_STATE1_400 | PLAYER_STATE1_800)) { this->unk_3D0 |= 0x400; if (this->unk_3D2 != temp) { if ((this->unk_3FC == 2) || (this->unk_3FC == 3)) { diff --git a/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c b/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c index d44ed193cb..376d79900a 100644 --- a/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c +++ b/src/overlays/actors/ovl_En_Jgame_Tsn/z_en_jgame_tsn.c @@ -189,7 +189,7 @@ void func_80C13BB8(EnJgameTsn* this, PlayState* play) { func_800B8614(&this->actor, play, 80.0f); } - if ((player->actor.bgCheckFlags & 1) && !(player->stateFlags1 & 0x2000) && (this->unk_2FE == 0) && + if ((player->actor.bgCheckFlags & 1) && !(player->stateFlags1 & PLAYER_STATE1_2000) && (this->unk_2FE == 0) && (gSaveContext.save.playerForm == PLAYER_FORM_HUMAN) && func_80C149B0(play, &this->unk_1F8)) { this->unk_2FE = 1; func_80C13E6C(this); @@ -282,7 +282,7 @@ void func_80C14044(EnJgameTsn* this, PlayState* play) { void func_80C1410C(EnJgameTsn* this, PlayState* play) { Player* player = GET_PLAYER(play); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; func_801A2BB8(0x25); play->interfaceCtx.unk_280 = 1; func_80112AFC(play); @@ -296,7 +296,7 @@ void func_80C1418C(EnJgameTsn* this, PlayState* play) { if (play->interfaceCtx.unk_280 == 8) { func_80C141DC(this); - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; } } @@ -338,7 +338,7 @@ void func_80C14230(EnJgameTsn* this, PlayState* play) { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, 2); Message_StartTextbox(play, 0x109F, &this->actor); this->unk_300 = 0x109F; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; *this->unk_208[this->unk_218] &= ~OBJLUPYGAMELIFT_IGNITE_FIRE; func_801A2C20(); func_80C14030(this); @@ -346,7 +346,7 @@ void func_80C14230(EnJgameTsn* this, PlayState* play) { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, 2); Message_StartTextbox(play, 0x10A0, &this->actor); this->unk_300 = 0x10A0; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; *this->unk_208[this->unk_218] &= ~OBJLUPYGAMELIFT_IGNITE_FIRE; func_801A2C20(); func_80C14030(this); @@ -355,7 +355,7 @@ void func_80C14230(EnJgameTsn* this, PlayState* play) { if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_2] == SECONDS_TO_TIMER(0)) { Message_StartTextbox(play, 0x10A1, &this->actor); this->unk_300 = 0x10A1; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; *this->unk_208[this->unk_218] &= ~OBJLUPYGAMELIFT_IGNITE_FIRE; func_801A2C20(); func_80C14030(this); diff --git a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c index 3acbece163..2a83231044 100644 --- a/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c +++ b/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c @@ -308,12 +308,12 @@ void EnKakasi_TimeSkipDialogue(EnKakasi* this, PlayState* play) { this->picto.actor.textId = 0x1653; gSaveContext.save.weekEventReg[83] &= (u8)~1; this->talkState = TEXT_STATE_5; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; this->picto.actor.flags |= ACTOR_FLAG_10000; } if (Actor_ProcessTalkRequest(&this->picto.actor, &play->state)) { - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; this->unkState196 = 2; this->picto.actor.flags &= ~ACTOR_FLAG_10000; this->actionFunc = EnKakasi_RegularDialogue; diff --git a/src/overlays/actors/ovl_En_Kame/z_en_kame.c b/src/overlays/actors/ovl_En_Kame/z_en_kame.c index 4f1f9ea2e8..abc8f520d2 100644 --- a/src/overlays/actors/ovl_En_Kame/z_en_kame.c +++ b/src/overlays/actors/ovl_En_Kame/z_en_kame.c @@ -197,7 +197,7 @@ void func_80AD70EC(EnKame* this, PlayState* play) { this->unk_2A0 = 40; } - if ((Player_GetMask(play) != PLAYER_MASK_STONE) && !(player->stateFlags1 & 0x800000) && + if ((Player_GetMask(play) != PLAYER_MASK_STONE) && !(player->stateFlags1 & PLAYER_STATE1_800000) && (this->actor.xzDistToPlayer < 240.0f)) { func_80AD73A8(this); } else if (SkelAnime_Update(&this->skelAnime1)) { @@ -218,7 +218,7 @@ void func_80AD71B4(EnKame* this) { void func_80AD7254(EnKame* this, PlayState* play) { Player* player = GET_PLAYER(play); - if ((Player_GetMask(play) != PLAYER_MASK_STONE) && !(player->stateFlags1 & 0x800000) && + if ((Player_GetMask(play) != PLAYER_MASK_STONE) && !(player->stateFlags1 & PLAYER_STATE1_800000) && (this->actor.xzDistToPlayer < 240.0f)) { func_80AD73A8(this); return; @@ -257,7 +257,7 @@ void func_80AD7424(EnKame* this, PlayState* play) { Player* player = GET_PLAYER(play); if (SkelAnime_Update(&this->skelAnime1)) { - if ((Player_GetMask(play) != PLAYER_MASK_STONE) && !(player->stateFlags1 & 0x800000) && + if ((Player_GetMask(play) != PLAYER_MASK_STONE) && !(player->stateFlags1 & PLAYER_STATE1_800000) && ((this->unk_29E == 0) || (this->actor.xzDistToPlayer < 120.0f))) { func_80AD76CC(this); } else { diff --git a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c index 08ec15b142..ade18b7076 100644 --- a/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c +++ b/src/overlays/actors/ovl_En_Kendo_Js/z_en_kendo_js.c @@ -281,7 +281,7 @@ void func_80B269A4(EnKendoJs* this, PlayState* play) { case 0x2719: func_801477B4(play); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; func_80B2701C(this); break; @@ -298,7 +298,7 @@ void func_80B269A4(EnKendoJs* this, PlayState* play) { case 0x273B: func_801477B4(play); func_80112AFC(play); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; func_80B273D0(this); break; @@ -337,7 +337,7 @@ void func_80B26AFC(EnKendoJs* this, PlayState* play) { gSaveContext.minigameState = 3; } - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; func_80B26538(this); } @@ -358,18 +358,18 @@ s32 func_80B26BF8(EnKendoJs* this, PlayState* play) { return 0; } - if ((player->meleeWeaponState != 0) || (player->stateFlags3 & 0x8000000) || - (player->stateFlags2 & 0x80000)) { + if ((player->meleeWeaponState != 0) || (player->stateFlags3 & PLAYER_STATE3_8000000) || + (player->stateFlags2 & PLAYER_STATE2_80000)) { return 1; } break; case 1: - if ((player->stateFlags3 & 0x8000000)) { + if ((player->stateFlags3 & PLAYER_STATE3_8000000)) { return 0; } - if ((player->meleeWeaponState != 0) || (player->stateFlags2 & 0x80000)) { + if ((player->meleeWeaponState != 0) || (player->stateFlags2 & PLAYER_STATE2_80000)) { return 1; } break; @@ -379,8 +379,8 @@ s32 func_80B26BF8(EnKendoJs* this, PlayState* play) { return 0; } - if ((player->meleeWeaponState != 0) || (player->stateFlags3 & 0x8000000) || - (player->stateFlags2 & 0x80000)) { + if ((player->meleeWeaponState != 0) || (player->stateFlags3 & PLAYER_STATE3_8000000) || + (player->stateFlags2 & PLAYER_STATE2_80000)) { return 1; } this->unk_28E = 0; @@ -393,7 +393,8 @@ s32 func_80B26BF8(EnKendoJs* this, PlayState* play) { return 0; } - if ((this->unk_28E == 1) || (player->stateFlags3 & 0x8000000) || (player->stateFlags2 & 0x80000)) { + if ((this->unk_28E == 1) || (player->stateFlags3 & PLAYER_STATE3_8000000) || + (player->stateFlags2 & PLAYER_STATE2_80000)) { this->unk_28E = 0; return 1; } @@ -406,7 +407,8 @@ s32 func_80B26BF8(EnKendoJs* this, PlayState* play) { return 0; } - if ((this->unk_28E == 1) || (player->stateFlags3 & 0x8000000) || (player->stateFlags2 & 0x80000)) { + if ((this->unk_28E == 1) || (player->stateFlags3 & PLAYER_STATE3_8000000) || + (player->stateFlags2 & PLAYER_STATE2_80000)) { this->unk_28E = 0; return 1; } @@ -418,7 +420,8 @@ s32 func_80B26BF8(EnKendoJs* this, PlayState* play) { return 0; } - if ((this->unk_28E == 1) || (player->stateFlags3 & 0x8000000) || (player->stateFlags2 & 0x80000)) { + if ((this->unk_28E == 1) || (player->stateFlags3 & PLAYER_STATE3_8000000) || + (player->stateFlags2 & PLAYER_STATE2_80000)) { this->unk_28E = 0; return 1; } @@ -431,7 +434,8 @@ s32 func_80B26BF8(EnKendoJs* this, PlayState* play) { return 0; } - if ((this->unk_28E == 1) || (player->stateFlags3 & 0x8000000) || (player->stateFlags2 & 0x80000)) { + if ((this->unk_28E == 1) || (player->stateFlags3 & PLAYER_STATE3_8000000) || + (player->stateFlags2 & PLAYER_STATE2_80000)) { this->unk_28E = 0; return 1; } @@ -488,7 +492,7 @@ void func_80B27030(EnKendoJs* this, PlayState* play) { this->actor.flags |= ACTOR_FLAG_10000; if (Actor_ProcessTalkRequest(&this->actor, &play->state)) { this->actor.flags &= ~ACTOR_FLAG_10000; - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; func_80B279F0(this, play, 0); Message_StartTextbox(play, 0x271A, &this->actor); this->unk_288 = 0x271A; @@ -520,7 +524,7 @@ void func_80B27188(EnKendoJs* this, PlayState* play) { } this->unk_286 = 2; func_801477B4(play); - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; } } else if (this->unk_286 == 2) { this->unk_286 = 1; @@ -531,14 +535,14 @@ void func_80B27188(EnKendoJs* this, PlayState* play) { case 0: this->unk_286 = 0; Actor_PlaySfxAtPos(&this->actor, NA_SE_SY_TRE_BOX_APPEAR); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; func_80B26EB4(this, play); break; case 1: Actor_PlaySfxAtPos(&this->actor, NA_SE_SY_ERROR); this->unk_286 = 0; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; Message_StartTextbox(play, 0x2729, &this->actor); this->unk_288 = 0x2729; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, 2); @@ -583,7 +587,7 @@ void func_80B2740C(EnKendoJs* this, PlayState* play) { if (func_80B278C4(play, sp18)) { this->unk_28C = 0; - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; this->actionFunc = func_80B274BC; } } @@ -600,7 +604,7 @@ void func_80B274BC(EnKendoJs* this, PlayState* play) { Message_StartTextbox(play, 0x272E, &this->actor); this->unk_288 = 0x272E; } - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; gSaveContext.save.weekEventReg[82] &= (u8)~8; func_80B26AE8(this); return; @@ -623,7 +627,7 @@ void func_80B274BC(EnKendoJs* this, PlayState* play) { (player->meleeWeaponAnimation == PLAYER_MWA_JUMPSLASH_FINISH)) { play->interfaceCtx.unk_25C = 3; if (gSaveContext.minigameScore >= 27) { - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; } } else if (player->meleeWeaponAnimation == PLAYER_MWA_STAB_1H) { play->interfaceCtx.unk_25C = 2; @@ -668,7 +672,7 @@ void func_80B27774(EnKendoJs* this, PlayState* play) { this->unk_288 = 0x2730; } func_80B26AE8(this); - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; } else { func_800B85E0(&this->actor, play, 1000.0f, -1); } diff --git a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c index c9349b2c55..67131febe5 100644 --- a/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c +++ b/src/overlays/actors/ovl_En_Kgy/z_en_kgy.c @@ -1149,10 +1149,10 @@ void func_80B43074(EnKgy* this, PlayState* play) { gSPMatrix(gfx, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); if (func_80B40D8C(play)) { - gSPDisplayList(&gfx[1], gameplay_keep_DL_001D00); + gSPDisplayList(&gfx[1], gRazorSwordHandleDL); gSPDisplayList(&gfx[2], object_kgy_DL_00F180); } else { - gSPDisplayList(&gfx[1], gameplay_keep_DL_0021A8); + gSPDisplayList(&gfx[1], gKokiriSwordHandleDL); gSPDisplayList(&gfx[2], object_kgy_DL_00E8F0); } POLY_OPA_DISP = &gfx[3]; diff --git a/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c b/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c index 064677b3ba..9d9d430782 100644 --- a/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c +++ b/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c @@ -44,14 +44,14 @@ void func_80A5E6F0(Actor* thisx, PlayState* play); void func_80A5E9B4(Actor* thisx, PlayState* play); void func_80A5EA48(Actor* thisx, PlayState* play); -static EnKusa2UnkBssStruct D_80A5F1C0; -static u32 D_80A60900; -static MtxF D_80A60908[8]; -static s16 D_80A60B08; -static s16 D_80A60B0A; -static s16 D_80A60B0C; -static s16 D_80A60B0E; -static s16 D_80A60B10; +EnKusa2UnkBssStruct D_80A5F1C0; +u32 D_80A60900; +MtxF D_80A60908[8]; +s16 D_80A60B08; +s16 D_80A60B0A; +s16 D_80A60B0C; +s16 D_80A60B0E; +s16 D_80A60B10; const ActorInit En_Kusa2_InitVars = { ACTOR_EN_KUSA2, @@ -85,11 +85,11 @@ static ColliderCylinderInit sCylinderInit = { { 6, 44, 0, { 0, 0, 0 } }, }; -static u8 D_80A5EAEC = 1; -static s16 D_80A5EAF0 = 0; -static Vec3s D_80A5EAF4 = { 0, 0, 0 }; -static Vec3s D_80A5EAFC = { 0, 0, 0 }; -static Vec3s D_80A5EB04 = { 0, 0, 0 }; +u8 D_80A5EAEC = 1; +s16 D_80A5EAF0 = 0; +Vec3s D_80A5EAF4 = { 0, 0, 0 }; +Vec3s D_80A5EAFC = { 0, 0, 0 }; +Vec3s D_80A5EB04 = { 0, 0, 0 }; void func_80A5B160(EnKusa2* this, PlayState* play) { s32 i; diff --git a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c index cac761db70..8f9d4232a2 100644 --- a/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c +++ b/src/overlays/actors/ovl_En_Look_Nuts/z_en_look_nuts.c @@ -355,7 +355,7 @@ void EnLookNuts_Update(Actor* thisx, PlayState* play) { if ((this->isPlayerDetected == true) || (this->actor.xzDistToPlayer < 20.0f)) { Player* player = GET_PLAYER(play); - if (!(player->stateFlags3 & 0x100) && !Play_InCsMode(play)) { + if (!(player->stateFlags3 & PLAYER_STATE3_100) && !Play_InCsMode(play)) { Math_Vec3f_Copy(&this->headRotTarget, &gZeroVec3f); this->state = PALACE_GUARD_RUNNING_TO_PLAYER; play_sound(NA_SE_SY_FOUND); diff --git a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c index 0860857c86..ae6a89b4d6 100644 --- a/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c +++ b/src/overlays/actors/ovl_En_Ma4/z_en_ma4.c @@ -347,7 +347,7 @@ void EnMa4_Wait(EnMa4* this, PlayState* play) { EnMa4_StartDialogue(this, play); EnMa4_SetupDialogueHandler(this); } else if (this->type != MA4_TYPE_ALIENS_WON || ABS_ALT(yaw) < 0x4000) { - if (!(player->stateFlags1 & 0x800000)) { + if (!(player->stateFlags1 & PLAYER_STATE1_800000)) { func_800B8614(&this->actor, play, 100.0f); } } @@ -596,7 +596,7 @@ void EnMa4_ChooseNextDialogue(EnMa4* this, PlayState* play) { this->textId = 0x334C; } else { func_801477B4(play); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; EnMa4_SetupBeginEponasSongCs(this); EnMa4_BeginEponasSongCs(this, play); } @@ -692,7 +692,7 @@ void EnMa4_InitHorsebackGame(EnMa4* this, PlayState* play) { Interface_StartTimer(TIMER_ID_MINIGAME_2, 0); gSaveContext.save.weekEventReg[8] |= 1; func_80112AFC(play); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; this->actionFunc = EnMa4_SetupHorsebackGameWait; } @@ -701,7 +701,7 @@ void EnMa4_SetupHorsebackGameWait(EnMa4* this, PlayState* play) { if (play->interfaceCtx.unk_280 == 8) { this->actionFunc = EnMa4_HorsebackGameWait; - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; } } @@ -709,7 +709,7 @@ void EnMa4_HorsebackGameWait(EnMa4* this, PlayState* play) { static s16 D_80AC0258 = 0; Player* player = GET_PLAYER(play); - player->stateFlags3 |= 0x400; + player->stateFlags3 |= PLAYER_STATE3_400; EnMa4_HorsebackGameCheckPlayerInteractions(this, play); if (this->poppedBalloonCounter != D_80AC0258) { @@ -736,7 +736,7 @@ void EnMa4_HorsebackGameEnd(EnMa4* this, PlayState* play) { static s32 sFrameCounter = 0; Player* player = GET_PLAYER(play); - if (player->stateFlags1 & 0x100000) { + if (player->stateFlags1 & PLAYER_STATE1_100000) { play->actorCtx.unk268 = 1; play->actorCtx.unk_26C.press.button = BTN_A; } else { @@ -827,7 +827,7 @@ void EnMa4_EponasSongCs(EnMa4* this, PlayState* play) { } else { Player* player = GET_PLAYER(play); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; func_800B85E0(&this->actor, play, 200.0f, PLAYER_AP_MINUS1); D_80AC0260 = 99; this->hasBow = true; @@ -844,7 +844,7 @@ void EnMa4_EndEponasSongCs(EnMa4* this, PlayState* play) { this->actor.flags |= ACTOR_FLAG_10000; if (Actor_ProcessTalkRequest(&this->actor, &play->state) != 0) { - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; Message_StartTextbox(play, 0x334C, &this->actor); this->textId = 0x334C; this->actor.flags &= ~ACTOR_FLAG_10000; diff --git a/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c b/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c index ac3c8322e3..c747c625fb 100644 --- a/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c +++ b/src/overlays/actors/ovl_En_Mm3/z_en_mm3.c @@ -341,7 +341,7 @@ void func_80A6F9DC(EnMm3* this, PlayState* play) { if (this->unk_2B4 == 0x2790) { Player* player = GET_PLAYER(play); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; if (Player_GetMask(play) == PLAYER_MASK_BUNNY) { Interface_StartPostmanTimer(0, POSTMAN_MINIGAME_BUNNY_HOOD_ON); } else { @@ -383,7 +383,7 @@ void func_80A6FBFC(EnMm3* this, PlayState* play) { Player* player = GET_PLAYER(play); if (gSaveContext.timerStates[TIMER_ID_POSTMAN] == TIMER_STATE_POSTMAN_END) { - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; this->actor.flags |= ACTOR_FLAG_10000; if (gSaveContext.timerCurTimes[TIMER_ID_POSTMAN] > SECONDS_TO_TIMER(15)) { gSaveContext.timerCurTimes[TIMER_ID_POSTMAN] = SECONDS_TO_TIMER(15); @@ -445,7 +445,7 @@ void func_80A6FEEC(EnMm3* this, PlayState* play) { Player* player = GET_PLAYER(play); if (Actor_ProcessTalkRequest(&this->actor, &play->state)) { - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; Message_StartTextbox(play, 0x2794, &this->actor); this->unk_2B4 = 0x2794; func_80151BB4(play, 0xB); diff --git a/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.c b/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.c index e13d260510..757a43ff21 100644 --- a/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.c +++ b/src/overlays/actors/ovl_En_Mt_tag/z_en_mt_tag.c @@ -318,7 +318,7 @@ void EnMttag_RaceStart(EnMttag* this, PlayState* play) { play->interfaceCtx.unk_280 = 1; Audio_QueueSeqCmd(NA_BGM_GORON_RACE | 0x8000); play->envCtx.unk_E4 = 0xFE; - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; } else if ((this->timer < 60) && (play->interfaceCtx.unk_280 == 8)) { this->timer = 0; gSaveContext.eventInf[1] |= 1; @@ -480,7 +480,7 @@ void EnMttag_Init(Actor* thisx, PlayState* play) { if (gSaveContext.save.entrance == ENTRANCE(GORON_RACETRACK, 1)) { player = GET_PLAYER(play); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; this->raceInitialized = false; this->timer = 100; diff --git a/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c b/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c index a890cb0e53..3fa3ac6ecc 100644 --- a/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c +++ b/src/overlays/actors/ovl_En_Nutsball/z_en_nutsball.c @@ -97,7 +97,8 @@ void EnNutsball_Update(Actor* thisx, PlayState* play2) { s32 bgId; CollisionPoly* poly; - if (!(player->stateFlags1 & 0x300000C0)) { + if (!(player->stateFlags1 & + (PLAYER_STATE1_40 | PLAYER_STATE1_80 | PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000))) { this->timer--; if (this->timer < 0) { this->actor.velocity.y += this->actor.gravity; diff --git a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c index de2469c5a1..fc9d7606fe 100644 --- a/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c +++ b/src/overlays/actors/ovl_En_Nwc/z_en_nwc.c @@ -147,7 +147,7 @@ s32 EnNwc_PlayerReleasedBremanMarch(EnNwc* this, PlayState* play) { return false; } - if (player->stateFlags3 & 0x20000000) { // breman mask march + if (player->stateFlags3 & PLAYER_STATE3_20000000) { return false; } @@ -165,8 +165,7 @@ s32 EnNwc_IsFound(EnNwc* this, PlayState* play) { return false; } - if (player->stateFlags3 & 0x20000000 && // breman mask march - this->actor.xzDistToPlayer < 100.0f) { + if ((player->stateFlags3 & PLAYER_STATE3_20000000) && this->actor.xzDistToPlayer < 100.0f) { return true; } diff --git a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c index 167c01a310..80ae68e95d 100644 --- a/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c +++ b/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c @@ -306,7 +306,7 @@ void EnOssan_EndInteraction(PlayState* play, EnOssan* this) { this->drawCursor = 0; this->stickLeftPrompt.isEnabled = false; this->stickRightPrompt.isEnabled = false; - player->stateFlags2 &= ~0x20000000; + player->stateFlags2 &= ~PLAYER_STATE2_20000000; play->interfaceCtx.unk_222 = 0; play->interfaceCtx.unk_224 = 0; if (this->cutsceneState == ENOSSAN_CUTSCENESTATE_PLAYING) { @@ -366,7 +366,7 @@ void EnOssan_Idle(EnOssan* this, PlayState* play) { SubS_FillLimbRotTables(play, this->limbRotTableY, this->limbRotTableZ, ARRAY_COUNT(this->limbRotTableY)); if (Actor_ProcessTalkRequest(&this->actor, &play->state)) { - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; EnOssan_SetupAction(this, EnOssan_BeginInteraction); if (this->cutsceneState == ENOSSAN_CUTSCENESTATE_STOPPED) { if (ActorCutscene_GetCurrentIndex() == 0x7C) { @@ -984,7 +984,7 @@ void EnOssan_SetupBuyItemWithFanfare(PlayState* play, EnOssan* this) { Actor_PickUp(&this->actor, play, this->items[this->cursorIndex]->getItemId, 300.0f, 300.0f); play->msgCtx.msgMode = 0x43; play->msgCtx.stateTimer = 4; - player->stateFlags2 &= ~0x20000000; + player->stateFlags2 &= ~PLAYER_STATE2_20000000; Interface_SetHudVisibility(HUD_VISIBILITY_ALL); this->drawCursor = 0; EnOssan_SetupAction(this, EnOssan_BuyItemWithFanfare); @@ -1129,7 +1129,7 @@ void EnOssan_ContinueShopping(EnOssan* this, PlayState* play) { case 0: func_8019F208(); player->actor.shape.rot.y = BINANG_ROT180(player->actor.shape.rot.y); - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; Message_StartTextbox(play, this->textId, &this->actor); EnOssan_SetupStartShopping(play, this, true); func_800B85E0(&this->actor, play, 100.0f, PLAYER_AP_MINUS1); @@ -1147,7 +1147,7 @@ void EnOssan_ContinueShopping(EnOssan* this, PlayState* play) { item = this->items[this->cursorIndex]; item->restockFunc(play, item); player->actor.shape.rot.y = BINANG_ROT180(player->actor.shape.rot.y); - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; Message_StartTextbox(play, this->textId, &this->actor); EnOssan_SetupStartShopping(play, this, true); func_800B85E0(&this->actor, play, 100.0f, PLAYER_AP_MINUS1); @@ -1160,7 +1160,7 @@ void EnOssan_ItemPurchased(EnOssan* this, PlayState* play) { if (this->cutsceneState == ENOSSAN_CUTSCENESTATE_STOPPED) { if (ActorCutscene_GetCanPlayNext(this->cutscene)) { ActorCutscene_StartAndSetFlag(this->cutscene, &this->actor); - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; EnOssan_SetupAction(this, EnOssan_ContinueShopping); this->cutsceneState = ENOSSAN_CUTSCENESTATE_PLAYING; } else { diff --git a/src/overlays/actors/ovl_En_Ot/z_en_ot.c b/src/overlays/actors/ovl_En_Ot/z_en_ot.c index e86d0c62f9..ba2a283de7 100644 --- a/src/overlays/actors/ovl_En_Ot/z_en_ot.c +++ b/src/overlays/actors/ovl_En_Ot/z_en_ot.c @@ -629,7 +629,7 @@ void func_80B5CCA0(EnOt* this, PlayState* play) { if (SubS_StartActorCutscene(&this->actor, this->cutscenes[0], 0x7C, SUBS_CUTSCENE_NORMAL)) { Player* player = GET_PLAYER(play); - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; func_80B5CCF4(this, play); } } @@ -666,7 +666,7 @@ void func_80B5CD40(EnOt* this, PlayState* play) { if (Message_ShouldAdvance(play) && (play->msgCtx.currentTextId == 0x1069)) { this->unk_32C |= 4; ActorCutscene_Stop(this->cutscenes[0]); - player->stateFlags2 &= ~0x20000000; + player->stateFlags2 &= ~PLAYER_STATE2_20000000; func_80B5CE6C(this, play); } break; diff --git a/src/overlays/actors/ovl_En_Owl/z_en_owl.c b/src/overlays/actors/ovl_En_Owl/z_en_owl.c index f4baec9e6a..528fd50c22 100644 --- a/src/overlays/actors/ovl_En_Owl/z_en_owl.c +++ b/src/overlays/actors/ovl_En_Owl/z_en_owl.c @@ -478,7 +478,7 @@ void func_8095B3DC(EnOwl* this, PlayState* play) { void func_8095B480(EnOwl* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (player->stateFlags3 & 0x10000000) { + if (player->stateFlags3 & PLAYER_STATE3_10000000) { this->actor.textId = 0xBF1; EnOwl_ChangeMode(this, func_8095BF58, func_8095C484, &this->skelAnime2, &object_owl_Anim_00CDB0, 0.0f); this->eyeTexIndex = 0; @@ -1066,7 +1066,7 @@ void func_8095CCF4(Actor* thisx, PlayState* play) { EnOwl* this = THIS; Player* player = GET_PLAYER(play); - if (player->stateFlags3 & 0x10000000) { + if (player->stateFlags3 & PLAYER_STATE3_10000000) { Actor_Kill(&this->actor); return; } diff --git a/src/overlays/actors/ovl_En_Pm/z_en_pm.c b/src/overlays/actors/ovl_En_Pm/z_en_pm.c index 7c17627a03..fd37fc39db 100644 --- a/src/overlays/actors/ovl_En_Pm/z_en_pm.c +++ b/src/overlays/actors/ovl_En_Pm/z_en_pm.c @@ -1170,7 +1170,7 @@ s32 func_80AF8DD4(EnPm* this, PlayState* play) { u16 textId = play->msgCtx.currentTextId; s32 pad; - if (player->stateFlags1 & (0x400 | 0x40)) { + if (player->stateFlags1 & (PLAYER_STATE1_40 | PLAYER_STATE1_400)) { this->unk_356 |= 0x400; if (this->unk_358 != textId) { if ((this->unk_384 == 0) || (this->unk_384 == 1)) { diff --git a/src/overlays/actors/ovl_En_Pr/z_en_pr.c b/src/overlays/actors/ovl_En_Pr/z_en_pr.c index a40c160730..322749f0da 100644 --- a/src/overlays/actors/ovl_En_Pr/z_en_pr.c +++ b/src/overlays/actors/ovl_En_Pr/z_en_pr.c @@ -262,7 +262,7 @@ void func_80A32740(EnPr* this, PlayState* play) { if (this->unk_2C8 < sqrtf(SQ(this->actor.world.pos.x - this->actor.home.pos.x) + SQ(this->actor.world.pos.z - this->actor.home.pos.z))) { func_80A32854(this); - } else if ((this->unk_20E == 0) && (player->stateFlags1 & 0x8000000)) { + } else if ((this->unk_20E == 0) && (player->stateFlags1 & PLAYER_STATE1_8000000)) { if (sqrtf(SQ(player->actor.world.pos.x - this->actor.home.pos.x) + SQ(player->actor.world.pos.z - this->actor.home.pos.z)) < this->unk_2C8) { func_80A32AF8(this); @@ -298,7 +298,7 @@ void func_80A3295C(EnPr* this) { void func_80A32984(EnPr* this, PlayState* play) { Player* player = GET_PLAYER(play); - if ((player->stateFlags1 & 0x8000000) && (this->unk_20E == 0)) { + if ((player->stateFlags1 & PLAYER_STATE1_8000000) && (this->unk_20E == 0)) { this->unk_22C = this->actor.world.rot.y; func_80A32AF8(this); } else if (!func_80A325E4(this)) { @@ -348,7 +348,7 @@ void func_80A32B20(EnPr* this, PlayState* play) { this->unk_2B8 = D_80A338C0[(void)0, gSaveContext.save.playerForm] + player->actor.world.pos.y; func_80A324E0(this, play); - if (!(player->stateFlags1 & 0x8000000)) { + if (!(player->stateFlags1 & PLAYER_STATE1_8000000)) { this->skelAnime.playSpeed = 1.0f; this->actor.speedXZ = 1.0f; func_80A32854(this); @@ -375,7 +375,7 @@ void func_80A32CDC(EnPr* this) { void func_80A32D28(EnPr* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (!(player->stateFlags1 & 0x8000000)) { + if (!(player->stateFlags1 & PLAYER_STATE1_8000000)) { this->skelAnime.playSpeed = 1.0f; this->actor.speedXZ = 1.0f; func_80A32854(this); @@ -463,7 +463,7 @@ void func_80A33098(EnPr* this, PlayState* play) { this->actor.focus.pos.z, 0, 0, 0, CLEAR_TAG_LARGE_LIGHT_RAYS); } - if ((player->stateFlags1 & 0x8000000) && (this->actor.colChkInfo.damageEffect == 5)) { + if ((player->stateFlags1 & PLAYER_STATE1_8000000) && (this->actor.colChkInfo.damageEffect == 5)) { this->drawDmgEffAlpha = 40; this->drawDmgEffType = ACTOR_DRAW_DMGEFF_ELECTRIC_SPARKS_MEDIUM; } diff --git a/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c b/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c index ed04ae0f6d..c8faf718d8 100644 --- a/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c +++ b/src/overlays/actors/ovl_En_Pr2/z_en_pr2.c @@ -206,7 +206,7 @@ s32 func_80A7429C(EnPr2* this, PlayState* play) { return false; } - if (!(player->stateFlags1 & 0x8000000)) { + if (!(player->stateFlags1 & PLAYER_STATE1_8000000)) { return false; } else { return true; @@ -356,7 +356,7 @@ void func_80A748E8(EnPr2* this, PlayState* play) { temp_f12 = player->actor.world.pos.z - this->unk_228.z; sqrtXZ = sqrtf(SQ(temp_f2) + SQ(temp_f12)); - if (sp48 && (player->stateFlags1 & 0x8000000) && (sqrtXZ < this->unk_208)) { + if (sp48 && (player->stateFlags1 & PLAYER_STATE1_8000000) && (sqrtXZ < this->unk_208)) { sp4C = true; func_80A74DEC(this, play); } @@ -446,7 +446,7 @@ void func_80A74E90(EnPr2* this, PlayState* play) { WaterBox* sp40; Math_ApproachF(&this->unk_204, 0.02f, 0.1f, 0.005f); - if ((this->unk_1D8 == 0) || !(player->stateFlags1 & 0x8000000) || (this->unk_1E0 == 0)) { + if ((this->unk_1D8 == 0) || !(player->stateFlags1 & PLAYER_STATE1_8000000) || (this->unk_1E0 == 0)) { func_80A74888(this); return; } diff --git a/src/overlays/actors/ovl_En_Prz/z_en_prz.c b/src/overlays/actors/ovl_En_Prz/z_en_prz.c index fd1dee9861..5ca54fc8dd 100644 --- a/src/overlays/actors/ovl_En_Prz/z_en_prz.c +++ b/src/overlays/actors/ovl_En_Prz/z_en_prz.c @@ -234,7 +234,7 @@ void func_80A763E8(EnPrz* this, PlayState* play) { return; } - if ((player->stateFlags1 & 0x8000000) && (this->unk_1F2 == 0)) { + if ((player->stateFlags1 & PLAYER_STATE1_8000000) && (this->unk_1F2 == 0)) { func_80A76748(this); return; } @@ -291,7 +291,7 @@ void func_80A76634(EnPrz* this, PlayState* play) { if (func_80A762C0(this, play) != 0) { this->unk_1E4 += 0x1500; this->unk_1E4 += (s16)Rand_ZeroFloat(5000.0f); - } else if ((player->stateFlags1 & 0x8000000) && (player->actor.floorHeight < 30.0f)) { + } else if ((player->stateFlags1 & PLAYER_STATE1_8000000) && (player->actor.floorHeight < 30.0f)) { this->actionFunc = func_80A763E8; } else { this->unk_1EE = 10; @@ -325,7 +325,7 @@ void func_80A767A8(EnPrz* this, PlayState* play) { distXZ = sqrtf(SQ(player->actor.world.pos.x - this->actor.parent->home.pos.x) + SQ(player->actor.world.pos.z - this->actor.parent->home.pos.z)); - if (!(player->stateFlags1 & 0x8000000) || (pr->unk_2C8 < distXZ)) { + if (!(player->stateFlags1 & PLAYER_STATE1_8000000) || (pr->unk_2C8 < distXZ)) { this->unk_1F2 = 100; this->skelAnime.playSpeed = 1.0f; func_80A76388(this); diff --git a/src/overlays/actors/ovl_En_Raf/z_en_raf.c b/src/overlays/actors/ovl_En_Raf/z_en_raf.c index 5d7a59e908..0e7b887180 100644 --- a/src/overlays/actors/ovl_En_Raf/z_en_raf.c +++ b/src/overlays/actors/ovl_En_Raf/z_en_raf.c @@ -310,7 +310,7 @@ void EnRaf_Idle(EnRaf* this, PlayState* play) { if (this->timer == 0) { if ((player->transformation != PLAYER_FORM_DEKU) && (this->dyna.actor.xzDistToPlayer < (BREG(48) + 80.0f) && (player->invincibilityTimer == 0) && - DynaPolyActor_IsInRidingMovingState(&this->dyna) && !(player->stateFlags1 & 0x8000000) && + DynaPolyActor_IsInRidingMovingState(&this->dyna) && !(player->stateFlags1 & PLAYER_STATE1_8000000) && play->grabPlayer(play, player))) { player->actor.parent = &this->dyna.actor; this->grabTarget = EN_RAF_GRAB_TARGET_PLAYER; @@ -372,7 +372,7 @@ void EnRaf_Grab(EnRaf* this, PlayState* play) { Player* player = GET_PLAYER(play); f32 curFrame = this->skelAnime.curFrame; - if ((this->grabTarget != EN_RAF_GRAB_TARGET_EXPLOSIVE) && (player->stateFlags2 & 0x80) && + if ((this->grabTarget != EN_RAF_GRAB_TARGET_EXPLOSIVE) && (player->stateFlags2 & PLAYER_STATE2_80) && (&this->dyna.actor == player->actor.parent)) { Math_ApproachF(&player->actor.world.pos.x, this->dyna.actor.world.pos.x, 0.3f, 10.0f); Math_ApproachF(&player->actor.world.pos.y, this->dyna.actor.world.pos.y, 0.3f, 10.0f); @@ -414,7 +414,7 @@ void EnRaf_Chew(EnRaf* this, PlayState* play) { targetChewScale = (BREG(51) / 100.0f) + 0.2f; Math_ApproachF(&this->chewScale, targetChewScale, 0.2f, 0.03f); - if ((player->stateFlags2 & 0x80) && (this->grabTarget != EN_RAF_GRAB_TARGET_EXPLOSIVE) && + if ((player->stateFlags2 & PLAYER_STATE2_80) && (this->grabTarget != EN_RAF_GRAB_TARGET_EXPLOSIVE) && (&this->dyna.actor == player->actor.parent)) { Math_ApproachF(&player->actor.world.pos.x, this->dyna.actor.world.pos.x, 0.3f, 10.0f); Math_ApproachF(&player->actor.world.pos.y, this->dyna.actor.world.pos.y, 0.3f, 10.0f); @@ -432,7 +432,7 @@ void EnRaf_Chew(EnRaf* this, PlayState* play) { play->damagePlayer(play, -2); func_800B8E58((Player*)this, player->ageProperties->unk_92 + NA_SE_VO_LI_DAMAGE_S); CollisionCheck_GreenBlood(play, NULL, &player->actor.world.pos); - if ((this->chewCount > (BREG(53) + 5)) || !(player->stateFlags2 & 0x80)) { + if ((this->chewCount > (BREG(53) + 5)) || !(player->stateFlags2 & PLAYER_STATE2_80)) { player->actor.freezeTimer = 10; EnRaf_SetupThrow(this, play); return; diff --git a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c index 443d92d598..d046d51929 100644 --- a/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c +++ b/src/overlays/actors/ovl_En_Railgibud/z_en_railgibud.c @@ -438,7 +438,7 @@ void EnRailgibud_Grab(EnRailgibud* this, PlayState* play) { if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame) && (inPositionToAttack == true)) { this->grabState = EN_RAILGIBUD_GRAB_ATTACK; Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, EN_RAILGIBUD_ANIM_GRAB_ATTACK); - } else if (!(player->stateFlags2 & 0x80)) { + } else if (!(player->stateFlags2 & PLAYER_STATE2_80)) { Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, EN_RAILGIBUD_ANIM_GRAB_END); this->actor.flags |= ACTOR_FLAG_1; this->grabState = EN_RAILGIBUD_GRAB_RELEASE; @@ -463,9 +463,9 @@ void EnRailgibud_Grab(EnRailgibud* this, PlayState* play) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_REDEAD_ATTACK); } - if (!(player->stateFlags2 & 0x80) || (player->unk_B62 != 0)) { - if ((player->unk_B62 != 0) && (player->stateFlags2 & 0x80)) { - player->stateFlags2 &= ~0x80; + if (!(player->stateFlags2 & PLAYER_STATE2_80) || (player->unk_B62 != 0)) { + if ((player->unk_B62 != 0) && (player->stateFlags2 & PLAYER_STATE2_80)) { + player->stateFlags2 &= ~PLAYER_STATE2_80; player->unk_AE8 = 100; } @@ -750,9 +750,10 @@ s32 EnRailgibud_PlayerInRangeWithCorrectState(EnRailgibud* this, PlayState* play return false; } - if ((Actor_DistanceToPoint(&player->actor, &this->actor.home.pos) < 100.0f) && - !(player->stateFlags1 & (0x200000 | 0x80000 | 0x40000 | 0x4000 | 0x2000 | 0x80)) && - !(player->stateFlags2 & (0x4000 | 0x80))) { + if (Actor_DistanceToPoint(&player->actor, &this->actor.home.pos) < 100.0f && + !(player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | + PLAYER_STATE1_80000 | PLAYER_STATE1_200000)) && + !(player->stateFlags2 & (PLAYER_STATE2_80 | PLAYER_STATE2_4000))) { return true; } diff --git a/src/overlays/actors/ovl_En_Rd/z_en_rd.c b/src/overlays/actors/ovl_En_Rd/z_en_rd.c index 2fdfc650d5..e334051381 100644 --- a/src/overlays/actors/ovl_En_Rd/z_en_rd.c +++ b/src/overlays/actors/ovl_En_Rd/z_en_rd.c @@ -654,8 +654,9 @@ void EnRd_WalkToPlayer(EnRd* this, PlayState* play) { } if ((ABS_ALT(yaw) < 0x1554) && (Actor_DistanceBetweenActors(&this->actor, &player->actor) <= 150.0f)) { - if (!(player->stateFlags1 & (0x200000 | 0x80000 | 0x40000 | 0x4000 | 0x2000 | 0x80)) && - !(player->stateFlags2 & (0x4000 | 0x80))) { + if (!(player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | + PLAYER_STATE1_80000 | PLAYER_STATE1_200000)) && + !(player->stateFlags2 & (PLAYER_STATE2_80 | PLAYER_STATE2_4000))) { if (this->playerStunWaitTimer == 0) { if (!(this->flags & EN_RD_FLAG_CANNOT_FREEZE_PLAYER)) { player->actor.freezeTimer = 40; @@ -838,9 +839,9 @@ void EnRd_Grab(EnRd* this, PlayState* play) { Math_SmoothStepToS(&this->upperBodyYRotation, 0, 1, 1500, 0); case EN_RD_GRAB_ATTACK: - if (!(player->stateFlags2 & 0x80) || (player->unk_B62 != 0)) { - if ((player->unk_B62 != 0) && (player->stateFlags2 & 0x80)) { - player->stateFlags2 &= ~0x80; + if (!(player->stateFlags2 & PLAYER_STATE2_80) || (player->unk_B62 != 0)) { + if ((player->unk_B62 != 0) && (player->stateFlags2 & PLAYER_STATE2_80)) { + player->stateFlags2 &= ~PLAYER_STATE2_80; player->unk_AE8 = 100; } Animation_Change(&this->skelAnime, &gGibdoRedeadGrabEndAnim, 0.5f, 0.0f, diff --git a/src/overlays/actors/ovl_En_Rg/z_en_rg.c b/src/overlays/actors/ovl_En_Rg/z_en_rg.c index a2f2f044cb..18f23576fc 100644 --- a/src/overlays/actors/ovl_En_Rg/z_en_rg.c +++ b/src/overlays/actors/ovl_En_Rg/z_en_rg.c @@ -564,8 +564,9 @@ void func_80BF4AB8(EnRg* this, PlayState* play) { } while (phi_s0 != NULL); } - if ((phi_s0 == NULL) && (D_80BF5C10 == 0) && (this->unk_326 == 0) && (player->stateFlags3 & 0x80000) && - (player->invincibilityTimer == 0) && func_80BF4220(this, play, &player->actor)) { + if ((phi_s0 == NULL) && (D_80BF5C10 == 0) && (this->unk_326 == 0) && + (player->stateFlags3 & PLAYER_STATE3_80000) && (player->invincibilityTimer == 0) && + func_80BF4220(this, play, &player->actor)) { this->unk_18C = &player->actor; this->unk_310 |= 0x800; D_80BF5C10 = 1; @@ -586,7 +587,7 @@ void func_80BF4AB8(EnRg* this, PlayState* play) { this->unk_320 = CLAMP_MAX(this->unk_320, 0x190); } else if (this->collider2.base.at->id == ACTOR_PLAYER) { this->unk_326 = 0x28; - if (player->stateFlags3 & 0x1000) { + if (player->stateFlags3 & PLAYER_STATE3_1000) { player->linearVelocity *= 0.5f; player->unk_B08[0] = player->linearVelocity; player->unk_B08[1] += player->linearVelocity * 0.05f; diff --git a/src/overlays/actors/ovl_En_Rr/z_en_rr.c b/src/overlays/actors/ovl_En_Rr/z_en_rr.c index 9d9f149737..e67be51f66 100644 --- a/src/overlays/actors/ovl_En_Rr/z_en_rr.c +++ b/src/overlays/actors/ovl_En_Rr/z_en_rr.c @@ -296,7 +296,7 @@ void func_808FA4F4(EnRr* this, PlayState* play) { f32 sp30; f32 sp2C; - if (player->stateFlags2 & 0x80) { + if (player->stateFlags2 & PLAYER_STATE2_80) { player->actor.parent = NULL; player->unk_AE8 = 100; this->actor.flags |= ACTOR_FLAG_1; @@ -571,7 +571,8 @@ void func_808FAF94(EnRr* this, PlayState* play) { Math_SmoothStepToS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 10, 500, 0); this->actor.world.rot.y = this->actor.shape.rot.y; - if ((this->unk_1E6 == 0) && !(player->stateFlags2 & 0x80) && (Player_GetMask(play) != PLAYER_MASK_STONE) && + if ((this->unk_1E6 == 0) && !(player->stateFlags2 & PLAYER_STATE2_80) && + (Player_GetMask(play) != PLAYER_MASK_STONE) && (this->actor.xzDistToPlayer < (8421.053f * this->actor.scale.x))) { func_808FA260(this); } else if ((this->actor.xzDistToPlayer < 400.0f) && (this->actor.speedXZ == 0.0f)) { @@ -812,7 +813,7 @@ void EnRr_Update(Actor* thisx, PlayState* play) { if (this->unk_1FC > 0) { Player* player = GET_PLAYER(play); - if (!(player->stateFlags2 & 0x80)) { + if (!(player->stateFlags2 & PLAYER_STATE2_80)) { this->unk_1FC--; if (this->unk_1FC == 0) { this->collider1.base.ocFlags1 |= OC1_TYPE_PLAYER; diff --git a/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.c b/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.c index 63d5aed38f..bfeca23c5f 100644 --- a/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.c +++ b/src/overlays/actors/ovl_En_Ruppecrow/z_en_ruppecrow.c @@ -240,7 +240,7 @@ s32 EnRuppecrow_CanSpawnBlueRupees(PlayState* play) { case PLAYER_FORM_ZORA: return false; case PLAYER_FORM_HUMAN: - if (player->stateFlags1 & 0x800000) { + if (player->stateFlags1 & PLAYER_STATE1_800000) { return true; } else { return false; @@ -268,7 +268,7 @@ void EnRuppecrow_SpawnRupee(EnRuppecrow* this, PlayState* play) { EnItem00* rupee; s16 rupeeIndex = this->rupeeIndex; - if (!(player->stateFlags3 & 0x1000)) { + if (!(player->stateFlags3 & PLAYER_STATE3_1000)) { xOffset = (this->rupeeIndex & 1) ? 10.0f : -10.0f; } else { xOffset = 0.0f; @@ -407,7 +407,7 @@ void EnRuppecrow_UpdateSpeed(EnRuppecrow* this, PlayState* play) { this->speedModifier = 7.0f; break; case PLAYER_FORM_GORON: - if (player->stateFlags3 & 0x1000) { // Goron Link is curled + if (player->stateFlags3 & PLAYER_STATE3_1000) { // Goron Link is curled this->speedModifier = 19.0f; } else { this->speedModifier = 7.0f; @@ -417,7 +417,7 @@ void EnRuppecrow_UpdateSpeed(EnRuppecrow* this, PlayState* play) { this->speedModifier = 7.0f; break; case PLAYER_FORM_HUMAN: - if (player->stateFlags1 & 0x800000) { + if (player->stateFlags1 & PLAYER_STATE1_800000) { this->speedModifier = 16.0f; } else { this->speedModifier = 7.0f; @@ -507,7 +507,7 @@ void EnRuppecrow_HandleSong(EnRuppecrow* this, PlayState* play) { this->actionFunc = EnRuppecrow_HandleSongCutscene; } - if (player->stateFlags2 & 0x8000000) { + if (player->stateFlags2 & PLAYER_STATE2_8000000) { Math_ApproachF(&this->actor.speedXZ, 0.0f, 0.1f, 1.0f); } else { Math_ApproachF(&this->actor.speedXZ, 6.0f, 0.1f, 0.1f); diff --git a/src/overlays/actors/ovl_En_Sb/z_en_sb.c b/src/overlays/actors/ovl_En_Sb/z_en_sb.c index 5391d650b0..e896007443 100644 --- a/src/overlays/actors/ovl_En_Sb/z_en_sb.c +++ b/src/overlays/actors/ovl_En_Sb/z_en_sb.c @@ -377,7 +377,7 @@ void EnSb_Update(Actor* thisx, PlayState* play) { this->actionFunc(this, play); Actor_UpdateBgCheckInfo(play, &this->actor, 20.0f, 25.0f, 20.0f, 5); EnSb_UpdateDamage(this, play); - if (player->stateFlags1 & 0x8000000) { + if (player->stateFlags1 & PLAYER_STATE1_8000000) { Collider_UpdateCylinder(&this->actor, &this->collider); if (this->vulnerableTimer == 0) { CollisionCheck_SetAT(play, &play->colChkCtx, &this->collider.base); diff --git a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c index 4d3c4d6372..2de4c88fb3 100644 --- a/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c +++ b/src/overlays/actors/ovl_En_Sellnuts/z_en_sellnuts.c @@ -704,10 +704,10 @@ void func_80ADC5A4(EnSellnuts* this, PlayState* play) { this->unk_338 |= 1; this->actor.draw = EnSellnuts_Draw; D_80ADD940 = 0; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; this->actionFunc = func_80ADC7B4; } else { - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; this->actionFunc = func_80ADC6D0; } } else if (func_80ADB08C(play) < 80.0f) { diff --git a/src/overlays/actors/ovl_En_Shn/z_en_shn.c b/src/overlays/actors/ovl_En_Shn/z_en_shn.c index 93b75e96b2..844d659734 100644 --- a/src/overlays/actors/ovl_En_Shn/z_en_shn.c +++ b/src/overlays/actors/ovl_En_Shn/z_en_shn.c @@ -201,7 +201,7 @@ s32 func_80AE65F4(EnShn* this, PlayState* play) { Player* player = GET_PLAYER(play); u16 temp = play->msgCtx.currentTextId; - if (player->stateFlags1 & 0x40) { + if (player->stateFlags1 & PLAYER_STATE1_40) { if (this->unk_1DA != temp) { if ((this->unk_1D8 & 0x80) || (this->unk_1D8 & 0x100)) { this->unk_1D8 |= 8; diff --git a/src/overlays/actors/ovl_En_Snowman/z_en_snowman.c b/src/overlays/actors/ovl_En_Snowman/z_en_snowman.c index 30352048b0..7476e0681f 100644 --- a/src/overlays/actors/ovl_En_Snowman/z_en_snowman.c +++ b/src/overlays/actors/ovl_En_Snowman/z_en_snowman.c @@ -395,7 +395,7 @@ void EnSnowman_MoveSnowPile(EnSnowman* this, PlayState* play) { EnSnowman_SetupCombine(this, play, &combinePos); } else if ((this->work.timer == 0) && (fabsf(this->actor.playerHeightRel) < 60.0f) && (this->actor.xzDistToPlayer < this->attackRange) && (Player_GetMask(play) != PLAYER_MASK_STONE) && - !(player->stateFlags1 & 0x800000)) { + !(player->stateFlags1 & PLAYER_STATE1_800000)) { EnSnowman_SetupEmerge(this, play); } else if (this->snowPileTargetRotY != this->actor.shape.rot.y) { if (Math_ScaledStepToS(&this->actor.shape.rot.y, this->snowPileTargetRotY, 0x100)) { @@ -439,7 +439,7 @@ void EnSnowman_Emerge(EnSnowman* this, PlayState* play) { if (SkelAnime_Update(&this->skelAnime)) { if (this->combineState == EN_SNOWMAN_COMBINE_STATE_ACTIVE) { EnSnowman_SetupSubmerge(this, play); - } else if (!(player->stateFlags1 & 0x800000) && (Player_GetMask(play) != PLAYER_MASK_STONE)) { + } else if (!(player->stateFlags1 & PLAYER_STATE1_800000) && (Player_GetMask(play) != PLAYER_MASK_STONE)) { this->collider.base.acFlags |= AC_ON; this->work.snowballsToThrowBeforeIdling = 3; EnSnowman_SetupReadySnowball(this); @@ -529,7 +529,7 @@ void EnSnowman_ThrowSnowball(EnSnowman* this, PlayState* play) { Math_ApproachS(&this->actor.shape.rot.y, this->actor.yawTowardsPlayer, 0xA, 0x1000); if (SkelAnime_Update(&this->skelAnime)) { if ((this->work.snowballsToThrowBeforeIdling != 0) && (Player_GetMask(play) != PLAYER_MASK_STONE) && - !(player->stateFlags1 & 0x800000)) { + !(player->stateFlags1 & PLAYER_STATE1_800000)) { EnSnowman_SetupReadySnowball(this); } else { this->work.snowballsToThrowBeforeIdling = 0; diff --git a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c index b7ea5d1942..58465b8f05 100644 --- a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c +++ b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c @@ -446,7 +446,7 @@ void EnSob1_EndInteraction(PlayState* play, EnSob1* this) { this->drawCursor = 0; this->stickLeftPrompt.isEnabled = false; this->stickRightPrompt.isEnabled = false; - player->stateFlags2 &= ~0x20000000; + player->stateFlags2 &= ~PLAYER_STATE2_20000000; play->interfaceCtx.unk_222 = 0; play->interfaceCtx.unk_224 = 0; EnSob1_SetupAction(this, EnSob1_Idle); @@ -533,7 +533,7 @@ void EnSob1_Idle(EnSob1* this, PlayState* play) { ActorCutscene_SetIntentToPlay(this->cutscene); this->cutsceneState = ENSOB1_CUTSCENESTATE_WAITING; } - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; this->welcomeTextId = EnSob1_GetWelcome(this, play); Message_StartTextbox(play, this->welcomeTextId, &this->actor); if (ENSOB1_GET_SHOPTYPE(&this->actor) == BOMB_SHOP) { @@ -790,7 +790,7 @@ void EnSob1_Walking(EnSob1* this, PlayState* play) { ActorCutscene_SetIntentToPlay(this->cutscene); this->cutsceneState = ENSOB1_CUTSCENESTATE_WAITING; } - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; this->welcomeTextId = EnSob1_GetWelcome(this, play); Message_StartTextbox(play, this->welcomeTextId, &this->actor); this->wasTalkedToWhileWalking = true; @@ -810,7 +810,7 @@ void EnSob1_ItemPurchased(EnSob1* this, PlayState* play) { if (this->cutsceneState == ENSOB1_CUTSCENESTATE_STOPPED) { if (ActorCutscene_GetCanPlayNext(this->cutscene)) { ActorCutscene_StartAndSetFlag(this->cutscene, &this->actor); - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; EnSob1_SetupAction(this, EnSob1_ContinueShopping); this->cutsceneState = ENSOB1_CUTSCENESTATE_PLAYING; } else { @@ -932,7 +932,7 @@ void EnSob1_SetupBuyItemWithFanfare(PlayState* play, EnSob1* this) { Actor_PickUp(&this->actor, play, this->items[this->cursorIndex]->getItemId, 300.0f, 300.0f); play->msgCtx.msgMode = 0x43; play->msgCtx.stateTimer = 4; - player->stateFlags2 &= ~0x20000000; + player->stateFlags2 &= ~PLAYER_STATE2_20000000; Interface_SetHudVisibility(HUD_VISIBILITY_ALL); this->drawCursor = 0; EnSob1_SetupAction(this, EnSob1_BuyItemWithFanfare); @@ -1093,7 +1093,7 @@ void EnSob1_ContinueShopping(EnSob1* this, PlayState* play) { item = this->items[this->cursorIndex]; item->restockFunc(play, item); player->actor.shape.rot.y += 0x8000; - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; Message_StartTextbox(play, this->welcomeTextId, &this->actor); EnSob1_SetupStartShopping(play, this, true); func_800B85E0(&this->actor, play, 200.0f, PLAYER_AP_MINUS1); diff --git a/src/overlays/actors/ovl_En_Stream/z_en_stream.c b/src/overlays/actors/ovl_En_Stream/z_en_stream.c index 782f32c0d4..76a98f9ac3 100644 --- a/src/overlays/actors/ovl_En_Stream/z_en_stream.c +++ b/src/overlays/actors/ovl_En_Stream/z_en_stream.c @@ -104,7 +104,7 @@ void EnStream_SuckPlayer(EnStream* this, PlayState* play) { if (yDistWithOffset > 0.0f) { Math_SmoothStepToF(&player->actor.velocity.y, -3.0f, 0.7f, yDistWithOffset, 0.0f); if (posDifference.y < -70.0f) { - player->stateFlags2 |= 0x80000000; + player->stateFlags2 |= PLAYER_STATE2_80000000; } } } else { diff --git a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c index 9f24c27351..51b3f0ef61 100644 --- a/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c +++ b/src/overlays/actors/ovl_En_Suttari/z_en_suttari.c @@ -861,9 +861,9 @@ void func_80BAC2FC(EnSuttari* this, PlayState* play) { if (!(gSaveContext.save.weekEventReg[83] & 4) && !(this->flags1 & 0x1000)) { if (ActorCutscene_GetCanPlayNext(this->cutscenes[0])) { ActorCutscene_Start(this->cutscenes[0], &this->actor); - if (!(player->stateFlags1 & 0x10000000)) { + if (!(player->stateFlags1 & PLAYER_STATE1_10000000)) { this->flags2 |= 0x10; - player->stateFlags1 |= 0x10000000; + player->stateFlags1 |= PLAYER_STATE1_10000000; } this->flags1 |= 0x1000; this->flags2 |= 2; @@ -926,9 +926,9 @@ void func_80BAC2FC(EnSuttari* this, PlayState* play) { if (this->flags2 & 2) { this->flags2 &= ~2; } - if (!(player->stateFlags1 & 0x10000000)) { + if (!(player->stateFlags1 & PLAYER_STATE1_10000000)) { this->flags2 |= 0x10; - player->stateFlags1 |= 0x10000000; + player->stateFlags1 |= PLAYER_STATE1_10000000; } this->textId = 0x2A30; Message_StartTextbox(play, this->textId, &this->actor); @@ -1201,7 +1201,7 @@ void func_80BAD380(EnSuttari* this, PlayState* play) { u8 talkState = Message_GetState(&play->msgCtx); Player* player = GET_PLAYER(play); - if ((player->stateFlags1 & 0x40) && (play->msgCtx.currentTextId != 0x2A31)) { + if ((player->stateFlags1 & PLAYER_STATE1_40) && (play->msgCtx.currentTextId != 0x2A31)) { this->flags1 |= 0x8000; this->actor.speedXZ = 0.0f; } else { @@ -1209,7 +1209,7 @@ void func_80BAD380(EnSuttari* this, PlayState* play) { func_80BABA90(this, 1, 1); if ((this->flags1 & 0x4000) && (talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { this->flags2 &= ~0x10; - player->stateFlags1 &= ~0x10000000; + player->stateFlags1 &= ~PLAYER_STATE1_10000000; this->flags1 &= ~0x4000; ActorCutscene_Stop(this->cutscenes[1]); play->msgCtx.msgMode = 0x43; @@ -1476,7 +1476,7 @@ void EnSuttari_Update(Actor* thisx, PlayState* play) { Player* player = GET_PLAYER(play); this->actionFunc(this, play); - if ((this->flags1 & 8) && (this->flags2 & 0x10) && (player->stateFlags1 & 0x10000000)) { + if ((this->flags1 & 8) && (this->flags2 & 0x10) && (player->stateFlags1 & PLAYER_STATE1_10000000)) { player->actor.freezeTimer = 3; } if (!(this->flags1 & 0x8000)) { diff --git a/src/overlays/actors/ovl_En_Sw/z_en_sw.c b/src/overlays/actors/ovl_En_Sw/z_en_sw.c index 24326e7e8c..c96b485d43 100644 --- a/src/overlays/actors/ovl_En_Sw/z_en_sw.c +++ b/src/overlays/actors/ovl_En_Sw/z_en_sw.c @@ -738,7 +738,7 @@ s32 func_808DA08C(EnSw* this, PlayState* play) { void func_808DA350(EnSw* this, PlayState* play) { Player* player = GET_PLAYER(play); - if ((player->stateFlags1 & 0x200000) && (this->actor.xyzDistToPlayerSq < 8000.0f)) { + if ((player->stateFlags1 & PLAYER_STATE1_200000) && (this->actor.xyzDistToPlayerSq < 8000.0f)) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_STALWALL_LAUGH); Math_Vec3f_Copy(&this->unk_374, &player->actor.world.pos); this->unk_410 &= ~0x20; diff --git a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c index 838eaa2a54..c22f6d478c 100644 --- a/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c +++ b/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c @@ -346,7 +346,7 @@ void EnSyatekiMan_Swamp_HandleChoice(EnSyatekiMan* this, PlayState* play) { play->msgCtx.msgMode = 0x43; play->msgCtx.stateTimer = 4; this->shootingGameState = SG_GAME_STATE_MOVING_PLAYER; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; this->actionFunc = EnSyatekiMan_Swamp_MovePlayerAndExplainRules; } } else { @@ -410,7 +410,7 @@ void EnSyatekiMan_Swamp_HandleNormalMessage(EnSyatekiMan* this, PlayState* play) case 0xA32: // You have to try harder! if (gSaveContext.save.weekEventReg[63] & 2) { func_801477B4(play); - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; gSaveContext.save.weekEventReg[63] &= (u8)~1; gSaveContext.save.weekEventReg[63] &= (u8)~2; this->actionFunc = EnSyatekiMan_Swamp_Idle; @@ -435,7 +435,7 @@ void EnSyatekiMan_Swamp_HandleNormalMessage(EnSyatekiMan* this, PlayState* play) play->msgCtx.stateTimer = 4; player->actor.freezeTimer = 0; gSaveContext.minigameState = 3; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; this->actionFunc = EnSyatekiMan_Swamp_SetupGiveReward; EnSyatekiMan_Swamp_SetupGiveReward(this, play); break; @@ -446,8 +446,8 @@ void EnSyatekiMan_Swamp_HandleNormalMessage(EnSyatekiMan* this, PlayState* play) void EnSyatekiMan_Swamp_Talk(EnSyatekiMan* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (player->stateFlags1 & 0x20) { - player->stateFlags1 |= 0x20; + if (player->stateFlags1 & PLAYER_STATE1_20) { + player->stateFlags1 |= PLAYER_STATE1_20; } switch (Message_GetState(&play->msgCtx)) { @@ -468,7 +468,7 @@ void EnSyatekiMan_Swamp_Talk(EnSyatekiMan* this, PlayState* play) { if (Message_ShouldAdvance(play)) { play->msgCtx.msgMode = 0x43; play->msgCtx.stateTimer = 4; - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; gSaveContext.save.weekEventReg[63] &= (u8)~1; gSaveContext.save.weekEventReg[63] &= (u8)~2; this->actionFunc = EnSyatekiMan_Swamp_Idle; @@ -640,7 +640,7 @@ void EnSyatekiMan_Town_HandleChoice(EnSyatekiMan* this, PlayState* play) { } if (this->shootingGameState == SG_GAME_STATE_ONE_MORE_GAME) { - player->stateFlags3 &= ~0x400; + player->stateFlags3 &= ~PLAYER_STATE3_400; gSaveContext.minigameState = 3; } @@ -676,7 +676,7 @@ void EnSyatekiMan_Town_HandleChoice(EnSyatekiMan* this, PlayState* play) { } if (this->shootingGameState == SG_GAME_STATE_ONE_MORE_GAME) { - player->stateFlags3 &= ~0x400; + player->stateFlags3 &= ~PLAYER_STATE3_400; gSaveContext.minigameState = 3; } @@ -746,7 +746,7 @@ void EnSyatekiMan_Town_HandleNormalMessage(EnSyatekiMan* this, PlayState* play) play->msgCtx.stateTimer = 4; player->actor.freezeTimer = 0; this->shootingGameState = SG_GAME_STATE_MOVING_PLAYER; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; gSaveContext.save.weekEventReg[63] |= 1; gSaveContext.save.weekEventReg[63] &= (u8)~2; this->actionFunc = EnSyatekiMan_Town_MovePlayerAndSayHighScore; @@ -819,8 +819,8 @@ void EnSyatekiMan_Town_HandleNormalMessage(EnSyatekiMan* this, PlayState* play) void EnSyatekiMan_Town_Talk(EnSyatekiMan* this, PlayState* play) { Player* player = GET_PLAYER(play); - if (player->stateFlags1 & 0x20) { - player->stateFlags1 |= 0x20; + if (player->stateFlags1 & PLAYER_STATE1_20) { + player->stateFlags1 |= PLAYER_STATE1_20; } switch (Message_GetState(&play->msgCtx)) { @@ -841,7 +841,7 @@ void EnSyatekiMan_Town_Talk(EnSyatekiMan* this, PlayState* play) { if (Message_ShouldAdvance(play)) { gSaveContext.save.weekEventReg[63] &= (u8)~1; gSaveContext.save.weekEventReg[63] &= (u8)~2; - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; this->actionFunc = EnSyatekiMan_Town_Idle; this->shootingGameState = SG_GAME_STATE_NONE; } @@ -902,7 +902,7 @@ void EnSyatekiMan_Swamp_GiveReward(EnSyatekiMan* this, PlayState* play) { this->prevTextId = 0xA37; } - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; this->actor.flags &= ~ACTOR_FLAG_10000; this->score = 0; this->shootingGameState = SG_GAME_STATE_NONE; @@ -955,7 +955,7 @@ void EnSyatekiMan_Town_GiveReward(EnSyatekiMan* this, PlayState* play) { if (CURRENT_DAY != 3) { if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) { - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; this->score = 0; this->shootingGameState = SG_GAME_STATE_NONE; gSaveContext.save.weekEventReg[63] &= (u8)~1; @@ -966,7 +966,7 @@ void EnSyatekiMan_Town_GiveReward(EnSyatekiMan* this, PlayState* play) { // This may be our last day in business... Message_StartTextbox(play, 0x408, &this->actor); this->prevTextId = 0x408; - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; this->actor.flags &= ~ACTOR_FLAG_10000; this->score = 0; this->shootingGameState = SG_GAME_STATE_NONE; @@ -980,7 +980,7 @@ void EnSyatekiMan_Swamp_MovePlayerAndExplainRules(EnSyatekiMan* this, PlayState* Player* player = GET_PLAYER(play); if (EnSyatekiMan_MovePlayerToPos(play, sSwampPlayerPos)) { - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; this->shootingGameState = SG_GAME_STATE_EXPLAINING_RULES; if (this->talkFlags != TALK_FLAG_SWAMP_HAS_EXPLAINED_THE_RULES) { this->talkFlags = TALK_FLAG_SWAMP_HAS_EXPLAINED_THE_RULES; @@ -1011,7 +1011,7 @@ void EnSyatekiMan_Swamp_StartGame(EnSyatekiMan* this, PlayState* play) { sGameStartTimer = 30; this->flagsIndex = 0; this->score = 0; - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; Actor_PlaySfxAtPos(&this->actor, NA_SE_SY_FOUND); this->dekuScrubFlags = (1 << 4) | (1 << 3) | (1 << 2) | (1 << 1) | (1 << 0); this->guayFlags = 0; @@ -1076,7 +1076,7 @@ void EnSyatekiMan_Swamp_RunGame(EnSyatekiMan* this, PlayState* play) { this->actor.draw = EnSyatekiMan_Draw; this->flagsIndex = 0; this->currentWave = 0; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; sHasSpawnedGuaysForThisWave = false; func_801A2C20(); this->actionFunc = EnSyatekiMan_Swamp_EndGame; @@ -1085,7 +1085,7 @@ void EnSyatekiMan_Swamp_RunGame(EnSyatekiMan* this, PlayState* play) { this->actor.draw = EnSyatekiMan_Draw; this->flagsIndex = 0; this->currentWave = 0; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; sHasSpawnedGuaysForThisWave = false; func_801A2C20(); this->shootingGameState = SG_GAME_STATE_GIVING_BONUS; @@ -1155,7 +1155,7 @@ void EnSyatekiMan_Swamp_AddBonusPoints(EnSyatekiMan* this, PlayState* play) { static s32 sBonusTimer = 0; Player* player = GET_PLAYER(play); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; if (play->interfaceCtx.unk_286 == 0) { if (gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_1] == SECONDS_TO_TIMER(0)) { gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_1] = SECONDS_TO_TIMER(0); @@ -1216,14 +1216,14 @@ void EnSyatekiMan_Town_StartGame(EnSyatekiMan* this, PlayState* play) { player->actor.shape.rot.y = -0x8000; player->actor.world.rot.y = player->actor.shape.rot.y; play->unk_18790(play, -0x8000, &this->actor); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; sGameStartTimer--; } else if (sGameStartTimer > 0) { player->actor.shape.rot.y = -0x8000; player->actor.world.rot.y = player->actor.shape.rot.y; sGameStartTimer--; } else if (sGameStartTimer == 0) { - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; this->score = 0; this->flagsIndex = 0; this->perGameVar1.octorokState = SG_OCTO_STATE_INITIAL; @@ -1352,7 +1352,7 @@ void EnSyatekiMan_Town_RunGame(EnSyatekiMan* this, PlayState* play) { this->perGameVar1.octorokState = SG_OCTO_STATE_HIDING; gSaveContext.timerCurTimes[TIMER_ID_MINIGAME_1] = SECONDS_TO_TIMER(0); gSaveContext.timerStates[TIMER_ID_MINIGAME_1] = TIMER_STATE_STOP; - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; sModFromLosingTime = 0; this->actor.draw = EnSyatekiMan_Draw; func_801A2C20(); diff --git a/src/overlays/actors/ovl_En_Tab/z_en_tab.c b/src/overlays/actors/ovl_En_Tab/z_en_tab.c index ffa5577467..27b9a8db4f 100644 --- a/src/overlays/actors/ovl_En_Tab/z_en_tab.c +++ b/src/overlays/actors/ovl_En_Tab/z_en_tab.c @@ -428,7 +428,7 @@ s32 func_80BE10BC(EnTab* this, PlayState* play) { switch (this->unk_1D8) { case 1: - if ((player->stateFlags1 & 0x40) && !(play->msgCtx.currentTextId <= 0x2B00) && + if ((player->stateFlags1 & PLAYER_STATE1_40) && !(play->msgCtx.currentTextId <= 0x2B00) && (play->msgCtx.currentTextId < 0x2B08)) { this->actor.child = &this->unk_1E4->actor; this->unk_2FC |= 8; diff --git a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c index e1f80e24e9..77793d9919 100644 --- a/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c +++ b/src/overlays/actors/ovl_En_Talk_Gibud/z_en_talk_gibud.c @@ -420,9 +420,9 @@ void EnTalkGibud_Grab(EnTalkGibud* this, PlayState* play) { Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_REDEAD_ATTACK); } - if (!(player->stateFlags2 & 0x80) || (player->unk_B62 != 0)) { - if ((player->unk_B62 != 0) && (player->stateFlags2 & 0x80)) { - player->stateFlags2 &= ~0x80; + if (!(player->stateFlags2 & PLAYER_STATE2_80) || (player->unk_B62 != 0)) { + if ((player->unk_B62 != 0) && (player->stateFlags2 & PLAYER_STATE2_80)) { + player->stateFlags2 &= ~PLAYER_STATE2_80; player->unk_AE8 = 100; } @@ -824,8 +824,8 @@ void EnTalkGibud_Talk(EnTalkGibud* this, PlayState* play) { } else { func_80123D50(play, player, ITEM_BOTTLE, PLAYER_AP_BOTTLE); } - player->stateFlags1 |= 0x20; - player->stateFlags1 |= 0x20000000; + player->stateFlags1 |= PLAYER_STATE1_20; + player->stateFlags1 |= PLAYER_STATE1_20000000; this->actor.flags |= ACTOR_FLAG_100000; EnTalkGibud_SetupDisappear(this); } else { @@ -868,14 +868,14 @@ void EnTalkGibud_Disappear(EnTalkGibud* this, PlayState* play) { func_800B3030(play, &pos, &velocity, &accel, 100, 0, 1); } func_800B9010(&this->actor, NA_SE_EN_COMMON_EXTINCT_LEV - SFX_FLAG); - player->stateFlags1 |= 0x20000000; + player->stateFlags1 |= PLAYER_STATE1_20000000; this->disappearanceTimer--; } else { if (this->switchFlag != -1) { Flags_SetSwitch(play, this->switchFlag); } - player->stateFlags1 &= ~0x20; - player->stateFlags1 &= ~0x20000000; + player->stateFlags1 &= ~PLAYER_STATE1_20; + player->stateFlags1 &= ~PLAYER_STATE1_20000000; Actor_Kill(&this->actor); } } @@ -895,8 +895,9 @@ s32 EnTalkGibud_PlayerInRangeWithCorrectState(EnTalkGibud* this, PlayState* play Player* player = GET_PLAYER(play); if ((Actor_DistanceToPoint(&player->actor, &this->actor.home.pos) < 150.0f) && - !(player->stateFlags1 & (0x200000 | 0x80000 | 0x40000 | 0x4000 | 0x2000 | 0x80)) && - !(player->stateFlags2 & (0x4000 | 0x80))) { + !(player->stateFlags1 & (PLAYER_STATE1_80 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 | PLAYER_STATE1_40000 | + PLAYER_STATE1_80000 | PLAYER_STATE1_200000)) && + !(player->stateFlags2 & (PLAYER_STATE2_80 | PLAYER_STATE2_4000))) { return true; } diff --git a/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.c b/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.c index 2b7f7ff353..a5f1b1e95d 100644 --- a/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.c +++ b/src/overlays/actors/ovl_En_Tanron3/z_en_tanron3.c @@ -211,7 +211,7 @@ void EnTanron3_Live(EnTanron3* this, PlayState* play) { // If the player gets eaten by Gyorg, or if the attack timer ran out, // stop chasing the player for a little bit. - if (this->workTimer[WORK_TIMER_ATTACK] == 0 || (player->stateFlags2 & 0x80)) { + if (this->workTimer[WORK_TIMER_ATTACK] == 0 || (player->stateFlags2 & PLAYER_STATE2_80)) { this->workTimer[WORK_TIMER_WAIT] = 150; this->isNonHostile = true; } diff --git a/src/overlays/actors/ovl_En_Test4/z_en_test4.c b/src/overlays/actors/ovl_En_Test4/z_en_test4.c index c9c849b309..03295c989b 100644 --- a/src/overlays/actors/ovl_En_Test4/z_en_test4.c +++ b/src/overlays/actors/ovl_En_Test4/z_en_test4.c @@ -333,7 +333,7 @@ void EnTest4_Init(Actor* thisx, PlayState* play) { func_80A41D70(this, play); if ((gSaveContext.cutsceneTrigger == 0) && (sCutscenes[this->unk_144] >= 0) && !(play->actorCtx.flags & ACTORCTX_FLAG_1)) { - player->stateFlags1 |= 0x200; + player->stateFlags1 |= PLAYER_STATE1_200; } } else { if ((gSaveContext.save.time > CLOCK_TIME(18, 0)) || (gSaveContext.save.time < CLOCK_TIME(6, 0))) { @@ -399,7 +399,7 @@ void func_80A42AB8(EnTest4* this, PlayState* play) { Play_SetRespawnData(&play->state, RESPAWN_MODE_DOWN, Entrance_CreateFromSpawn(0), player->unk_3CE, 0xBFF, &player->unk_3C0, player->unk_3CC); func_80169EFC(&play->state); - if (player->stateFlags1 & 0x800000) { + if (player->stateFlags1 & PLAYER_STATE1_800000) { EnHorse* rideActor = (EnHorse*)player->rideActor; if ((rideActor->type == HORSE_TYPE_EPONA) || (rideActor->type == HORSE_TYPE_2)) { @@ -418,7 +418,7 @@ void func_80A42AB8(EnTest4* this, PlayState* play) { } if ((sCutscenes[this->unk_144] >= 0) && !(play->actorCtx.flags & ACTORCTX_FLAG_1)) { - player->stateFlags1 |= 0x200; + player->stateFlags1 |= PLAYER_STATE1_200; this->unk_146 = gSaveContext.save.time; } else { if (this->unk_144 == 0) { @@ -456,7 +456,7 @@ void func_80A42AB8(EnTest4* this, PlayState* play) { gSaveContext.nextCutsceneIndex = 0xFFF1; play->transitionTrigger = TRANS_TRIGGER_START; play->transitionType = TRANS_TYPE_02; - player->stateFlags1 |= 0x200; + player->stateFlags1 |= PLAYER_STATE1_200; Actor_Kill(&this->actor); } func_80A42198(this); @@ -494,7 +494,7 @@ void func_80A42F20(EnTest4* this, PlayState* play) { gSaveContext.save.time += CLOCK_TIME_MINUTE; this->unk_146 = gSaveContext.save.time; play->numSetupActors = -play->numSetupActors; - player->stateFlags1 &= ~0x200; + player->stateFlags1 &= ~PLAYER_STATE1_200; } } else { this->actionFunc = func_80A42AB8; @@ -563,7 +563,7 @@ void EnTest4_Update(Actor* thisx, PlayState* play) { EnTest4* this = THIS; Player* player = GET_PLAYER(play); - if (!(player->stateFlags1 & 2)) { + if (!(player->stateFlags1 & PLAYER_STATE1_2)) { this->actionFunc(this, play); if (func_800FE4B8(play) != 0) { diff --git a/src/overlays/actors/ovl_En_Test7/z_en_test7.c b/src/overlays/actors/ovl_En_Test7/z_en_test7.c index 272d4dbdd9..22e4c70b14 100644 --- a/src/overlays/actors/ovl_En_Test7/z_en_test7.c +++ b/src/overlays/actors/ovl_En_Test7/z_en_test7.c @@ -418,7 +418,7 @@ void EnTest7_Init(Actor* thisx, PlayState* play2) { } ActorCutscene_SetIntentToPlay(play->playerActorCsIds[8]); - player2->stateFlags1 |= 0x20; + player2->stateFlags1 |= PLAYER_STATE1_20; Lights_PointNoGlowSetInfo(&this->lightInfo, (Math_SinS(this->unk_1E8E) * 90.0f) + player->actor.world.pos.x, player->actor.world.pos.y + 10.0f, (Math_CosS(this->unk_1E8E) * 90.0f) + player->actor.world.pos.z, 255, 255, 255, 255); @@ -759,7 +759,7 @@ void func_80AF2938(EnTest7* this, PlayState* play) { this->unk_1E98 = player->actor.draw; player->actor.draw = NULL; - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; this->unk_144 |= 2; this->unk_148.unk_04 = 30.0f; if (play->roomCtx.curRoom.unk3 != 1) { @@ -911,7 +911,7 @@ void func_80AF2F98(EnTest7* this, PlayState* play) { this->unk_148.unk_00 = this->unk_148.unk_04; this->unk_148.unk_08 = ((this->unk_148.unk_04 * -0.29999998f) / 11.0f) + 0.7f; this->unk_148.unk_0C = ((this->unk_148.unk_04 * -0.29999998f) / 11.0f) + 0.7f; - player->stateFlags2 &= ~0x20000000; + player->stateFlags2 &= ~PLAYER_STATE2_20000000; } } @@ -919,8 +919,8 @@ void func_80AF30F4(EnTest7* this, PlayState* play) { Player* player = GET_PLAYER(play); if (this->unk_1E54 > 90) { - player->stateFlags1 &= ~0x20; - player->stateFlags1 &= ~0x20000000; + player->stateFlags1 &= ~PLAYER_STATE1_20; + player->stateFlags1 &= ~PLAYER_STATE1_20000000; Actor_Kill(&this->actor); } } diff --git a/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c b/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c index ae3e6a7aa1..88e88c2df8 100644 --- a/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c +++ b/src/overlays/actors/ovl_En_Thiefbird/z_en_thiefbird.c @@ -521,8 +521,9 @@ void func_80C11590(EnThiefbird* this, PlayState* play) { this->unk_18E--; } - if ((this->unk_18E == 0) && (this->actor.xzDistToPlayer < 300.0f) && !(player->stateFlags1 & 0x800000) && - (Player_GetMask(play) != PLAYER_MASK_STONE) && (this->actor.depthInWater < -40.0f)) { + if ((this->unk_18E == 0) && (this->actor.xzDistToPlayer < 300.0f) && + !(player->stateFlags1 & PLAYER_STATE1_800000) && (Player_GetMask(play) != PLAYER_MASK_STONE) && + (this->actor.depthInWater < -40.0f)) { func_80C118E4(this); } } @@ -565,9 +566,9 @@ void func_80C1193C(EnThiefbird* this, PlayState* play) { Math_SmoothStepToS(&this->actor.shape.rot.y, rot, 4, 0x1000, 0x100); } - if ((this->unk_18E == 0) || (player->stateFlags1 & 0x800000) || (Player_GetMask(play) == PLAYER_MASK_STONE) || - (this->collider.base.atFlags & AT_HIT) || (this->actor.bgCheckFlags & 1) || - (this->actor.depthInWater > -40.0f)) { + if ((this->unk_18E == 0) || (player->stateFlags1 & PLAYER_STATE1_800000) || + (Player_GetMask(play) == PLAYER_MASK_STONE) || (this->collider.base.atFlags & AT_HIT) || + (this->actor.bgCheckFlags & 1) || (this->actor.depthInWater > -40.0f)) { if (this->collider.base.atFlags & AT_HIT) { this->collider.base.atFlags &= ~AT_HIT; Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_THIEFBIRD_VOICE); diff --git a/src/overlays/actors/ovl_En_Toto/z_en_toto.c b/src/overlays/actors/ovl_En_Toto/z_en_toto.c index 3c1f35af31..51d58a1f55 100644 --- a/src/overlays/actors/ovl_En_Toto/z_en_toto.c +++ b/src/overlays/actors/ovl_En_Toto/z_en_toto.c @@ -333,7 +333,7 @@ void func_80BA3DBC(EnToto* this, PlayState* play) { } } else { player = GET_PLAYER(play); - if (player->stateFlags1 & 0x400 && player->unk_AE7 != 0) { + if ((player->stateFlags1 & PLAYER_STATE1_400) && player->unk_AE7 != 0) { func_80151BB4(play, 48); func_80151BB4(play, 9); func_80151BB4(play, 10); diff --git a/src/overlays/actors/ovl_En_Trt/z_en_trt.c b/src/overlays/actors/ovl_En_Trt/z_en_trt.c index 71abb140ac..3795acdb70 100644 --- a/src/overlays/actors/ovl_En_Trt/z_en_trt.c +++ b/src/overlays/actors/ovl_En_Trt/z_en_trt.c @@ -223,7 +223,7 @@ void EnTrt_EndInteraction(PlayState* play, EnTrt* this) { this->drawCursor = 0; this->stickLeftPrompt.isEnabled = false; this->stickRightPrompt.isEnabled = false; - player->stateFlags2 &= ~0x20000000; + player->stateFlags2 &= ~PLAYER_STATE2_20000000; play->interfaceCtx.unk_222 = 0; play->interfaceCtx.unk_224 = 0; this->textId = 0x834; @@ -341,7 +341,7 @@ void EnTrt_GetMushroom(EnTrt* this, PlayState* play) { if (this->cutsceneState != ENTRT_CUTSCENESTATE_PLAYING_SPECIAL) { EnTrt_SetupGetMushroomCutscene(this); if (this->cutsceneState == ENTRT_CUTSCENESTATE_PLAYING_SPECIAL) { - player->stateFlags2 &= ~0x20000000; + player->stateFlags2 &= ~PLAYER_STATE2_20000000; } } else if ((talkState == TEXT_STATE_5) && Message_ShouldAdvance(play)) { switch (this->textId) { @@ -450,7 +450,7 @@ void EnTrt_GiveRedPotionForKoume(EnTrt* this, PlayState* play) { gSaveContext.save.weekEventReg[12] |= 0x10; } gSaveContext.save.weekEventReg[84] |= 0x40; - player->stateFlags2 &= ~0x20000000; + player->stateFlags2 &= ~PLAYER_STATE2_20000000; this->actionFunc = EnTrt_GivenRedPotionForKoume; } else if (gSaveContext.save.weekEventReg[12] & 0x10) { Actor_PickUp(&this->actor, play, GI_POTION_RED, 300.0f, 300.0f); @@ -467,7 +467,7 @@ void EnTrt_GivenRedPotionForKoume(EnTrt* this, PlayState* play) { if (this->cutsceneState == ENTRT_CUTSCENESTATE_STOPPED) { if (ActorCutscene_GetCanPlayNext(this->cutscene)) { ActorCutscene_StartAndSetFlag(this->cutscene, &this->actor); - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; //! @bug: EnTrt_ContinueShopping gets overwritten by EnTrt_ItemGiven this->actionFunc = EnTrt_ContinueShopping; this->cutsceneState = ENTRT_CUTSCENESTATE_PLAYING; @@ -652,7 +652,7 @@ void EnTrt_SetupBuyItemWithFanfare(PlayState* play, EnTrt* this) { Actor_PickUp(&this->actor, play, this->items[this->cursorIndex]->getItemId, 300.0f, 300.0f); play->msgCtx.msgMode = 0x43; play->msgCtx.stateTimer = 4; - player->stateFlags2 &= ~0x20000000; + player->stateFlags2 &= ~PLAYER_STATE2_20000000; Interface_SetHudVisibility(HUD_VISIBILITY_ALL); this->drawCursor = 0; this->actionFunc = EnTrt_BuyItemWithFanfare; @@ -797,7 +797,7 @@ void EnTrt_IdleSleeping(EnTrt* this, PlayState* play) { ActorCutscene_SetIntentToPlay(this->cutscene); this->cutsceneState = ENTRT_CUTSCENESTATE_WAITING; } - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; this->timer = 45; this->actionFunc = EnTrt_BeginInteraction; } else if (((player->actor.world.pos.x >= -50.0f) && (player->actor.world.pos.x <= -25.0f)) && @@ -838,7 +838,7 @@ void EnTrt_IdleAwake(EnTrt* this, PlayState* play) { ActorCutscene_SetIntentToPlay(this->cutscene); this->cutsceneState = ENTRT_CUTSCENESTATE_WAITING; } - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; if (player->transformation == PLAYER_FORM_HUMAN) { this->flags |= ENTRT_MET; } @@ -999,7 +999,7 @@ void EnTrt_ItemGiven(EnTrt* this, PlayState* play) { if (this->cutsceneState == ENTRT_CUTSCENESTATE_STOPPED) { if (ActorCutscene_GetCanPlayNext(this->cutscene)) { ActorCutscene_StartAndSetFlag(this->cutscene, &this->actor); - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; this->actionFunc = EnTrt_ContinueShopping; this->cutsceneState = ENTRT_CUTSCENESTATE_PLAYING; } else { @@ -1124,7 +1124,7 @@ void EnTrt_ContinueShopping(EnTrt* this, PlayState* play) { case 0: func_8019F208(); player->actor.shape.rot.y = BINANG_ROT180(player->actor.shape.rot.y); - player->stateFlags2 |= 0x20000000; + player->stateFlags2 |= PLAYER_STATE2_20000000; Message_StartTextbox(play, this->textId, &this->actor); EnTrt_SetupStartShopping(play, this, true); func_800B85E0(&this->actor, play, 400.0f, PLAYER_AP_MINUS1); diff --git a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c index 9e4375ae66..f1835edcf7 100644 --- a/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c +++ b/src/overlays/actors/ovl_En_Trt2/z_en_trt2.c @@ -468,7 +468,7 @@ void func_80AD4298(EnTrt2* this, PlayState* play) { if (ActorCutscene_GetCanPlayNext(this->unk_3DA)) { ActorCutscene_StartAndSetUnkLinkFields(this->unk_3DA, &this->actor); - player->stateFlags1 |= 0x20; + player->stateFlags1 |= PLAYER_STATE1_20; this->unk_3B2 = 6; } else { if (ActorCutscene_GetCurrentIndex() == 0x7C) { @@ -481,7 +481,7 @@ void func_80AD4298(EnTrt2* this, PlayState* play) { void func_80AD431C(EnTrt2* this, PlayState* play) { Player* player = GET_PLAYER(play); - player->stateFlags1 &= ~0x20; + player->stateFlags1 &= ~PLAYER_STATE1_20; Actor_Kill(&this->actor); } diff --git a/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c b/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c index 3982e04200..75d279f9f2 100644 --- a/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c +++ b/src/overlays/actors/ovl_En_Tru_Mt/z_en_tru_mt.c @@ -346,7 +346,7 @@ void func_80B76980(EnTruMt* this, PlayState* play) { Message_StartTextbox(play, 0x87F, &this->actor); gSaveContext.eventInf[3] |= 0x40; gSaveContext.eventInf[4] |= 1; - player->stateFlags3 &= ~0x400; + player->stateFlags3 &= ~PLAYER_STATE3_400; this->actor.speedXZ = 0.0f; this->actionFunc = func_80B76BB8; } else if (gSaveContext.eventInf[4] & 1) { @@ -366,7 +366,7 @@ void func_80B76A64(EnTruMt* this, PlayState* play) { func_80B76924(this); func_80B76980(this, play); - player->stateFlags3 |= 0x400; + player->stateFlags3 |= PLAYER_STATE3_400; if (this->path != NULL) { func_80B76540(this->path, this->unk_36C, &this->actor.world.pos, &sp34); @@ -406,7 +406,7 @@ void func_80B76C38(EnTruMt* this, PlayState* play) { func_80B76924(this); func_80B76980(this, play); - player->stateFlags3 |= 0x400; + player->stateFlags3 |= PLAYER_STATE3_400; } void EnTruMt_Init(Actor* thisx, PlayState* play) { diff --git a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c index 13f3efff8b..e84d59ec52 100644 --- a/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c +++ b/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c @@ -243,8 +243,9 @@ void EnWallmas_WaitToDrop(EnWallmas* this, PlayState* play) { this->timer--; } - if ((player->stateFlags1 & 0x08100000) || (player->stateFlags2 & 0x80) || (player->unk_B5E > 0) || - (player->actor.freezeTimer > 0) || !(player->actor.bgCheckFlags & 1) || + if ((player->stateFlags1 & (PLAYER_STATE1_100000 | PLAYER_STATE1_8000000)) || + (player->stateFlags2 & PLAYER_STATE2_80) || (player->unk_B5E > 0) || (player->actor.freezeTimer > 0) || + !(player->actor.bgCheckFlags & 1) || ((WALLMASTER_GET_TYPE(&this->actor) == WALLMASTER_TYPE_PROXIMITY) && (Math_Vec3f_DistXZ(&this->actor.home.pos, playerPos) > (120.f + this->detectionRadius)))) { AudioSfx_StopById(NA_SE_EN_FALL_AIM); @@ -279,9 +280,9 @@ void EnWallmas_SetupDrop(EnWallmas* this, PlayState* play) { void EnWallmas_Drop(EnWallmas* this, PlayState* play) { Player* player = GET_PLAYER(play); - if ((player->stateFlags2 & 0x80) || (player->actor.freezeTimer > 0)) { + if ((player->stateFlags2 & PLAYER_STATE2_80) || (player->actor.freezeTimer > 0)) { EnWallmas_SetupReturnToCeiling(this); - } else if (!Play_InCsMode(play) && !(player->stateFlags2 & 0x10) && (player->invincibilityTimer >= 0) && + } else if (!Play_InCsMode(play) && !(player->stateFlags2 & PLAYER_STATE2_10) && (player->invincibilityTimer >= 0) && (this->actor.xzDistToPlayer < 30.0f) && (this->actor.playerHeightRel < -5.0f) && (-(f32)(player->cylinder.dim.height + 10) < this->actor.playerHeightRel)) { EnWallmas_SetupTakePlayer(this, play); diff --git a/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c b/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c index 2b4feee165..69e9ca3c76 100644 --- a/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c +++ b/src/overlays/actors/ovl_En_Warp_tag/z_en_warp_tag.c @@ -176,7 +176,7 @@ void EnWarpTag_RespawnPlayer(EnWarptag* this, PlayState* play) { player->actor.world.pos.z = this->dyna.actor.world.pos.z + (diffZ * distance); if (Math_StepToS(&this->unkValue15E, 0x2710, 0xC8)) { - player->stateFlags3 |= 0x1; + player->stateFlags3 |= PLAYER_STATE3_1; player->actor.gravity = -0.5f; if (this->dyna.actor.playerHeightRel < -80.0f) { diff --git a/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c b/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c index 543865e0bf..bce9f62826 100644 --- a/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c +++ b/src/overlays/actors/ovl_En_Wiz_Fire/z_en_wiz_fire.c @@ -636,7 +636,7 @@ void EnWizFire_Update(Actor* thisx, PlayState* play2) { } } - if ((player->stateFlags2 & 0x4000) && (player->unk_AE8 < 90)) { + if ((player->stateFlags2 & PLAYER_STATE2_4000) && (player->unk_AE8 < 90)) { player->unk_AE8 = 90; } diff --git a/src/overlays/actors/ovl_En_Yb/z_en_yb.c b/src/overlays/actors/ovl_En_Yb/z_en_yb.c index 486790dfdc..d96a8f94e1 100644 --- a/src/overlays/actors/ovl_En_Yb/z_en_yb.c +++ b/src/overlays/actors/ovl_En_Yb/z_en_yb.c @@ -372,10 +372,10 @@ void EnYb_Idle(EnYb* this, PlayState* play) { } if (this->playerOcarinaOut & 1) { - if (!(player->stateFlags2 & 0x8000000)) { + if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) { this->playerOcarinaOut &= ~1; } - } else if ((player->stateFlags2 & 0x8000000) && this->actor.xzDistToPlayer < 180.0f && + } else if ((player->stateFlags2 & PLAYER_STATE2_8000000) && this->actor.xzDistToPlayer < 180.0f && fabsf(this->actor.playerHeightRel) < 50.0f) { this->playerOcarinaOut |= 1; Actor_PlaySfxAtPos(&this->actor, NA_SE_SY_TRE_BOX_APPEAR); diff --git a/src/overlays/actors/ovl_En_Zob/z_en_zob.c b/src/overlays/actors/ovl_En_Zob/z_en_zob.c index 710b82e4db..d89e1b53af 100644 --- a/src/overlays/actors/ovl_En_Zob/z_en_zob.c +++ b/src/overlays/actors/ovl_En_Zob/z_en_zob.c @@ -525,7 +525,7 @@ void func_80BA0374(EnZob* this, PlayState* play) { func_801477B4(play); this->actionFunc = func_80BA0318; player->unk_A90 = &this->actor; - player->stateFlags3 |= 0x20; + player->stateFlags3 |= PLAYER_STATE3_20; break; } } diff --git a/src/overlays/actors/ovl_En_Zog/z_en_zog.c b/src/overlays/actors/ovl_En_Zog/z_en_zog.c index f572e82574..4f1c73473f 100644 --- a/src/overlays/actors/ovl_En_Zog/z_en_zog.c +++ b/src/overlays/actors/ovl_En_Zog/z_en_zog.c @@ -601,10 +601,10 @@ void func_80B943EC(EnZog* this, PlayState* play) { Player* player = GET_PLAYER(play); if (this->unk_30A & 0x10) { - if (!(player->stateFlags2 & 0x8000000)) { + if (!(player->stateFlags2 & PLAYER_STATE2_8000000)) { this->unk_30A &= ~0x10; } - } else if ((player->stateFlags2 & 0x8000000) && (this->actor.xzDistToPlayer < 120.0f)) { + } else if ((player->stateFlags2 & PLAYER_STATE2_8000000) && (this->actor.xzDistToPlayer < 120.0f)) { this->unk_30A |= 0x10; Actor_PlaySfxAtPos(&this->actor, NA_SE_SY_TRE_BOX_APPEAR); } diff --git a/src/overlays/actors/ovl_En_Zot/z_en_zot.c b/src/overlays/actors/ovl_En_Zot/z_en_zot.c index db054d1f82..90e712a804 100644 --- a/src/overlays/actors/ovl_En_Zot/z_en_zot.c +++ b/src/overlays/actors/ovl_En_Zot/z_en_zot.c @@ -553,7 +553,7 @@ void func_80B97708(EnZot* this, PlayState* play) { return; } - if (!(player->stateFlags1 & 0x2000000)) { + if (!(player->stateFlags1 & PLAYER_STATE1_2000000)) { phi_v1 = func_80B96CE4(this); } else { phi_v1 = 0; diff --git a/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.c b/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.c index b9310b27e8..1325a9a165 100644 --- a/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.c +++ b/src/overlays/actors/ovl_Obj_Armos/z_obj_armos.c @@ -252,7 +252,7 @@ void func_809A54E0(ObjArmos* this, PlayState* play) { func_809A518C(this, sp20); func_809A5610(this); } else { - GET_PLAYER(play)->stateFlags2 &= ~0x10; + GET_PLAYER(play)->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } } @@ -289,7 +289,7 @@ void func_809A562C(ObjArmos* this, PlayState* play) { sp20 = true; } - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; if (!sp20) { @@ -309,7 +309,7 @@ void func_809A57D8(ObjArmos* this) { void func_809A57F4(ObjArmos* this, PlayState* play) { if (fabsf(this->dyna.pushForce) > 0.1f) { - GET_PLAYER(play)->stateFlags2 &= ~0x10; + GET_PLAYER(play)->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } } diff --git a/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c b/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c index f8a7d38d7e..f3a9d7c38a 100644 --- a/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c +++ b/src/overlays/actors/ovl_Obj_Etcetera/z_obj_etcetera.c @@ -135,7 +135,7 @@ void ObjEtcetera_Idle(ObjEtcetera* this, PlayState* play) { s16 minOscillationTimer; Player* player = GET_PLAYER(play); - if ((player->stateFlags3 & 0x200) && (this->dyna.actor.xzDistToPlayer < 20.0f)) { + if ((player->stateFlags3 & PLAYER_STATE3_200) && (this->dyna.actor.xzDistToPlayer < 20.0f)) { // Player is launching out of the Deku Flower Animation_Change(&this->skelAnime, &gDekuFlowerBounceAnim, 1.0f, 0.0f, Animation_GetLastFrame(&gDekuFlowerBounceAnim), ANIMMODE_ONCE, 0.0f); @@ -146,7 +146,7 @@ void ObjEtcetera_Idle(ObjEtcetera* this, PlayState* play) { this->bounceOscillationScale = 0.003f; this->oscillationTimer = 30; this->burrowFlag &= ~1; - } else if ((player->stateFlags3 & 0x2000) && (this->dyna.actor.xzDistToPlayer < 30.0f) && + } else if ((player->stateFlags3 & PLAYER_STATE3_2000) && (this->dyna.actor.xzDistToPlayer < 30.0f) && (this->dyna.actor.playerHeightRel > 0.0f)) { // Player is hovering above the Deku Flower minOscillationTimer = 10 - (s32)(this->dyna.actor.playerHeightRel * 0.05f); @@ -159,7 +159,8 @@ void ObjEtcetera_Idle(ObjEtcetera* this, PlayState* play) { // Player is walking onto the Deku Flower, or falling on it from a height this->oscillationTimer = 10; ObjEtcetera_StartRustleAnimation(this); - } else if ((player->actor.speedXZ > 0.1f) || ((player->unk_ABC < 0.0f) && !(player->stateFlags3 & 0x100))) { + } else if ((player->actor.speedXZ > 0.1f) || + ((player->unk_ABC < 0.0f) && !(player->stateFlags3 & PLAYER_STATE3_100))) { // Player is walking on top of the Deku Flower, is at the very start of burrowing, or is at the very // start of launching this->oscillationTimer = 10; diff --git a/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.c b/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.c index a9a10f755c..15c564df2b 100644 --- a/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.c +++ b/src/overlays/actors/ovl_Obj_Ghaka/z_obj_ghaka.c @@ -89,7 +89,7 @@ void func_80B3C39C(ObjGhaka* this, PlayState* play) { player->transformation == PLAYER_FORM_GORON) { func_80B3C2B0(this); } else { - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } } @@ -136,7 +136,7 @@ void func_80B3C624(ObjGhaka* this, PlayState* play) { this->dyna.actor.world.pos.z = this->dyna.actor.home.pos.z + this->unk_168; if (stepTemp) { - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; func_80B3C2C4(this, play); gSaveContext.save.weekEventReg[20] |= 0x20; diff --git a/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.c b/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.c index 69e542c6be..5d438239da 100644 --- a/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.c +++ b/src/overlays/actors/ovl_Obj_Ice_Poly/z_obj_ice_poly.c @@ -178,7 +178,7 @@ void func_80931A38(ObjIcePoly* this, PlayState* play) { s32 pad3; f32 sp58; - if (!(player->stateFlags2 & 0x4000) && (this->unk_14A != 0)) { + if (!(player->stateFlags2 & PLAYER_STATE2_4000) && (this->unk_14A != 0)) { this->unk_14A--; } diff --git a/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.c b/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.c index 9e351dc234..b75db4261f 100644 --- a/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.c +++ b/src/overlays/actors/ovl_Obj_Iceblock/z_obj_iceblock.c @@ -849,7 +849,7 @@ void func_80A25404(ObjIceblock* this) { void func_80A2541C(ObjIceblock* this, PlayState* play) { Player* player = GET_PLAYER(play); - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } diff --git a/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c b/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c index 5d1931c1c6..c02092e9e5 100644 --- a/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c +++ b/src/overlays/actors/ovl_Obj_Moon_Stone/z_obj_moon_stone.c @@ -137,7 +137,7 @@ void ObjMoonStone_Update(Actor* thisx, PlayState* play) { ObjMoonStone* this = THIS; Player* player = GET_PLAYER(play); - if (!(player->stateFlags1 & 0x10000282)) { + if (!(player->stateFlags1 & (PLAYER_STATE1_2 | PLAYER_STATE1_80 | PLAYER_STATE1_200 | PLAYER_STATE1_10000000))) { this->actionFunc(this, play); } } diff --git a/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.c b/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.c index d4d716e90f..c88d367975 100644 --- a/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.c +++ b/src/overlays/actors/ovl_Obj_Oshihiki/z_obj_oshihiki.c @@ -406,11 +406,11 @@ void ObjOshihiki_OnScene(ObjOshihiki* this, PlayState* play) { return; } } - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } } else if (fabsf(this->dyna.pushForce) > 0.001f) { - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } } @@ -466,7 +466,7 @@ void ObjOshihiki_OnActor(ObjOshihiki* this, PlayState* play) { } if (!sp20 && (fabsf(this->dyna.pushForce) > 0.001f)) { - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } } @@ -494,7 +494,7 @@ void ObjOshihiki_Push(ObjOshihiki* this, PlayState* play) { if (!ObjOshihiki_CheckFloor(this, play)) { this->dyna.actor.home.pos.x = this->dyna.actor.world.pos.x; this->dyna.actor.home.pos.z = this->dyna.actor.world.pos.z; - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; this->pushDist = 0.0f; this->pushSpeed = 0.0f; @@ -508,7 +508,7 @@ void ObjOshihiki_Push(ObjOshihiki* this, PlayState* play) { this->dyna.actor.home.pos.x = this->dyna.actor.world.pos.x; this->dyna.actor.home.pos.z = this->dyna.actor.world.pos.z; - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; this->pushDist = 0.0f; this->pushSpeed = 0.0f; @@ -542,7 +542,7 @@ void ObjOshihiki_Fall(ObjOshihiki* this, PlayState* play) { if (fabsf(this->dyna.pushForce) > 0.001f) { this->dyna.pushForce = 0.0f; - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; } Actor_MoveWithGravity(&this->dyna.actor); diff --git a/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c b/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c index 9f024b0c0b..f3e047020f 100644 --- a/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c +++ b/src/overlays/actors/ovl_Obj_Pzlblock/z_obj_pzlblock.c @@ -268,7 +268,7 @@ void func_809A3A74(ObjPzlblock* this, PlayState* play) { } } - GET_PLAYER(play)->stateFlags2 &= ~0x10; + GET_PLAYER(play)->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } } @@ -299,7 +299,7 @@ void func_809A3BC0(ObjPzlblock* this, PlayState* play) { sp20 = 1; } - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; if (sp20 == 0) { func_809A3A48(this); @@ -318,7 +318,7 @@ void func_809A3D1C(ObjPzlblock* this) { void func_809A3D38(ObjPzlblock* this, PlayState* play) { if (fabsf(this->dyna.pushForce) > 0.1f) { - GET_PLAYER(play)->stateFlags2 &= ~0x10; + GET_PLAYER(play)->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } } diff --git a/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.c b/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.c index 3eee8491a6..e22c73cda0 100644 --- a/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.c +++ b/src/overlays/actors/ovl_Obj_Skateblock/z_obj_skateblock.c @@ -369,7 +369,7 @@ void func_80A21C88(ObjSkateblock* this, s32 arg1) { void func_80A21CB4(ObjSkateblock* this, PlayState* play) { Player* player = GET_PLAYER(play); - player->stateFlags2 &= ~0x10; + player->stateFlags2 &= ~PLAYER_STATE2_10; this->dyna.pushForce = 0.0f; } diff --git a/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c b/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c index 5d546a78fd..1c6d53e7f9 100644 --- a/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c +++ b/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c @@ -52,7 +52,7 @@ void EffectSsStick_Draw(PlayState* play, u32 index, EffectSs* this) { gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); func_8012C28C(gfxCtx); gSPSegment(POLY_OPA_DISP++, 0x06, play->objectCtx.status[this->rObjBankIndex].segment); - gSPSegment(POLY_OPA_DISP++, 0x0C, D_801C0850); + gSPSegment(POLY_OPA_DISP++, 0x0C, gCullBackDList); gSPDisplayList(POLY_OPA_DISP++, gDekuStickDL); CLOSE_DISPS(gfxCtx); diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index b199ada05b..8e074c5096 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -2202,7 +2202,7 @@ 0x8012364C:("func_8012364C",), 0x80123810:("func_80123810",), 0x80123960:("Player_ActionToModelGroup",), - 0x801239AC:("func_801239AC",), + 0x801239AC:("Player_SetModelsForHoldingShield",), 0x80123AA4:("Player_SetModels",), 0x80123BD4:("Player_SetModelGroup",), 0x80123C58:("func_80123C58",), @@ -2230,12 +2230,12 @@ 0x8012420C:("Player_GetBottleHeld",), 0x8012422C:("Player_ActionToExplosive",), 0x80124258:("Player_GetExplosiveHeld",), - 0x80124278:("func_80124278",), + 0x80124278:("Player_ActionToSword",), 0x801242B4:("func_801242B4",), 0x801242DC:("Player_GetEnvTimerType",), 0x80124420:("func_80124420",), 0x80124618:("func_80124618",), - 0x801246F4:("func_801246F4",), + 0x801246F4:("Player_DrawImpl",), 0x80124870:("func_80124870",), 0x80124CC4:("func_80124CC4",), 0x80124F18:("func_80124F18",), @@ -2263,14 +2263,14 @@ 0x80127438:("func_80127438",), 0x80127488:("func_80127488",), 0x8012754C:("Player_DrawCouplesMask",), - 0x80127594:("func_80127594",), - 0x801278F8:("func_801278F8",), - 0x80127A60:("func_80127A60",), + 0x80127594:("Player_DrawCircusLeadersMask",), + 0x801278F8:("Player_DrawBlastMask",), + 0x80127A60:("Player_DrawBunnyHood",), 0x80127B64:("func_80127B64",), 0x80127BE8:("func_80127BE8",), 0x80127DA4:("func_80127DA4",), 0x80128388:("func_80128388",), - 0x801284A0:("func_801284A0",), + 0x801284A0:("Player_DrawGreatFairysMask",), 0x80128640:("func_80128640",), 0x80128B74:("func_80128B74",), 0x80128BD0:("func_80128BD0",), diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt index 3ac247a298..ee037b02a1 100644 --- a/tools/disasm/variables.txt +++ b/tools/disasm/variables.txt @@ -1192,33 +1192,33 @@ 0x801BFDA0:("sMaskObjectIds","s16","[24]",0x30), 0x801BFDD0:("D_801BFDD0","UNK_TYPE1","",0x1), 0x801BFDE8:("sMaskItemIds","UNK_TYPE1","",0x1), - 0x801BFE00:("D_801BFE00","UNK_TYPE1","",0x1), + 0x801BFE00:("gPlayerSkeletons","FlexSkeletonHeader*","[5]",0x14), 0x801BFE14:("D_801BFE14","UNK_TYPE1","",0x1), - 0x801BFF34:("D_801BFF34","UNK_TYPE2","",0x2), + 0x801BFF34:("sCItemButtons","UNK_TYPE2","",0x2), 0x801BFF3C:("sActionModelGroups","UNK_TYPE1","",0x1), 0x801BFF90:("D_801BFF90","UNK_TYPE1","",0x1), 0x801BFF98:("sPlayerStrengths","UNK_TYPE1","",0x1), 0x801BFFA0:("sEnvironmentTextTriggers","UNK_TYPE1","",0x1), 0x801BFFB0:("gPlayerModelTypes","UNK_TYPE1","",0x1), - 0x801BFFFC:("D_801BFFFC","UNK_TYPE1","",0x1), - 0x801C0024:("D_801C0024","UNK_TYPE1","",0x1), - 0x801C0034:("D_801C0034","UNK_TYPE1","",0x1), - 0x801C005C:("D_801C005C","UNK_TYPE1","",0x1), - 0x801C0084:("D_801C0084","UNK_TYPE1","",0x1), - 0x801C00AC:("D_801C00AC","UNK_TYPE1","",0x1), - 0x801C00BC:("D_801C00BC","UNK_TYPE1","",0x1), - 0x801C00D4:("D_801C00D4","UNK_TYPE1","",0x1), - 0x801C00EC:("D_801C00EC","UNK_TYPE1","",0x1), - 0x801C0114:("D_801C0114","UNK_TYPE1","",0x1), - 0x801C013C:("D_801C013C","UNK_TYPE1","",0x1), - 0x801C0164:("D_801C0164","UNK_TYPE1","",0x1), + 0x801BFFFC:("gPlayerWaistDLs","UNK_TYPE1","",0x1), + 0x801C0024:("gPlayerHandHoldingShields","UNK_TYPE1","",0x1), + 0x801C0034:("gPlayerSheath12DLs","UNK_TYPE1","",0x1), + 0x801C005C:("gPlayerSheath13DLs","UNK_TYPE1","",0x1), + 0x801C0084:("gPlayerSheath14DLs","UNK_TYPE1","",0x1), + 0x801C00AC:("gPlayerShields","UNK_TYPE1","",0x1), + 0x801C00BC:("gPlayerSheathedSwords","UNK_TYPE1","",0x1), + 0x801C00D4:("gPlayerSwordSheaths","UNK_TYPE1","",0x1), + 0x801C00EC:("gPlayerLeftHandTwoHandSwordDLs","UNK_TYPE1","",0x1), + 0x801C0114:("gPlayerLeftHandOpenDLs","UNK_TYPE1","",0x1), + 0x801C013C:("gPlayerLeftHandClosedDLs","UNK_TYPE1","",0x1), + 0x801C0164:("gPlayerLeftHandOneHandSwordDLs","UNK_TYPE1","",0x1), 0x801C018C:("D_801C018C","UNK_TYPE1","",0x1), - 0x801C01A4:("D_801C01A4","UNK_TYPE1","",0x1), - 0x801C01CC:("D_801C01CC","UNK_TYPE1","",0x1), - 0x801C01F4:("D_801C01F4","UNK_TYPE1","",0x1), - 0x801C021C:("D_801C021C","UNK_TYPE1","",0x1), - 0x801C0244:("D_801C0244","UNK_TYPE1","",0x1), - 0x801C026C:("D_801C026C","UNK_TYPE1","",0x1), + 0x801C01A4:("gPlayerRightHandOpenDLs","UNK_TYPE1","",0x1), + 0x801C01CC:("gPlayerRightHandClosedDLs","UNK_TYPE1","",0x1), + 0x801C01F4:("gPlayerRightHandBowDLs","UNK_TYPE1","",0x1), + 0x801C021C:("gPlayerRightHandInstrumentDLs","UNK_TYPE1","",0x1), + 0x801C0244:("gPlayerRightHandHookshotDLs","UNK_TYPE1","",0x1), + 0x801C026C:("gPlayerLeftHandBottleDLs","UNK_TYPE1","",0x1), 0x801C0294:("D_801C0294","UNK_TYPE1","",0x1), 0x801C02A8:("D_801C02A8","UNK_TYPE1","",0x1), 0x801C02BC:("D_801C02BC","UNK_TYPE1","",0x1), @@ -1260,11 +1260,11 @@ 0x801C07F0:("D_801C07F0","UNK_TYPE1","",0x1), 0x801C0820:("D_801C0820","UNK_TYPE1","",0x1), 0x801C0838:("D_801C0838","UNK_TYPE1","",0x1), - 0x801C0850:("D_801C0850","UNK_TYPE1","",0x1), - 0x801C0860:("D_801C0860","UNK_TYPE1","",0x1), - 0x801C0870:("D_801C0870","UNK_PTR","",0x4), - 0x801C0890:("D_801C0890","UNK_TYPE1","",0x1), - 0x801C08A0:("D_801C08A0","UNK_TYPE1","",0x20), + 0x801C0850:("gCullBackDList","UNK_TYPE1","",0x1), + 0x801C0860:("gCullFrontDList","UNK_TYPE1","",0x1), + 0x801C0870:("sPlayerEyesTextures","UNK_PTR","",0x4), + 0x801C0890:("sPlayerMouthTextures","UNK_TYPE1","",0x1), + 0x801C08A0:("sPlayerFaces","UNK_TYPE1","",0x20), 0x801C08C0:("D_801C08C0","UNK_TYPE1","",0x1), 0x801C08FC:("D_801C08FC","UNK_TYPE1","",0x1), 0x801C0910:("D_801C0910","UNK_TYPE1","",0x1), @@ -4003,17 +4003,17 @@ 0x801F5834:("D_801F5834","UNK_TYPE1","",0x1), 0x801F5840:("gNMIBuffer","s32*","",0x4), 0x801F5850:("sPostmanTimerInput","UNK_TYPE1","",0x1), - 0x801F58B0:("D_801F58B0","UNK_TYPE1","",0x1), + 0x801F58B0:("D_801F58B0","struct_801F58B0","[3][3]",0xFC), 0x801F59AC:("D_801F59AC","UNK_TYPE1","",0x1), - 0x801F59B0:("D_801F59B0","UNK_TYPE1","",0x1), - 0x801F59C8:("D_801F59C8","UNK_TYPE1","",0x1), - 0x801F59D0:("D_801F59D0","UNK_TYPE1","",0x1), - 0x801F59DC:("D_801F59DC","UNK_TYPE1","",0x1), - 0x801F59E0:("D_801F59E0","UNK_TYPE1","",0x1), - 0x801F59E4:("D_801F59E4","UNK_TYPE1","",0x1), + 0x801F59B0:("D_801F59B0","Vec3f","[2]",0x18), + 0x801F59C8:("D_801F59C8","s32","[2]",0x8), + 0x801F59D0:("D_801F59D0","struct_801F59D0","",0x0A), + 0x801F59DC:("D_801F59DC","Vec3f*","",0x4), + 0x801F59E0:("D_801F59E0","s32","",0x4), + 0x801F59E4:("D_801F59E4","s32","",0x4), 0x801F59E8:("D_801F59E8","Vec3f","",0xC), - 0x801F59F4:("D_801F59F4","UNK_TYPE1","",0x1), - 0x801F59F8:("D_801F59F8","UNK_TYPE1","",0x1), + 0x801F59F4:("D_801F59F4","s32","",0x4), + 0x801F59F8:("D_801F59F8","s32","",0x4), 0x801F5A00:("sQuakeRequest","QuakeRequest","[4]",0x90), 0x801F5A90:("sDistortionRequest","DistortionRequest","",0xc), 0x801F5AA0:("sMatAnimStep","s32","",0x4), diff --git a/tools/namefixer.py b/tools/namefixer.py index aba4a5aa41..eae3efd941 100755 --- a/tools/namefixer.py +++ b/tools/namefixer.py @@ -297,6 +297,7 @@ wordReplace = { "func_800B86C8": "Actor_ChangeFocus", "func_800B90F4": "Actor_DeactivateLens", "func_800BC770": "Actor_AddQuake", + "func_800DF840": "Camera_ChangeMode", "zelda_malloc": "ZeldaArena_Malloc", "zelda_mallocR": "ZeldaArena_MallocR", "zelda_realloc": "ZeldaArena_Realloc", @@ -606,6 +607,7 @@ wordReplace = { "EffectSsKiraKira_SpawnSmall": "EffectSsKirakira_SpawnSmall", "EffectSsKiraKira_SpawnDispersed": "EffectSsKirakira_SpawnDispersed", "EffectSsKiraKira_SpawnFocused": "EffectSsKirakira_SpawnFocused", + "Effect_Getplay": "Effect_GetPlayState", "Effect_GetGlobalCtx": "Effect_GetPlayState", "EffectSsHitMark_Spawn": "EffectSsHitmark_Spawn", "EffectSsHitMark_SpawnFixedScale": "EffectSsHitmark_SpawnFixedScale", @@ -699,6 +701,7 @@ wordReplace = { "gSaveContext.equips": "gSaveContext.save.equips", "gSaveContext.unk_1016": "gSaveContext.jinxTimer", "gSaveContext.unk_3F58": "gSaveContext.sunsSongState", + "gSaveContext.equips.buttonItems": "gSaveContext.save.equips.buttonItems", "gSaveContext.unk_48C8": "gSaveContext.dungeonIndex", "gSaveContext.save.playerData.magicAcquired": "gSaveContext.save.playerData.isMagicAcquired", "gSaveContext.save.playerDatadoubleMagic": "gSaveContext.save.playerData.isDoubleMagicAcquired", @@ -723,6 +726,7 @@ wordReplace = { "player->swordAnimation": "player->meleeWeaponAnimation", "player->swordState": "player->meleeWeaponState", "player->swordInfo": "player->meleeWeaponInfo", + "csCtx.npcActions": "csCtx.actorActions", "csCtx->npcActions": "csCtx->actorActions", "csCtx.unk_12": "csCtx.currentCsIndex", @@ -768,13 +772,10 @@ wordReplace = { "gSaveContext.fadeDuration": "gSaveContext.transFadeDuration", "gSaveContext.fadeSpeed": "gSaveContext.transWipeSpeed", - "D_801D15B0" : "gZeroVec3f", - "D_801D15BC" : "gZeroVec3s", - "D_801D1DE0" : "gIdentityMtx", - "D_801D1E20" : "gIdentityMtxF", - "D_04020658" : "gameplay_keep_Anim_020658", - "D_04022B28" : "gDoorSkel", - "D_04023100" : "gDoorCol", + "D_801D15B0": "gZeroVec3f", + "D_801D15BC": "gZeroVec3s", + "D_801D1DE0": "gIdentityMtx", + "D_801D1E20": "gIdentityMtxF", # Macros "CUR_EQUIP_VALUE_VOID": "GET_CUR_EQUIP_VALUE", diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index a2d2354ff7..1678b9186d 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -1716,7 +1716,7 @@ asm/non_matchings/code/z_player_lib/func_801235DC.s,func_801235DC,0x801235DC,0x1 asm/non_matchings/code/z_player_lib/func_8012364C.s,func_8012364C,0x8012364C,0x71 asm/non_matchings/code/z_player_lib/func_80123810.s,func_80123810,0x80123810,0x54 asm/non_matchings/code/z_player_lib/Player_ActionToModelGroup.s,Player_ActionToModelGroup,0x80123960,0x13 -asm/non_matchings/code/z_player_lib/func_801239AC.s,func_801239AC,0x801239AC,0x3E +asm/non_matchings/code/z_player_lib/Player_SetModelsForHoldingShield.s,Player_SetModelsForHoldingShield,0x801239AC,0x3E asm/non_matchings/code/z_player_lib/Player_SetModels.s,Player_SetModels,0x80123AA4,0x4C asm/non_matchings/code/z_player_lib/Player_SetModelGroup.s,Player_SetModelGroup,0x80123BD4,0x21 asm/non_matchings/code/z_player_lib/func_80123C58.s,func_80123C58,0x80123C58,0xE @@ -1744,12 +1744,12 @@ asm/non_matchings/code/z_player_lib/Player_ActionToBottle.s,Player_ActionToBottl asm/non_matchings/code/z_player_lib/Player_GetBottleHeld.s,Player_GetBottleHeld,0x8012420C,0x8 asm/non_matchings/code/z_player_lib/Player_ActionToExplosive.s,Player_ActionToExplosive,0x8012422C,0xB asm/non_matchings/code/z_player_lib/Player_GetExplosiveHeld.s,Player_GetExplosiveHeld,0x80124258,0x8 -asm/non_matchings/code/z_player_lib/func_80124278.s,func_80124278,0x80124278,0xF +asm/non_matchings/code/z_player_lib/Player_ActionToSword.s,Player_ActionToSword,0x80124278,0xF asm/non_matchings/code/z_player_lib/func_801242B4.s,func_801242B4,0x801242B4,0xA asm/non_matchings/code/z_player_lib/Player_GetEnvTimerType.s,Player_GetEnvTimerType,0x801242DC,0x51 asm/non_matchings/code/z_player_lib/func_80124420.s,func_80124420,0x80124420,0x7E asm/non_matchings/code/z_player_lib/func_80124618.s,func_80124618,0x80124618,0x37 -asm/non_matchings/code/z_player_lib/func_801246F4.s,func_801246F4,0x801246F4,0x5F +asm/non_matchings/code/z_player_lib/Player_DrawImpl.s,Player_DrawImpl,0x801246F4,0x5F asm/non_matchings/code/z_player_lib/func_80124870.s,func_80124870,0x80124870,0x115 asm/non_matchings/code/z_player_lib/func_80124CC4.s,func_80124CC4,0x80124CC4,0x95 asm/non_matchings/code/z_player_lib/func_80124F18.s,func_80124F18,0x80124F18,0x36 @@ -1777,14 +1777,14 @@ asm/non_matchings/code/z_player_lib/func_801271B0.s,func_801271B0,0x801271B0,0xA asm/non_matchings/code/z_player_lib/func_80127438.s,func_80127438,0x80127438,0x14 asm/non_matchings/code/z_player_lib/func_80127488.s,func_80127488,0x80127488,0x31 asm/non_matchings/code/z_player_lib/Player_DrawCouplesMask.s,Player_DrawCouplesMask,0x8012754C,0x12 -asm/non_matchings/code/z_player_lib/func_80127594.s,func_80127594,0x80127594,0xD9 -asm/non_matchings/code/z_player_lib/func_801278F8.s,func_801278F8,0x801278F8,0x5A -asm/non_matchings/code/z_player_lib/func_80127A60.s,func_80127A60,0x80127A60,0x41 +asm/non_matchings/code/z_player_lib/Player_DrawCircusLeadersMask.s,Player_DrawCircusLeadersMask,0x80127594,0xD9 +asm/non_matchings/code/z_player_lib/Player_DrawBlastMask.s,Player_DrawBlastMask,0x801278F8,0x5A +asm/non_matchings/code/z_player_lib/Player_DrawBunnyHood.s,Player_DrawBunnyHood,0x80127A60,0x41 asm/non_matchings/code/z_player_lib/func_80127B64.s,func_80127B64,0x80127B64,0x21 asm/non_matchings/code/z_player_lib/func_80127BE8.s,func_80127BE8,0x80127BE8,0x6F asm/non_matchings/code/z_player_lib/func_80127DA4.s,func_80127DA4,0x80127DA4,0x179 asm/non_matchings/code/z_player_lib/func_80128388.s,func_80128388,0x80128388,0x46 -asm/non_matchings/code/z_player_lib/func_801284A0.s,func_801284A0,0x801284A0,0x68 +asm/non_matchings/code/z_player_lib/Player_DrawGreatFairysMask.s,Player_DrawGreatFairysMask,0x801284A0,0x68 asm/non_matchings/code/z_player_lib/func_80128640.s,func_80128640,0x80128640,0x14D asm/non_matchings/code/z_player_lib/func_80128B74.s,func_80128B74,0x80128B74,0x17 asm/non_matchings/code/z_player_lib/func_80128BD0.s,func_80128BD0,0x80128BD0,0x4C8