Some documentation changes for zplayer (#3172)

* Documentation changes for zplayer

* Update soh/include/z64player.h

Co-authored-by: Adam Bird <Archez@users.noreply.github.com>

---------

Co-authored-by: Adam Bird <Archez@users.noreply.github.com>
This commit is contained in:
Garrett Cox 2023-09-15 13:39:46 -05:00 committed by GitHub
parent a4b5d569b1
commit c11a6a17e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
47 changed files with 576 additions and 576 deletions

View File

@ -472,7 +472,7 @@ void func_8002F6D4(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4,
void func_8002F71C(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4); void func_8002F71C(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4);
void func_8002F758(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5); void func_8002F758(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4, u32 arg5);
void func_8002F7A0(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4); void func_8002F7A0(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4);
void func_8002F7DC(Actor* actor, u16 sfxId); void Player_PlaySfx(Actor* actor, u16 sfxId);
void Audio_PlayActorSound2(Actor* actor, u16 sfxId); void Audio_PlayActorSound2(Actor* actor, u16 sfxId);
void func_8002F850(PlayState* play, Actor* actor); void func_8002F850(PlayState* play, Actor* actor);
void func_8002F8F0(Actor* actor, u16 sfxId); void func_8002F8F0(Actor* actor, u16 sfxId);
@ -1132,8 +1132,8 @@ s32 Player_HoldsHookshot(Player* player);
s32 Player_HoldsBow(Player* player); s32 Player_HoldsBow(Player* player);
s32 Player_HoldsSlingshot(Player* player); s32 Player_HoldsSlingshot(Player* player);
s32 func_8008F128(Player* player); s32 func_8008F128(Player* player);
s32 Player_ActionToSword(s32 actionParam); s32 Player_ActionToMeleeWeapon(s32 actionParam);
s32 Player_GetSwordHeld(Player* player); s32 Player_GetMeleeWeaponHeld(Player* player);
s32 Player_HoldsTwoHandedWeapon(Player* player); s32 Player_HoldsTwoHandedWeapon(Player* player);
s32 Player_HoldsBrokenKnife(Player* player); s32 Player_HoldsBrokenKnife(Player* player);
s32 Player_ActionToBottle(Player* player, s32 actionParam); s32 Player_ActionToBottle(Player* player, s32 actionParam);
@ -1141,19 +1141,19 @@ s32 Player_GetBottleHeld(Player* player);
s32 Player_ActionToExplosive(Player* player, s32 actionParam); s32 Player_ActionToExplosive(Player* player, s32 actionParam);
s32 Player_GetExplosiveHeld(Player* player); s32 Player_GetExplosiveHeld(Player* player);
s32 func_8008F2BC(Player* player, s32 actionParam); s32 func_8008F2BC(Player* player, s32 actionParam);
s32 func_8008F2F8(PlayState* play); s32 Player_GetEnvironmentalHazard(PlayState* play);
void func_8008F470(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic, void Player_DrawImpl(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic,
s32 boots, s32 face, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* this); s32 boots, s32 face, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* this);
s32 func_8008FCC8(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data); s32 Player_OverrideLimbDrawGameplayCommon(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data);
s32 func_80090014(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data); s32 Player_OverrideLimbDrawGameplayDefault(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data);
s32 func_800902F0(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data); s32 Player_OverrideLimbDrawGameplayFirstPerson(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data);
s32 func_80090440(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data); s32 Player_OverrideLimbDrawGameplayCrawling(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* data);
u8 func_80090480(PlayState* play, ColliderQuad* collider, WeaponInfo* weaponDim, Vec3f* newTip, u8 func_80090480(PlayState* play, ColliderQuad* collider, WeaponInfo* weaponDim, Vec3f* newTip,
Vec3f* newBase); Vec3f* newBase);
void Player_DrawGetItem(PlayState* play, Player* player); void Player_DrawGetItem(PlayState* play, Player* player);
void func_80090D20(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* data); void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* data);
u32 func_80091738(PlayState* play, u8* segment, SkelAnime* skelAnime); u32 func_80091738(PlayState* play, u8* segment, SkelAnime* skelAnime);
void func_8009214C(PlayState* play, u8* segment, SkelAnime* skelAnime, Vec3f* pos, Vec3s* rot, f32 scale, void Player_DrawPause(PlayState* play, u8* segment, SkelAnime* skelAnime, Vec3f* pos, Vec3s* rot, f32 scale,
s32 sword, s32 tunic, s32 shield, s32 boots); s32 sword, s32 tunic, s32 shield, s32 boots);
void PreNMI_Init(GameState* thisx); void PreNMI_Init(GameState* thisx);
Vec3f* Quake_AddVec(Vec3f* dst, Vec3f* arg1, VecSph* arg2); Vec3f* Quake_AddVec(Vec3f* dst, Vec3f* arg1, VecSph* arg2);

View File

@ -83,10 +83,10 @@ extern "C"
extern s16 gSpoilingItemReverts[3]; extern s16 gSpoilingItemReverts[3];
extern FlexSkeletonHeader* gPlayerSkelHeaders[2]; extern FlexSkeletonHeader* gPlayerSkelHeaders[2];
extern u8 gPlayerModelTypes[][5]; extern u8 gPlayerModelTypes[][5];
extern Gfx* D_80125DE8[]; extern Gfx* gPlayerLeftHandBgsDLs[];
extern Gfx* D_80125E08[]; extern Gfx* gPlayerLeftHandOpenDLs[];
extern Gfx* D_80125E18[]; extern Gfx* gPlayerLeftHandClosedDLs[];
extern Gfx* D_80125EF8[]; extern Gfx* gPlayerLeftHandBoomerangDLs[];
extern Gfx gCullBackDList[]; extern Gfx gCullBackDList[];
extern Gfx gCullFrontDList[]; extern Gfx gCullFrontDList[];
extern Gfx gEmptyDL[]; extern Gfx gEmptyDL[];

View File

@ -13,7 +13,7 @@ typedef enum {
/* 0 */ PLAYER_SWORD_NONE, /* 0 */ PLAYER_SWORD_NONE,
/* 1 */ PLAYER_SWORD_KOKIRI, /* 1 */ PLAYER_SWORD_KOKIRI,
/* 2 */ PLAYER_SWORD_MASTER, /* 2 */ PLAYER_SWORD_MASTER,
/* 3 */ PLAYER_SWORD_BGS, /* 3 */ PLAYER_SWORD_BIGGORON,
/* 4 */ PLAYER_SWORD_MAX /* 4 */ PLAYER_SWORD_MAX
} PlayerSword; } PlayerSword;
@ -70,8 +70,8 @@ typedef enum {
/* 0x02 */ PLAYER_IA_FISHING_POLE, /* 0x02 */ PLAYER_IA_FISHING_POLE,
/* 0x03 */ PLAYER_IA_SWORD_MASTER, /* 0x03 */ PLAYER_IA_SWORD_MASTER,
/* 0x04 */ PLAYER_IA_SWORD_KOKIRI, /* 0x04 */ PLAYER_IA_SWORD_KOKIRI,
/* 0x05 */ PLAYER_IA_SWORD_BGS, /* 0x05 */ PLAYER_IA_SWORD_BIGGORON,
/* 0x06 */ PLAYER_IA_STICK, /* 0x06 */ PLAYER_IA_DEKU_STICK,
/* 0x07 */ PLAYER_IA_HAMMER, /* 0x07 */ PLAYER_IA_HAMMER,
/* 0x08 */ PLAYER_IA_BOW, /* 0x08 */ PLAYER_IA_BOW,
/* 0x09 */ PLAYER_IA_BOW_FIRE, /* 0x09 */ PLAYER_IA_BOW_FIRE,
@ -92,33 +92,33 @@ typedef enum {
/* 0x18 */ PLAYER_IA_FARORES_WIND, /* 0x18 */ PLAYER_IA_FARORES_WIND,
/* 0x19 */ PLAYER_IA_NAYRUS_LOVE, /* 0x19 */ PLAYER_IA_NAYRUS_LOVE,
/* 0x1A */ PLAYER_IA_DINS_FIRE, /* 0x1A */ PLAYER_IA_DINS_FIRE,
/* 0x1B */ PLAYER_IA_NUT, /* 0x1B */ PLAYER_IA_DEKU_NUT,
/* 0x1C */ PLAYER_IA_OCARINA_FAIRY, /* 0x1C */ PLAYER_IA_OCARINA_FAIRY,
/* 0x1D */ PLAYER_IA_OCARINA_TIME, /* 0x1D */ PLAYER_IA_OCARINA_OF_TIME,
/* 0x1E */ PLAYER_IA_BOTTLE, /* 0x1E */ PLAYER_IA_BOTTLE,
/* 0x1F */ PLAYER_IA_BOTTLE_FISH, /* 0x1F */ PLAYER_IA_BOTTLE_FISH,
/* 0x20 */ PLAYER_IA_BOTTLE_FIRE, /* 0x20 */ PLAYER_IA_BOTTLE_FIRE,
/* 0x21 */ PLAYER_IA_BOTTLE_BUG, /* 0x21 */ PLAYER_IA_BOTTLE_BUG,
/* 0x22 */ PLAYER_IA_BOTTLE_POE, /* 0x22 */ PLAYER_IA_BOTTLE_POE,
/* 0x23 */ PLAYER_IA_BOTTLE_BIG_POE, /* 0x23 */ PLAYER_IA_BOTTLE_BIG_POE,
/* 0x24 */ PLAYER_IA_BOTTLE_LETTER, /* 0x24 */ PLAYER_IA_BOTTLE_RUTOS_LETTER,
/* 0x25 */ PLAYER_IA_BOTTLE_POTION_RED, /* 0x25 */ PLAYER_IA_BOTTLE_POTION_RED,
/* 0x26 */ PLAYER_IA_BOTTLE_POTION_BLUE, /* 0x26 */ PLAYER_IA_BOTTLE_POTION_BLUE,
/* 0x27 */ PLAYER_IA_BOTTLE_POTION_GREEN, /* 0x27 */ PLAYER_IA_BOTTLE_POTION_GREEN,
/* 0x28 */ PLAYER_IA_BOTTLE_MILK, /* 0x28 */ PLAYER_IA_BOTTLE_MILK_FULL,
/* 0x29 */ PLAYER_IA_BOTTLE_MILK_HALF, /* 0x29 */ PLAYER_IA_BOTTLE_MILK_HALF,
/* 0x2A */ PLAYER_IA_BOTTLE_FAIRY, /* 0x2A */ PLAYER_IA_BOTTLE_FAIRY,
/* 0x2B */ PLAYER_IA_LETTER_ZELDA, /* 0x2B */ PLAYER_IA_ZELDAS_LETTER,
/* 0x2C */ PLAYER_IA_WEIRD_EGG, /* 0x2C */ PLAYER_IA_WEIRD_EGG,
/* 0x2D */ PLAYER_IA_CHICKEN, /* 0x2D */ PLAYER_IA_CHICKEN,
/* 0x2E */ PLAYER_IA_BEAN, /* 0x2E */ PLAYER_IA_MAGIC_BEAN,
/* 0x2F */ PLAYER_IA_POCKET_EGG, /* 0x2F */ PLAYER_IA_POCKET_EGG,
/* 0x30 */ PLAYER_IA_POCKET_CUCCO, /* 0x30 */ PLAYER_IA_POCKET_CUCCO,
/* 0x31 */ PLAYER_IA_COJIRO, /* 0x31 */ PLAYER_IA_COJIRO,
/* 0x32 */ PLAYER_IA_ODD_MUSHROOM, /* 0x32 */ PLAYER_IA_ODD_MUSHROOM,
/* 0x33 */ PLAYER_IA_ODD_POTION, /* 0x33 */ PLAYER_IA_ODD_POTION,
/* 0x34 */ PLAYER_IA_SAW, /* 0x34 */ PLAYER_IA_POACHERS_SAW,
/* 0x35 */ PLAYER_IA_SWORD_BROKEN, /* 0x35 */ PLAYER_IA_BROKEN_GORONS_SWORD,
/* 0x36 */ PLAYER_IA_PRESCRIPTION, /* 0x36 */ PLAYER_IA_PRESCRIPTION,
/* 0x37 */ PLAYER_IA_FROG, /* 0x37 */ PLAYER_IA_FROG,
/* 0x38 */ PLAYER_IA_EYEDROPS, /* 0x38 */ PLAYER_IA_EYEDROPS,
@ -126,12 +126,12 @@ typedef enum {
/* 0x3A */ PLAYER_IA_MASK_KEATON, /* 0x3A */ PLAYER_IA_MASK_KEATON,
/* 0x3B */ PLAYER_IA_MASK_SKULL, /* 0x3B */ PLAYER_IA_MASK_SKULL,
/* 0x3C */ PLAYER_IA_MASK_SPOOKY, /* 0x3C */ PLAYER_IA_MASK_SPOOKY,
/* 0x3D */ PLAYER_IA_MASK_BUNNY, /* 0x3D */ PLAYER_IA_MASK_BUNNY_HOOD,
/* 0x3E */ PLAYER_IA_MASK_GORON, /* 0x3E */ PLAYER_IA_MASK_GORON,
/* 0x3F */ PLAYER_IA_MASK_ZORA, /* 0x3F */ PLAYER_IA_MASK_ZORA,
/* 0x40 */ PLAYER_IA_MASK_GERUDO, /* 0x40 */ PLAYER_IA_MASK_GERUDO,
/* 0x41 */ PLAYER_IA_MASK_TRUTH, /* 0x41 */ PLAYER_IA_MASK_TRUTH,
/* 0x42 */ PLAYER_IA_LENS, /* 0x42 */ PLAYER_IA_LENS_OF_TRUTH,
// Upstream TODO: Document why these entries were added // Upstream TODO: Document why these entries were added
/* 0x43 */ PLAYER_IA_SHIELD_DEKU, /* 0x43 */ PLAYER_IA_SHIELD_DEKU,
/* 0x44 */ PLAYER_IA_SHIELD_HYLIAN, /* 0x44 */ PLAYER_IA_SHIELD_HYLIAN,
@ -303,51 +303,51 @@ typedef enum {
} PlayerAnimType; } PlayerAnimType;
typedef enum { typedef enum {
/* 0x00 */ PLAYER_ANIMGROUP_0, /* 0x00 */ PLAYER_ANIMGROUP_wait,
/* 0x01 */ PLAYER_ANIMGROUP_1, /* 0x01 */ PLAYER_ANIMGROUP_walk,
/* 0x02 */ PLAYER_ANIMGROUP_2, /* 0x02 */ PLAYER_ANIMGROUP_run,
/* 0x03 */ PLAYER_ANIMGROUP_3, /* 0x03 */ PLAYER_ANIMGROUP_damage_run,
/* 0x04 */ PLAYER_ANIMGROUP_4, /* 0x04 */ PLAYER_ANIMGROUP_heavy_run,
/* 0x05 */ PLAYER_ANIMGROUP_5, /* 0x05 */ PLAYER_ANIMGROUP_waitL,
/* 0x06 */ PLAYER_ANIMGROUP_6, /* 0x06 */ PLAYER_ANIMGROUP_waitR,
/* 0x07 */ PLAYER_ANIMGROUP_7, /* 0x07 */ PLAYER_ANIMGROUP_wait2waitR,
/* 0x08 */ PLAYER_ANIMGROUP_8, /* 0x08 */ PLAYER_ANIMGROUP_normal2fighter,
/* 0x09 */ PLAYER_ANIMGROUP_9, /* 0x09 */ PLAYER_ANIMGROUP_doorA_free,
/* 0x0A */ PLAYER_ANIMGROUP_10, /* 0x0A */ PLAYER_ANIMGROUP_doorA,
/* 0x0B */ PLAYER_ANIMGROUP_11, /* 0x0B */ PLAYER_ANIMGROUP_doorB_free,
/* 0x0C */ PLAYER_ANIMGROUP_12, /* 0x0C */ PLAYER_ANIMGROUP_doorB,
/* 0x0D */ PLAYER_ANIMGROUP_13, /* 0x0D */ PLAYER_ANIMGROUP_carryB,
/* 0x0E */ PLAYER_ANIMGROUP_14, /* 0x0E */ PLAYER_ANIMGROUP_landing,
/* 0x0F */ PLAYER_ANIMGROUP_15, /* 0x0F */ PLAYER_ANIMGROUP_short_landing,
/* 0x10 */ PLAYER_ANIMGROUP_16, /* 0x10 */ PLAYER_ANIMGROUP_landing_roll,
/* 0x11 */ PLAYER_ANIMGROUP_17, /* 0x11 */ PLAYER_ANIMGROUP_hip_down,
/* 0x12 */ PLAYER_ANIMGROUP_18, /* 0x12 */ PLAYER_ANIMGROUP_walk_endL,
/* 0x13 */ PLAYER_ANIMGROUP_19, /* 0x13 */ PLAYER_ANIMGROUP_walk_endR,
/* 0x14 */ PLAYER_ANIMGROUP_20, /* 0x14 */ PLAYER_ANIMGROUP_defense,
/* 0x15 */ PLAYER_ANIMGROUP_21, /* 0x15 */ PLAYER_ANIMGROUP_defense_wait,
/* 0x16 */ PLAYER_ANIMGROUP_22, /* 0x16 */ PLAYER_ANIMGROUP_defense_end,
/* 0x17 */ PLAYER_ANIMGROUP_23, /* 0x17 */ PLAYER_ANIMGROUP_side_walk,
/* 0x18 */ PLAYER_ANIMGROUP_24, /* 0x18 */ PLAYER_ANIMGROUP_side_walkL,
/* 0x19 */ PLAYER_ANIMGROUP_25, /* 0x19 */ PLAYER_ANIMGROUP_side_walkR,
/* 0x1A */ PLAYER_ANIMGROUP_26, /* 0x1A */ PLAYER_ANIMGROUP_45_turn,
/* 0x1B */ PLAYER_ANIMGROUP_27, /* 0x1B */ PLAYER_ANIMGROUP_waitL2wait,
/* 0x1C */ PLAYER_ANIMGROUP_28, /* 0x1C */ PLAYER_ANIMGROUP_waitR2wait,
/* 0x1D */ PLAYER_ANIMGROUP_29, /* 0x1D */ PLAYER_ANIMGROUP_throw,
/* 0x1E */ PLAYER_ANIMGROUP_30, /* 0x1E */ PLAYER_ANIMGROUP_put,
/* 0x1F */ PLAYER_ANIMGROUP_31, /* 0x1F */ PLAYER_ANIMGROUP_back_walk,
/* 0x20 */ PLAYER_ANIMGROUP_32, /* 0x20 */ PLAYER_ANIMGROUP_check,
/* 0x21 */ PLAYER_ANIMGROUP_33, /* 0x21 */ PLAYER_ANIMGROUP_check_wait,
/* 0x22 */ PLAYER_ANIMGROUP_34, /* 0x22 */ PLAYER_ANIMGROUP_check_end,
/* 0x23 */ PLAYER_ANIMGROUP_35, /* 0x23 */ PLAYER_ANIMGROUP_pull_start,
/* 0x24 */ PLAYER_ANIMGROUP_36, /* 0x24 */ PLAYER_ANIMGROUP_pulling,
/* 0x25 */ PLAYER_ANIMGROUP_37, /* 0x25 */ PLAYER_ANIMGROUP_pull_end,
/* 0x26 */ PLAYER_ANIMGROUP_38, /* 0x26 */ PLAYER_ANIMGROUP_fall_up,
/* 0x27 */ PLAYER_ANIMGROUP_39, /* 0x27 */ PLAYER_ANIMGROUP_jump_climb_hold,
/* 0x28 */ PLAYER_ANIMGROUP_40, /* 0x28 */ PLAYER_ANIMGROUP_jump_climb_wait,
/* 0x29 */ PLAYER_ANIMGROUP_41, /* 0x29 */ PLAYER_ANIMGROUP_jump_climb_up,
/* 0x2A */ PLAYER_ANIMGROUP_42, /* 0x2A */ PLAYER_ANIMGROUP_down_slope_slip_end,
/* 0x2B */ PLAYER_ANIMGROUP_43, /* 0x2B */ PLAYER_ANIMGROUP_up_slope_slip_end,
/* 0x2C */ PLAYER_ANIMGROUP_44, /* 0x2C */ PLAYER_ANIMGROUP_nwait,
/* 0x2D */ PLAYER_ANIMGROUP_MAX /* 0x2D */ PLAYER_ANIMGROUP_MAX
} PlayerAnimGroup; } PlayerAnimGroup;
@ -608,7 +608,7 @@ typedef struct Player {
/* 0x083E */ s16 targetYaw; /* 0x083E */ s16 targetYaw;
/* 0x0840 */ u16 unk_840; /* 0x0840 */ u16 unk_840;
/* 0x0842 */ s8 meleeWeaponAnimation; /* 0x0842 */ s8 meleeWeaponAnimation;
/* 0x0843 */ s8 swordState; // Upstream TODO: meleeWeaponState /* 0x0843 */ s8 meleeWeaponState;
/* 0x0844 */ s8 unk_844; /* 0x0844 */ s8 unk_844;
/* 0x0845 */ u8 unk_845; /* 0x0845 */ u8 unk_845;
/* 0x0846 */ u8 unk_846; /* 0x0846 */ u8 unk_846;

View File

@ -1620,7 +1620,7 @@ void DrawPlayerTab() {
gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KNIFE; gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KNIFE;
} }
Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_BGS); Inventory_ChangeEquipment(EQUIP_SWORD, PLAYER_SWORD_BIGGORON);
} }
if (ImGui::Selectable("Fishing Pole")) { if (ImGui::Selectable("Fishing Pole")) {
player->currentSwordItemId = ITEM_FISHING_POLE; player->currentSwordItemId = ITEM_FISHING_POLE;
@ -1725,7 +1725,7 @@ void DrawPlayerTab() {
} }
DrawGroupWithBorder([&]() { DrawGroupWithBorder([&]() {
ImGui::Text("Sword"); ImGui::Text("Sword");
ImGui::Text(" %d", player->swordState); ImGui::Text(" %d", player->meleeWeaponState);
}); });
} else { } else {

View File

@ -140,7 +140,7 @@ void RegisterInfiniteISG() {
if (CVarGetInteger("gEzISG", 0) != 0) { if (CVarGetInteger("gEzISG", 0) != 0) {
Player* player = GET_PLAYER(gPlayState); Player* player = GET_PLAYER(gPlayState);
player->swordState = 1; player->meleeWeaponState = 1;
} }
}); });
} }

View File

@ -2174,7 +2174,7 @@ void func_8002F7A0(PlayState* play, Actor* actor, f32 arg2, s16 arg3, f32 arg4)
func_8002F758(play, actor, arg2, arg3, arg4, 0); func_8002F758(play, actor, arg2, arg3, arg4, 0);
} }
void func_8002F7DC(Actor* actor, u16 sfxId) { void Player_PlaySfx(Actor* actor, u16 sfxId) {
if (actor->id != ACTOR_PLAYER || sfxId < NA_SE_VO_LI_SWORD_N || sfxId > NA_SE_VO_LI_ELECTRIC_SHOCK_LV_KID) { if (actor->id != ACTOR_PLAYER || sfxId < NA_SE_VO_LI_SWORD_N || sfxId > NA_SE_VO_LI_ELECTRIC_SHOCK_LV_KID) {
Audio_PlaySoundGeneral(sfxId, &actor->projectedPos, 4, &D_801333E0 , &D_801333E0, &D_801333E8); Audio_PlaySoundGeneral(sfxId, &actor->projectedPos, 4, &D_801333E0 , &D_801333E0, &D_801333E8);
} else { } else {
@ -4514,7 +4514,7 @@ s32 func_800354B4(PlayState* play, Actor* actor, f32 range, s16 arg3, s16 arg4,
var1 = (s16)(actor->yawTowardsPlayer + 0x8000) - player->actor.shape.rot.y; var1 = (s16)(actor->yawTowardsPlayer + 0x8000) - player->actor.shape.rot.y;
var2 = actor->yawTowardsPlayer - arg5; var2 = actor->yawTowardsPlayer - arg5;
if ((actor->xzDistToPlayer <= range) && (player->swordState != 0) && (arg4 >= ABS(var1)) && (arg3 >= ABS(var2))) { if ((actor->xzDistToPlayer <= range) && (player->meleeWeaponState != 0) && (arg4 >= ABS(var1)) && (arg3 >= ABS(var2))) {
return true; return true;
} else { } else {
return false; return false;
@ -4554,7 +4554,7 @@ void func_800355B8(PlayState* play, Vec3f* pos) {
u8 func_800355E4(PlayState* play, Collider* collider) { u8 func_800355E4(PlayState* play, Collider* collider) {
Player* player = GET_PLAYER(play); Player* player = GET_PLAYER(play);
if ((collider->acFlags & AC_TYPE_PLAYER) && (player->swordState != 0) && (player->meleeWeaponAnimation == 0x16)) { if ((collider->acFlags & AC_TYPE_PLAYER) && (player->meleeWeaponState != 0) && (player->meleeWeaponAnimation == 0x16)) {
return true; return true;
} else { } else {
return false; return false;

View File

@ -3083,7 +3083,7 @@ s32 Camera_Battle1(Camera* camera) {
} }
anim->roll += (((OREG(36) * camera->speedRatio) * (1.0f - distRatio)) - anim->roll) * PCT(OREG(37)); anim->roll += (((OREG(36) * camera->speedRatio) * (1.0f - distRatio)) - anim->roll) * PCT(OREG(37));
camera->roll = DEGF_TO_BINANG(anim->roll); camera->roll = DEGF_TO_BINANG(anim->roll);
camera->fov = Camera_LERPCeilF((player->swordState != 0 ? 0.8f camera->fov = Camera_LERPCeilF((player->meleeWeaponState != 0 ? 0.8f
: gSaveContext.health <= 0x10 ? 0.8f : gSaveContext.health <= 0x10 ? 0.8f
: 1.0f) * : 1.0f) *
(fov - ((fov * 0.05f) * distRatio)), (fov - ((fov * 0.05f) * distRatio)),

View File

@ -929,7 +929,7 @@ void func_80083108(PlayState* play) {
gSaveContext.buttonStatus[0] = gSaveContext.buttonStatus[1] = gSaveContext.buttonStatus[2] = gSaveContext.buttonStatus[0] = gSaveContext.buttonStatus[1] = gSaveContext.buttonStatus[2] =
gSaveContext.buttonStatus[3] = gSaveContext.buttonStatus[5] = gSaveContext.buttonStatus[6] = gSaveContext.buttonStatus[3] = gSaveContext.buttonStatus[5] = gSaveContext.buttonStatus[6] =
gSaveContext.buttonStatus[7] = gSaveContext.buttonStatus[8] = BTN_DISABLED; gSaveContext.buttonStatus[7] = gSaveContext.buttonStatus[8] = BTN_DISABLED;
} else if ((func_8008F2F8(play) >= 2) && (func_8008F2F8(play) < 5)) { } else if ((Player_GetEnvironmentalHazard(play) >= 2) && (Player_GetEnvironmentalHazard(play) < 5)) {
if (gSaveContext.buttonStatus[0] != BTN_DISABLED) { if (gSaveContext.buttonStatus[0] != BTN_DISABLED) {
sp28 = 1; sp28 = 1;
} }
@ -945,7 +945,7 @@ void func_80083108(PlayState* play) {
} }
gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] = BTN_ENABLED; gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] = BTN_ENABLED;
} else if (func_8008F2F8(play) == 2) { } else if (Player_GetEnvironmentalHazard(play) == 2) {
if ((gSaveContext.equips.buttonItems[i] != ITEM_HOOKSHOT) && if ((gSaveContext.equips.buttonItems[i] != ITEM_HOOKSHOT) &&
(gSaveContext.equips.buttonItems[i] != ITEM_LONGSHOT)) { (gSaveContext.equips.buttonItems[i] != ITEM_LONGSHOT)) {
if (gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] == BTN_ENABLED) { if (gSaveContext.buttonStatus[BUTTON_STATUS_INDEX(i)] == BTN_ENABLED) {
@ -3367,7 +3367,7 @@ void Interface_UpdateMagicBar(PlayState* play) {
break; break;
} }
} }
if ((gSaveContext.magic == 0) || ((func_8008F2F8(play) >= 2) && (func_8008F2F8(play) < 5)) || if ((gSaveContext.magic == 0) || ((Player_GetEnvironmentalHazard(play) >= 2) && (Player_GetEnvironmentalHazard(play) < 5)) ||
!hasLens || !hasLens ||
!play->actorCtx.lensActive) { !play->actorCtx.lensActive) {
play->actorCtx.lensActive = false; play->actorCtx.lensActive = false;
@ -4182,7 +4182,7 @@ void Interface_DrawItemButtons(PlayState* play) {
if ((gSaveContext.unk_13EA == 1) || (gSaveContext.unk_13EA == 2) || (gSaveContext.unk_13EA == 5)) { if ((gSaveContext.unk_13EA == 1) || (gSaveContext.unk_13EA == 2) || (gSaveContext.unk_13EA == 5)) {
temp = 0; temp = 0;
} else if ((player->stateFlags1 & 0x00200000) || (func_8008F2F8(play) == 4) || } else if ((player->stateFlags1 & 0x00200000) || (Player_GetEnvironmentalHazard(play) == 4) ||
(player->stateFlags2 & PLAYER_STATE2_CRAWLING)) { (player->stateFlags2 & PLAYER_STATE2_CRAWLING)) {
temp = 70; temp = 70;
} else { } else {
@ -6396,13 +6396,13 @@ void Interface_Update(PlayState* play) {
} }
HealthMeter_HandleCriticalAlarm(play); HealthMeter_HandleCriticalAlarm(play);
D_80125A58 = func_8008F2F8(play); D_80125A58 = Player_GetEnvironmentalHazard(play);
if (D_80125A58 == 1) { if (D_80125A58 == 1) {
if (CUR_EQUIP_VALUE(EQUIP_TUNIC) == 2 || CVarGetInteger("gSuperTunic", 0) != 0) { if (CUR_EQUIP_VALUE(EQUIP_TUNIC) == 2 || CVarGetInteger("gSuperTunic", 0) != 0) {
D_80125A58 = 0; D_80125A58 = 0;
} }
} else if ((func_8008F2F8(play) >= 2) && (func_8008F2F8(play) < 5)) { } else if ((Player_GetEnvironmentalHazard(play) >= 2) && (Player_GetEnvironmentalHazard(play) < 5)) {
if (CUR_EQUIP_VALUE(EQUIP_TUNIC) == 3 || CVarGetInteger("gSuperTunic", 0) != 0) { if (CUR_EQUIP_VALUE(EQUIP_TUNIC) == 3 || CVarGetInteger("gSuperTunic", 0) != 0) {
D_80125A58 = 0; D_80125A58 = 0;
} }

View File

@ -53,7 +53,7 @@ u8 gPlayerModelTypes[][5] = {
{ 0, 0, 13, 18, 20 }, { 0, 0, 14, 18, 20 }, { 0, 7, 8, 18, 20 }, { 0, 2, 8, 19, 20 }, { 0, 0, 13, 18, 20 }, { 0, 0, 14, 18, 20 }, { 0, 7, 8, 18, 20 }, { 0, 2, 8, 19, 20 },
}; };
Gfx* D_80125CE8[] = { Gfx* sPlayerRightHandShieldDLs[] = {
gLinkAdultRightHandClosedNearDL, gLinkAdultRightHandClosedNearDL,
gLinkChildRightHandClosedNearDL, gLinkChildRightHandClosedNearDL,
gLinkAdultRightHandClosedFarDL, gLinkAdultRightHandClosedFarDL,
@ -72,7 +72,7 @@ Gfx* D_80125CE8[] = {
gLinkChildRightHandClosedFarDL, gLinkChildRightHandClosedFarDL,
}; };
Gfx* D_80125D28[] = { Gfx* sSheathWithSwordDLs[] = {
gLinkAdultMasterSwordAndSheathNearDL, gLinkChildSwordAndSheathNearDL, gLinkAdultMasterSwordAndSheathNearDL, gLinkChildSwordAndSheathNearDL,
gLinkAdultMasterSwordAndSheathFarDL, gLinkChildSwordAndSheathFarDL, gLinkAdultMasterSwordAndSheathFarDL, gLinkChildSwordAndSheathFarDL,
gLinkAdultMasterSwordAndSheathNearDL, gLinkChildDekuShieldSwordAndSheathNearDL, gLinkAdultMasterSwordAndSheathNearDL, gLinkChildDekuShieldSwordAndSheathNearDL,
@ -87,7 +87,7 @@ Gfx* D_80125D28[] = {
NULL, gLinkChildDekuShieldWithMatrixDL, NULL, gLinkChildDekuShieldWithMatrixDL,
}; };
Gfx* D_80125D88[] = { Gfx* sSheathWithoutSwordDLs[] = {
gLinkAdultSheathNearDL, gLinkAdultSheathNearDL,
gLinkChildSheathNearDL, gLinkChildSheathNearDL,
gLinkAdultSheathFarDL, gLinkAdultSheathFarDL,
@ -114,162 +114,162 @@ Gfx* D_80125D88[] = {
gLinkChildDekuShieldWithMatrixDL, gLinkChildDekuShieldWithMatrixDL,
}; };
Gfx* D_80125DE8[] = { Gfx* gPlayerLeftHandBgsDLs[] = {
gLinkAdultLeftHandHoldingBgsNearDL, gLinkChildLeftHandHoldingMasterSwordDL, gLinkAdultLeftHandHoldingBgsNearDL, gLinkChildLeftHandHoldingMasterSwordDL,
gLinkAdultLeftHandHoldingBgsFarDL, gLinkChildLeftHandHoldingMasterSwordDL, gLinkAdultLeftHandHoldingBgsFarDL, gLinkChildLeftHandHoldingMasterSwordDL,
gLinkAdultHandHoldingBrokenGiantsKnifeDL, gLinkChildLeftHandHoldingMasterSwordDL, gLinkAdultHandHoldingBrokenGiantsKnifeDL, gLinkChildLeftHandHoldingMasterSwordDL,
gLinkAdultHandHoldingBrokenGiantsKnifeFarDL, gLinkChildLeftHandHoldingMasterSwordDL, gLinkAdultHandHoldingBrokenGiantsKnifeFarDL, gLinkChildLeftHandHoldingMasterSwordDL,
}; };
Gfx* D_80125E08[] = { Gfx* gPlayerLeftHandOpenDLs[] = {
gLinkAdultLeftHandNearDL, gLinkAdultLeftHandNearDL,
gLinkChildLeftHandNearDL, gLinkChildLeftHandNearDL,
gLinkAdultLeftHandFarDL, gLinkAdultLeftHandFarDL,
gLinkChildLeftHandFarDL, gLinkChildLeftHandFarDL,
}; };
Gfx* D_80125E18[] = { Gfx* gPlayerLeftHandClosedDLs[] = {
gLinkAdultLeftHandClosedNearDL, gLinkAdultLeftHandClosedNearDL,
gLinkChildLeftFistNearDL, gLinkChildLeftFistNearDL,
gLinkAdultLeftHandClosedFarDL, gLinkAdultLeftHandClosedFarDL,
gLinkChildLeftFistFarDL, gLinkChildLeftFistFarDL,
}; };
Gfx* D_80125E28[] = { Gfx* sPlayerLeftHandSwordDLs2[] = {
gLinkAdultLeftHandHoldingMasterSwordNearDL, gLinkAdultLeftHandHoldingMasterSwordNearDL,
gLinkChildLeftFistAndKokiriSwordNearDL, gLinkChildLeftFistAndKokiriSwordNearDL,
gLinkAdultLeftHandHoldingMasterSwordFarDL, gLinkAdultLeftHandHoldingMasterSwordFarDL,
gLinkChildLeftFistAndKokiriSwordFarDL, gLinkChildLeftFistAndKokiriSwordFarDL,
}; };
Gfx* D_80125E38[] = { Gfx* sPlayerLeftHandSwordDLs[] = {
gLinkAdultLeftHandHoldingMasterSwordNearDL, gLinkAdultLeftHandHoldingMasterSwordNearDL,
gLinkChildLeftFistAndKokiriSwordNearDL, gLinkChildLeftFistAndKokiriSwordNearDL,
gLinkAdultLeftHandHoldingMasterSwordFarDL, gLinkAdultLeftHandHoldingMasterSwordFarDL,
gLinkChildLeftFistAndKokiriSwordFarDL, gLinkChildLeftFistAndKokiriSwordFarDL,
}; };
Gfx* D_80125E48[] = { Gfx* sPlayerRightHandOpenDLs[] = {
gLinkAdultRightHandNearDL, gLinkAdultRightHandNearDL,
gLinkChildRightHandNearDL, gLinkChildRightHandNearDL,
gLinkAdultRightHandFarDL, gLinkAdultRightHandFarDL,
gLinkChildRightHandFarDL, gLinkChildRightHandFarDL,
}; };
Gfx* D_80125E58[] = { Gfx* sPlayerRightHandClosedDLs[] = {
gLinkAdultRightHandClosedNearDL, gLinkAdultRightHandClosedNearDL,
gLinkChildRightHandClosedNearDL, gLinkChildRightHandClosedNearDL,
gLinkAdultRightHandClosedFarDL, gLinkAdultRightHandClosedFarDL,
gLinkChildRightHandClosedFarDL, gLinkChildRightHandClosedFarDL,
}; };
Gfx* D_80125E68[] = { Gfx* sPlayerRightHandBowSlingshotDLs[] = {
gLinkAdultRightHandHoldingBowNearDL, gLinkAdultRightHandHoldingBowNearDL,
gLinkChildRightHandHoldingSlingshotNearDL, gLinkChildRightHandHoldingSlingshotNearDL,
gLinkAdultRightHandHoldingBowFarDL, gLinkAdultRightHandHoldingBowFarDL,
gLinkChildRightHandHoldingSlingshotFarDL, gLinkChildRightHandHoldingSlingshotFarDL,
}; };
Gfx* D_80125E78[] = { Gfx* sSwordAndSheathDLs[] = {
gLinkAdultMasterSwordAndSheathNearDL, gLinkAdultMasterSwordAndSheathNearDL,
gLinkChildSwordAndSheathNearDL, gLinkChildSwordAndSheathNearDL,
gLinkAdultMasterSwordAndSheathFarDL, gLinkAdultMasterSwordAndSheathFarDL,
gLinkChildSwordAndSheathFarDL, gLinkChildSwordAndSheathFarDL,
}; };
Gfx* D_80125E88[] = { Gfx* sSheathDLs[] = {
gLinkAdultSheathNearDL, gLinkAdultSheathNearDL,
gLinkChildSheathNearDL, gLinkChildSheathNearDL,
gLinkAdultSheathFarDL, gLinkAdultSheathFarDL,
gLinkChildSheathFarDL, gLinkChildSheathFarDL,
}; };
Gfx* D_80125E98[] = { Gfx* sPlayerWaistDLs[] = {
gLinkAdultWaistNearDL, gLinkAdultWaistNearDL,
gLinkChildWaistNearDL, gLinkChildWaistNearDL,
gLinkAdultWaistFarDL, gLinkAdultWaistFarDL,
gLinkChildWaistFarDL, gLinkChildWaistFarDL,
}; };
Gfx* D_80125EA8[] = { Gfx* sPlayerRightHandBowSlingshotDLs2[] = {
gLinkAdultRightHandHoldingBowNearDL, gLinkAdultRightHandHoldingBowNearDL,
gLinkChildRightHandHoldingSlingshotNearDL, gLinkChildRightHandHoldingSlingshotNearDL,
gLinkAdultRightHandHoldingBowFarDL, gLinkAdultRightHandHoldingBowFarDL,
gLinkChildRightHandHoldingSlingshotFarDL, gLinkChildRightHandHoldingSlingshotFarDL,
}; };
Gfx* D_80125EB8[] = { Gfx* sPlayerRightHandOcarinaDLs[] = {
gLinkAdultRightHandHoldingOotNearDL, gLinkAdultRightHandHoldingOotNearDL,
gLinkChildRightHandHoldingFairyOcarinaNearDL, gLinkChildRightHandHoldingFairyOcarinaNearDL,
gLinkAdultRightHandHoldingOotFarDL, gLinkAdultRightHandHoldingOotFarDL,
gLinkChildRightHandHoldingFairyOcarinaFarDL, gLinkChildRightHandHoldingFairyOcarinaFarDL,
}; };
Gfx* D_80125EC8[] = { Gfx* sPlayerRightHandOotDLs[] = {
gLinkAdultRightHandHoldingOotNearDL, gLinkAdultRightHandHoldingOotNearDL,
gLinkChildRightHandAndOotNearDL, gLinkChildRightHandAndOotNearDL,
gLinkAdultRightHandHoldingOotFarDL, gLinkAdultRightHandHoldingOotFarDL,
gLinkChildRightHandHoldingOOTFarDL, gLinkChildRightHandHoldingOOTFarDL,
}; };
Gfx* D_80125ED8[] = { Gfx* sPlayerRightHandHookshotDLs[] = {
gLinkAdultRightHandHoldingHookshotNearDL, gLinkAdultRightHandHoldingHookshotNearDL,
gLinkChildRightHandNearDL, gLinkChildRightHandNearDL,
gLinkAdultRightHandHoldingHookshotNearDL, // The 'far' display list exists but is not used gLinkAdultRightHandHoldingHookshotNearDL, // The 'far' display list exists but is not used
gLinkChildRightHandFarDL, gLinkChildRightHandFarDL,
}; };
Gfx* D_80125EE8[] = { Gfx* sPlayerLeftHandHammerDLs[] = {
gLinkAdultLeftHandHoldingHammerNearDL, gLinkAdultLeftHandHoldingHammerNearDL,
gLinkChildLeftHandNearDL, gLinkChildLeftHandNearDL,
gLinkAdultLeftHandHoldingHammerFarDL, gLinkAdultLeftHandHoldingHammerFarDL,
gLinkChildLeftHandFarDL, gLinkChildLeftHandFarDL,
}; };
Gfx* D_80125EF8[] = { Gfx* gPlayerLeftHandBoomerangDLs[] = {
gLinkAdultLeftHandNearDL, gLinkAdultLeftHandNearDL,
gLinkChildLeftFistAndBoomerangNearDL, gLinkChildLeftFistAndBoomerangNearDL,
gLinkAdultLeftHandFarDL, gLinkAdultLeftHandFarDL,
gLinkChildLeftFistAndBoomerangFarDL, gLinkChildLeftFistAndBoomerangFarDL,
}; };
Gfx* D_80125F08[] = { Gfx* sPlayerLeftHandBottleDLs[] = {
gLinkAdultLeftHandOutNearDL, gLinkAdultLeftHandOutNearDL,
gLinkChildLeftHandUpNearDL, gLinkChildLeftHandUpNearDL,
gLinkAdultLeftHandOutNearDL, gLinkAdultLeftHandOutNearDL,
gLinkChildLeftHandUpNearDL, gLinkChildLeftHandUpNearDL,
}; };
Gfx* sArmOutDLs[] = { Gfx* sFirstPersonLeftForearmDLs[] = {
gLinkAdultRightArmOutNearDL, gLinkAdultRightArmOutNearDL,
NULL, NULL,
}; };
Gfx* sHandOutDLs[] = { Gfx* sFirstPersonLeftHandDLs[] = {
gLinkAdultRightHandOutNearDL, gLinkAdultRightHandOutNearDL,
NULL, NULL,
}; };
Gfx* sRightShoulderNearDLs[] = { Gfx* sFirstPersonRightShoulderDLs[] = {
gLinkAdultRightShoulderNearDL, gLinkAdultRightShoulderNearDL,
gLinkChildRightShoulderNearDL, gLinkChildRightShoulderNearDL,
}; };
Gfx* D_80125F30[] = { Gfx* sFirstPersonForearmDLs[] = {
gLinkAdultLeftArmOutNearDL, gLinkAdultLeftArmOutNearDL,
NULL, NULL,
}; };
Gfx* sHoldingFirstPersonWeaponDLs[] = { Gfx* sFirstPersonRightHandHoldingWeaponDLs[] = {
gLinkAdultRightHandHoldingBowFirstPersonDL, gLinkAdultRightHandHoldingBowFirstPersonDL,
gLinkChildRightArmStretchedSlingshotDL, gLinkChildRightArmStretchedSlingshotDL,
}; };
// Indexed by model types (left hand, right hand, sheath or waist) // Indexed by model types (left hand, right hand, sheath or waist)
Gfx** sPlayerDListGroups[] = { Gfx** sPlayerDListGroups[] = {
D_80125E08, D_80125E18, D_80125E38, D_80125E28, D_80125DE8, D_80125EE8, D_80125EF8, gPlayerLeftHandOpenDLs, gPlayerLeftHandClosedDLs, sPlayerLeftHandSwordDLs, sPlayerLeftHandSwordDLs2, gPlayerLeftHandBgsDLs, sPlayerLeftHandHammerDLs, gPlayerLeftHandBoomerangDLs,
D_80125F08, D_80125E48, D_80125E58, D_80125CE8, D_80125E68, D_80125EA8, D_80125EB8, sPlayerLeftHandBottleDLs, sPlayerRightHandOpenDLs, sPlayerRightHandClosedDLs, sPlayerRightHandShieldDLs, sPlayerRightHandBowSlingshotDLs, sPlayerRightHandBowSlingshotDLs2, sPlayerRightHandOcarinaDLs,
D_80125EC8, D_80125ED8, D_80125E78, D_80125E88, D_80125D28, D_80125D88, D_80125E98, sPlayerRightHandOotDLs, sPlayerRightHandHookshotDLs, sSwordAndSheathDLs, sSheathDLs, sSheathWithSwordDLs, sSheathWithoutSwordDLs, sPlayerWaistDLs,
}; };
Gfx gCullBackDList[] = { Gfx gCullBackDList[] = {
@ -285,8 +285,8 @@ Gfx gCullFrontDList[] = {
Vec3f* D_80160000; Vec3f* D_80160000;
s32 sDListsLodOffset; s32 sDListsLodOffset;
Vec3f sGetItemRefPos; Vec3f sGetItemRefPos;
s32 D_80160014; s32 sLeftHandType;
s32 D_80160018; s32 sRightHandType;
void Player_SetBootData(PlayState* play, Player* this) { void Player_SetBootData(PlayState* play, Player* this) {
s32 currentBoots; s32 currentBoots;
@ -371,7 +371,7 @@ s32 Player_ActionToModelGroup(Player* this, s32 actionParam) {
void Player_SetModelsForHoldingShield(Player* this) { void Player_SetModelsForHoldingShield(Player* this) {
if ((this->stateFlags1 & 0x400000) && if ((this->stateFlags1 & 0x400000) &&
((this->itemAction < 0) || (this->itemAction == this->heldItemAction))) { ((this->itemAction < 0) || (this->itemAction == this->heldItemAction))) {
if ((CVarGetInteger("gShieldTwoHanded", 0) && (this->heldItemAction != PLAYER_IA_STICK) || if ((CVarGetInteger("gShieldTwoHanded", 0) && (this->heldItemAction != PLAYER_IA_DEKU_STICK) ||
!Player_HoldsTwoHandedWeapon(this)) && !Player_IsChildWithHylianShield(this)) { !Player_HoldsTwoHandedWeapon(this)) && !Player_IsChildWithHylianShield(this)) {
this->rightHandType = 10; this->rightHandType = 10;
this->rightHandDLists = &sPlayerDListGroups[10][gSaveContext.linkAge]; this->rightHandDLists = &sPlayerDListGroups[10][gSaveContext.linkAge];
@ -497,7 +497,7 @@ s32 Player_IsBurningStickInRange(PlayState* play, Vec3f* pos, f32 xzRange, f32 y
Vec3f diff; Vec3f diff;
s32 pad; s32 pad;
if ((this->heldItemAction == PLAYER_IA_STICK) && (this->unk_860 != 0)) { if ((this->heldItemAction == PLAYER_IA_DEKU_STICK) && (this->unk_860 != 0)) {
Math_Vec3f_Diff(&this->meleeWeaponInfo[0].tip, pos, &diff); Math_Vec3f_Diff(&this->meleeWeaponInfo[0].tip, pos, &diff);
return ((SQ(diff.x) + SQ(diff.z)) <= SQ(xzRange)) && (0.0f <= diff.y) && (diff.y <= yRange); return ((SQ(diff.x) + SQ(diff.z)) <= SQ(xzRange)) && (0.0f <= diff.y) && (diff.y <= yRange);
} else { } else {
@ -577,7 +577,7 @@ s32 func_8008F128(Player* this) {
return Player_HoldsHookshot(this) && (this->heldActor == NULL); return Player_HoldsHookshot(this) && (this->heldActor == NULL);
} }
s32 Player_ActionToSword(s32 actionParam) { s32 Player_ActionToMeleeWeapon(s32 actionParam) {
s32 sword = actionParam - PLAYER_IA_FISHING_POLE; s32 sword = actionParam - PLAYER_IA_FISHING_POLE;
if ((sword > 0) && (sword < 6)) { if ((sword > 0) && (sword < 6)) {
@ -587,12 +587,12 @@ s32 Player_ActionToSword(s32 actionParam) {
} }
} }
s32 Player_GetSwordHeld(Player* this) { s32 Player_GetMeleeWeaponHeld(Player* this) {
return Player_ActionToSword(this->heldItemAction); return Player_ActionToMeleeWeapon(this->heldItemAction);
} }
s32 Player_HoldsTwoHandedWeapon(Player* this) { s32 Player_HoldsTwoHandedWeapon(Player* this) {
if ((this->heldItemAction >= PLAYER_IA_SWORD_BGS) && (this->heldItemAction <= PLAYER_IA_HAMMER)) { if ((this->heldItemAction >= PLAYER_IA_SWORD_BIGGORON) && (this->heldItemAction <= PLAYER_IA_HAMMER)) {
return 1; return 1;
} else { } else {
return 0; return 0;
@ -600,7 +600,7 @@ s32 Player_HoldsTwoHandedWeapon(Player* this) {
} }
s32 Player_HoldsBrokenKnife(Player* this) { s32 Player_HoldsBrokenKnife(Player* this) {
return (this->heldItemAction == PLAYER_IA_SWORD_BGS) && (gSaveContext.swordHealth <= 0.0f); return (this->heldItemAction == PLAYER_IA_SWORD_BIGGORON) && (gSaveContext.swordHealth <= 0.0f);
} }
s32 Player_ActionToBottle(Player* this, s32 actionParam) { s32 Player_ActionToBottle(Player* this, s32 actionParam) {
@ -647,7 +647,7 @@ return_neg:
return -1; return -1;
} }
s32 func_8008F2F8(PlayState* play) { s32 Player_GetEnvironmentalHazard(PlayState* play) {
Player* this = GET_PLAYER(play); Player* this = GET_PLAYER(play);
TextTriggerEntry* triggerEntry; TextTriggerEntry* triggerEntry;
s32 var; s32 var;
@ -747,7 +747,7 @@ Gfx* sBootDListGroups[][2] = {
{ gLinkAdultLeftHoverBootDL, gLinkAdultRightHoverBootDL }, { gLinkAdultLeftHoverBootDL, gLinkAdultRightHoverBootDL },
}; };
void func_8008F470(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic, void Player_DrawImpl(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic,
s32 boots, s32 face, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, s32 boots, s32 face, OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw,
void* data) { void* data) {
Color_RGB8* color; Color_RGB8* color;
@ -805,8 +805,8 @@ void func_8008F470(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dLis
SkelAnime_DrawFlexLod(play, skeleton, jointTable, dListCount, overrideLimbDraw, postLimbDraw, data, lod); SkelAnime_DrawFlexLod(play, skeleton, jointTable, dListCount, overrideLimbDraw, postLimbDraw, data, lod);
if (((CVarGetInteger("gFPSGauntlets", 0) && LINK_IS_ADULT) || (overrideLimbDraw != func_800902F0)) && if (((CVarGetInteger("gFPSGauntlets", 0) && LINK_IS_ADULT) || (overrideLimbDraw != Player_OverrideLimbDrawGameplayFirstPerson)) &&
(overrideLimbDraw != func_80090440) && (overrideLimbDraw != Player_OverrideLimbDrawGameplayCrawling) &&
(gSaveContext.gameMode != 3)) { (gSaveContext.gameMode != 3)) {
if (LINK_IS_ADULT) { if (LINK_IS_ADULT) {
s32 strengthUpgrade = CUR_UPG_VALUE(UPG_STRENGTH); s32 strengthUpgrade = CUR_UPG_VALUE(UPG_STRENGTH);
@ -827,9 +827,9 @@ void func_8008F470(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dLis
gSPDisplayList(POLY_OPA_DISP++, gLinkAdultLeftGauntletPlate1DL); gSPDisplayList(POLY_OPA_DISP++, gLinkAdultLeftGauntletPlate1DL);
gSPDisplayList(POLY_OPA_DISP++, gLinkAdultRightGauntletPlate1DL); gSPDisplayList(POLY_OPA_DISP++, gLinkAdultRightGauntletPlate1DL);
gSPDisplayList(POLY_OPA_DISP++, gSPDisplayList(POLY_OPA_DISP++,
(D_80160014 == 0) ? gLinkAdultLeftGauntletPlate2DL : gLinkAdultLeftGauntletPlate3DL); (sLeftHandType == 0) ? gLinkAdultLeftGauntletPlate2DL : gLinkAdultLeftGauntletPlate3DL);
gSPDisplayList(POLY_OPA_DISP++, gSPDisplayList(POLY_OPA_DISP++,
(D_80160018 == 8) ? gLinkAdultRightGauntletPlate2DL : gLinkAdultRightGauntletPlate3DL); (sRightHandType == 8) ? gLinkAdultRightGauntletPlate2DL : gLinkAdultRightGauntletPlate3DL);
} }
if (boots != 0) { if (boots != 0) {
@ -848,7 +848,7 @@ void func_8008F470(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dLis
CLOSE_DISPS(play->state.gfxCtx); CLOSE_DISPS(play->state.gfxCtx);
} }
Vec3f D_8012602C = { 0.0f, 0.0f, 0.0f }; Vec3f sZeroVec = { 0.0f, 0.0f, 0.0f };
Vec3f D_80126038[] = { Vec3f D_80126038[] = {
{ 1304.0f, 0.0f, 0.0f }, { 1304.0f, 0.0f, 0.0f },
@ -896,10 +896,10 @@ void func_8008F87C(PlayState* play, Player* this, SkelAnime* skelAnime, Vec3f* p
Matrix_Push(); Matrix_Push();
Matrix_TranslateRotateZYX(pos, rot); Matrix_TranslateRotateZYX(pos, rot);
Matrix_MultVec3f(&D_8012602C, &spA4); Matrix_MultVec3f(&sZeroVec, &spA4);
Matrix_TranslateRotateZYX(&D_80126038[gSaveContext.linkAge], &skelAnime->jointTable[shinLimbIndex]); Matrix_TranslateRotateZYX(&D_80126038[gSaveContext.linkAge], &skelAnime->jointTable[shinLimbIndex]);
Matrix_Translate(D_80126050[gSaveContext.linkAge], 0.0f, 0.0f, MTXMODE_APPLY); Matrix_Translate(D_80126050[gSaveContext.linkAge], 0.0f, 0.0f, MTXMODE_APPLY);
Matrix_MultVec3f(&D_8012602C, &sp98); Matrix_MultVec3f(&sZeroVec, &sp98);
Matrix_MultVec3f(&D_80126070, &footprintPos); Matrix_MultVec3f(&D_80126070, &footprintPos);
Matrix_Pop(); Matrix_Pop();
@ -955,12 +955,12 @@ void func_8008F87C(PlayState* play, Player* this, SkelAnime* skelAnime, Vec3f* p
} }
} }
s32 func_8008FCC8(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { s32 Player_OverrideLimbDrawGameplayCommon(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
Player* this = (Player*)thisx; Player* this = (Player*)thisx;
if (limbIndex == PLAYER_LIMB_ROOT) { if (limbIndex == PLAYER_LIMB_ROOT) {
D_80160014 = this->leftHandType; sLeftHandType = this->leftHandType;
D_80160018 = this->rightHandType; sRightHandType = this->rightHandType;
D_80160000 = &this->meleeWeaponInfo[2].base; D_80160000 = &this->meleeWeaponInfo[2].base;
if (!LINK_IS_ADULT) { if (!LINK_IS_ADULT) {
@ -1036,33 +1036,33 @@ s32 func_8008FCC8(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s
return false; return false;
} }
s32 func_80090014(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { s32 Player_OverrideLimbDrawGameplayDefault(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
Player* this = (Player*)thisx; Player* this = (Player*)thisx;
if (!func_8008FCC8(play, limbIndex, dList, pos, rot, thisx)) if (!Player_OverrideLimbDrawGameplayCommon(play, limbIndex, dList, pos, rot, thisx))
{ {
if (limbIndex == PLAYER_LIMB_L_HAND) { if (limbIndex == PLAYER_LIMB_L_HAND) {
Gfx** dLists = this->leftHandDLists; Gfx** dLists = this->leftHandDLists;
if ((D_80160014 == 4) && (gSaveContext.swordHealth <= 0.0f)) { if ((sLeftHandType == 4) && (gSaveContext.swordHealth <= 0.0f)) {
dLists += 4; dLists += 4;
} else if ((D_80160014 == 6) && (this->stateFlags1 & 0x2000000)) { } else if ((sLeftHandType == 6) && (this->stateFlags1 & 0x2000000)) {
dLists = &D_80125E08[gSaveContext.linkAge]; dLists = &gPlayerLeftHandOpenDLs[gSaveContext.linkAge];
D_80160014 = 0; sLeftHandType = 0;
} else if ((this->leftHandType == 0) && (this->actor.speedXZ > 2.0f) && !(this->stateFlags1 & 0x8000000)) { } else if ((this->leftHandType == 0) && (this->actor.speedXZ > 2.0f) && !(this->stateFlags1 & 0x8000000)) {
dLists = &D_80125E18[gSaveContext.linkAge]; dLists = &gPlayerLeftHandClosedDLs[gSaveContext.linkAge];
D_80160014 = 1; sLeftHandType = 1;
} }
*dList = ResourceMgr_LoadGfxByName(dLists[sDListsLodOffset]); *dList = ResourceMgr_LoadGfxByName(dLists[sDListsLodOffset]);
} else if (limbIndex == PLAYER_LIMB_R_HAND) { } else if (limbIndex == PLAYER_LIMB_R_HAND) {
Gfx** dLists = this->rightHandDLists; Gfx** dLists = this->rightHandDLists;
if (D_80160018 == 10) { if (sRightHandType == 10) {
dLists += this->currentShield * 4; dLists += this->currentShield * 4;
} else if ((this->rightHandType == 8) && (this->actor.speedXZ > 2.0f) && !(this->stateFlags1 & 0x8000000)) { } else if ((this->rightHandType == 8) && (this->actor.speedXZ > 2.0f) && !(this->stateFlags1 & 0x8000000)) {
dLists = &D_80125E58[gSaveContext.linkAge]; dLists = &sPlayerRightHandClosedDLs[gSaveContext.linkAge];
D_80160018 = 9; sRightHandType = 9;
} }
*dList = ResourceMgr_LoadGfxByName(dLists[sDListsLodOffset]); *dList = ResourceMgr_LoadGfxByName(dLists[sDListsLodOffset]);
@ -1077,7 +1077,7 @@ s32 func_80090014(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s
} }
} else if (!LINK_IS_ADULT && ((this->sheathType == 16) || (this->sheathType == 17)) && } else if (!LINK_IS_ADULT && ((this->sheathType == 16) || (this->sheathType == 17)) &&
(gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI)) { (gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI)) {
dLists = &D_80125D28[16]; dLists = &sSheathWithSwordDLs[16];
} }
if (dLists[sDListsLodOffset] != NULL) { if (dLists[sDListsLodOffset] != NULL) {
@ -1105,24 +1105,24 @@ s32 func_80090014(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s
return false; return false;
} }
s32 func_800902F0(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { s32 Player_OverrideLimbDrawGameplayFirstPerson(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
Player* this = (Player*)thisx; Player* this = (Player*)thisx;
if (!func_8008FCC8(play, limbIndex, dList, pos, rot, thisx)) { if (!Player_OverrideLimbDrawGameplayCommon(play, limbIndex, dList, pos, rot, thisx)) {
if (this->unk_6AD != 2) { if (this->unk_6AD != 2) {
*dList = NULL; *dList = NULL;
} else if (limbIndex == PLAYER_LIMB_L_FOREARM) { } else if (limbIndex == PLAYER_LIMB_L_FOREARM) {
*dList = sArmOutDLs[gSaveContext.linkAge]; *dList = sFirstPersonLeftForearmDLs[gSaveContext.linkAge];
} else if (limbIndex == PLAYER_LIMB_L_HAND) { } else if (limbIndex == PLAYER_LIMB_L_HAND) {
s32 handOutDlIndex = gSaveContext.linkAge; s32 handOutDlIndex = gSaveContext.linkAge;
if (CVarGetInteger("gBowSlingShotAmmoFix", 0) && LINK_IS_ADULT && Player_HoldsSlingshot(this)) { if (CVarGetInteger("gBowSlingShotAmmoFix", 0) && LINK_IS_ADULT && Player_HoldsSlingshot(this)) {
handOutDlIndex = 1; handOutDlIndex = 1;
} }
*dList = sHandOutDLs[handOutDlIndex]; *dList = sFirstPersonLeftHandDLs[handOutDlIndex];
} else if (limbIndex == PLAYER_LIMB_R_SHOULDER) { } else if (limbIndex == PLAYER_LIMB_R_SHOULDER) {
*dList = sRightShoulderNearDLs[gSaveContext.linkAge]; *dList = sFirstPersonRightShoulderDLs[gSaveContext.linkAge];
} else if (limbIndex == PLAYER_LIMB_R_FOREARM) { } else if (limbIndex == PLAYER_LIMB_R_FOREARM) {
*dList = D_80125F30[gSaveContext.linkAge]; *dList = sFirstPersonForearmDLs[gSaveContext.linkAge];
} else if (limbIndex == PLAYER_LIMB_R_HAND) { } else if (limbIndex == PLAYER_LIMB_R_HAND) {
s32 firstPersonWeaponIndex = gSaveContext.linkAge; s32 firstPersonWeaponIndex = gSaveContext.linkAge;
if (CVarGetInteger("gBowSlingShotAmmoFix", 0)) { if (CVarGetInteger("gBowSlingShotAmmoFix", 0)) {
@ -1133,7 +1133,7 @@ s32 func_800902F0(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s
} }
} }
*dList = Player_HoldsHookshot(this) ? gLinkAdultRightHandHoldingHookshotFarDL *dList = Player_HoldsHookshot(this) ? gLinkAdultRightHandHoldingHookshotFarDL
: sHoldingFirstPersonWeaponDLs[firstPersonWeaponIndex]; : sFirstPersonRightHandHoldingWeaponDLs[firstPersonWeaponIndex];
} else { } else {
*dList = NULL; *dList = NULL;
} }
@ -1142,8 +1142,8 @@ s32 func_800902F0(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s
return false; return false;
} }
s32 func_80090440(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) { s32 Player_OverrideLimbDrawGameplayCrawling(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* thisx) {
if (!func_8008FCC8(play, limbIndex, dList, pos, rot, thisx)) { if (!Player_OverrideLimbDrawGameplayCommon(play, limbIndex, dList, pos, rot, thisx)) {
*dList = NULL; *dList = NULL;
} }
@ -1179,7 +1179,7 @@ u8 func_80090480(PlayState* play, ColliderQuad* collider, WeaponInfo* weaponInfo
} }
} }
void func_80090604(PlayState* play, Player* this, ColliderQuad* collider, Vec3f* quadSrc) { void Player_UpdateShieldCollider(PlayState* play, Player* this, ColliderQuad* collider, Vec3f* quadSrc) {
static u8 shieldColTypes[PLAYER_SHIELD_MAX] = { static u8 shieldColTypes[PLAYER_SHIELD_MAX] = {
COLTYPE_METAL, COLTYPE_METAL,
COLTYPE_WOOD, COLTYPE_WOOD,
@ -1226,7 +1226,7 @@ void func_800906D4(PlayState* play, Player* this, Vec3f* newTipPos) {
&this->meleeWeaponInfo[0].base); &this->meleeWeaponInfo[0].base);
} }
if ((this->swordState > 0) && ((this->meleeWeaponAnimation < 0x18) || (this->stateFlags2 & 0x20000))) { if ((this->meleeWeaponState > 0) && ((this->meleeWeaponAnimation < 0x18) || (this->stateFlags2 & 0x20000))) {
func_80090480(play, &this->meleeWeaponQuads[0], &this->meleeWeaponInfo[1], &newTipPos[1], &newBasePos[1]); func_80090480(play, &this->meleeWeaponQuads[0], &this->meleeWeaponInfo[1], &newTipPos[1], &newBasePos[1]);
func_80090480(play, &this->meleeWeaponQuads[1], &this->meleeWeaponInfo[2], &newTipPos[2], &newBasePos[2]); func_80090480(play, &this->meleeWeaponQuads[1], &this->meleeWeaponInfo[2], &newTipPos[2], &newBasePos[2]);
} }
@ -1375,7 +1375,7 @@ void Player_DrawHookshotReticle(PlayState* play, Player* this, f32 hookshotRange
Vec3f D_801260D4 = { 1100.0f, -700.0f, 0.0f }; Vec3f D_801260D4 = { 1100.0f, -700.0f, 0.0f };
f32 sSwordLengths[] = { f32 sMeleeWeaponLengths[] = {
0.0f, 4000.0f, 3000.0f, 5500.0f, 0.0f, 2500.0f, 0.0f, 4000.0f, 3000.0f, 5500.0f, 0.0f, 2500.0f,
}; };
@ -1391,14 +1391,14 @@ Color_RGB8 sBottleColors[] = {
{ 255, 255, 255 }, { 255, 255, 255 }, { 80, 80, 255 }, { 255, 255, 255 }, { 255, 255, 255 }, { 80, 80, 255 },
}; };
Vec3f D_80126128 = { 398.0f, 1419.0f, 244.0f }; Vec3f sLeftHandArrowVec3 = { 398.0f, 1419.0f, 244.0f };
BowStringData sBowStringData[] = { BowStringData sBowStringData[] = {
{ gLinkAdultBowStringDL, { 0.0f, -360.4f, 0.0f } }, // bow { gLinkAdultBowStringDL, { 0.0f, -360.4f, 0.0f } }, // bow
{ gLinkChildSlinghotStringDL, { 606.0f, 236.0f, 0.0f } }, // slingshot { gLinkChildSlinghotStringDL, { 606.0f, 236.0f, 0.0f } }, // slingshot
}; };
Vec3f D_80126154[] = { Vec3f sRightHandLimbModelShieldQuadVertices[] = {
{ -4500.0f, -3000.0f, -600.0f }, { -4500.0f, -3000.0f, -600.0f },
{ 1500.0f, -3000.0f, -600.0f }, { 1500.0f, -3000.0f, -600.0f },
{ -4500.0f, 3000.0f, -600.0f }, { -4500.0f, 3000.0f, -600.0f },
@ -1408,17 +1408,17 @@ Vec3f D_80126154[] = {
Vec3f D_80126184 = { 100.0f, 1500.0f, 0.0f }; Vec3f D_80126184 = { 100.0f, 1500.0f, 0.0f };
Vec3f D_80126190 = { 100.0f, 1640.0f, 0.0f }; Vec3f D_80126190 = { 100.0f, 1640.0f, 0.0f };
Vec3f D_8012619C[] = { Vec3f sSheathLimbModelShieldQuadVertices[] = {
{ -3000.0f, -3000.0f, -900.0f }, { -3000.0f, -3000.0f, -900.0f },
{ 3000.0f, -3000.0f, -900.0f }, { 3000.0f, -3000.0f, -900.0f },
{ -3000.0f, 3000.0f, -900.0f }, { -3000.0f, 3000.0f, -900.0f },
{ 3000.0f, 3000.0f, -900.0f }, { 3000.0f, 3000.0f, -900.0f },
}; };
Vec3f D_801261CC = { 630.0f, 100.0f, -30.0f }; Vec3f sSheathLimbModelShieldOnBackPos = { 630.0f, 100.0f, -30.0f };
Vec3s D_801261D8 = { 0, 0, 0x7FFF }; Vec3s sSheathLimbModelShieldOnBackZyxRot = { 0, 0, 0x7FFF };
Vec3f D_801261E0[] = { Vec3f sLeftRightFootLimbModelFootPos[] = {
{ 200.0f, 300.0f, 0.0f }, { 200.0f, 300.0f, 0.0f },
{ 200.0f, 200.0f, 0.0f }, { 200.0f, 200.0f, 0.0f },
}; };
@ -1428,11 +1428,11 @@ Vec3f D_801261E0[] = {
// started working out properly // started working out properly
#define RETICLE_MAX 3.402823466e+12f #define RETICLE_MAX 3.402823466e+12f
void func_80090D20(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) { void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx) {
Player* this = (Player*)thisx; Player* this = (Player*)thisx;
if (*dList != NULL) { if (*dList != NULL) {
Matrix_MultVec3f(&D_8012602C, D_80160000); Matrix_MultVec3f(&sZeroVec, D_80160000);
} }
if (limbIndex == PLAYER_LIMB_L_HAND) { if (limbIndex == PLAYER_LIMB_L_HAND) {
@ -1441,7 +1441,7 @@ void func_80090D20(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void
Math_Vec3f_Copy(&this->leftHandPos, D_80160000); Math_Vec3f_Copy(&this->leftHandPos, D_80160000);
if (this->itemAction == PLAYER_IA_STICK) { if (this->itemAction == PLAYER_IA_DEKU_STICK) {
Vec3f sp124[3]; Vec3f sp124[3];
OPEN_DISPS(play->state.gfxCtx); OPEN_DISPS(play->state.gfxCtx);
@ -1449,7 +1449,7 @@ void func_80090D20(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void
if (this->actor.scale.y >= 0.0f) { if (this->actor.scale.y >= 0.0f) {
D_80126080.x = this->unk_85C * 5000.0f; D_80126080.x = this->unk_85C * 5000.0f;
func_80090A28(this, sp124); func_80090A28(this, sp124);
if (this->swordState != 0) { if (this->meleeWeaponState != 0) {
EffectBlure_ChangeType(Effect_GetByIndex(this->meleeWeaponEffectIndex), 7); // stick sword type EffectBlure_ChangeType(Effect_GetByIndex(this->meleeWeaponEffectIndex), 7); // stick sword type
func_800906D4(play, this, sp124); func_800906D4(play, this, sp124);
} else { } else {
@ -1466,14 +1466,14 @@ void func_80090D20(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void
gSPDisplayList(POLY_OPA_DISP++, gLinkChildLinkDekuStickDL); gSPDisplayList(POLY_OPA_DISP++, gLinkChildLinkDekuStickDL);
CLOSE_DISPS(play->state.gfxCtx); CLOSE_DISPS(play->state.gfxCtx);
} else if ((this->actor.scale.y >= 0.0f) && (this->swordState != 0)) { } else if ((this->actor.scale.y >= 0.0f) && (this->meleeWeaponState != 0)) {
Vec3f spE4[3]; Vec3f spE4[3];
if (Player_HoldsBrokenKnife(this)) { if (Player_HoldsBrokenKnife(this)) {
D_80126080.x = 1500.0f; D_80126080.x = 1500.0f;
} else { } else {
D_80126080.x = sSwordLengths[Player_GetSwordHeld(this)]; D_80126080.x = sMeleeWeaponLengths[Player_GetMeleeWeaponHeld(this)];
EffectBlure_ChangeType(Effect_GetByIndex(this->meleeWeaponEffectIndex), sSwordTypes[Player_GetSwordHeld(this)]); EffectBlure_ChangeType(Effect_GetByIndex(this->meleeWeaponEffectIndex), sSwordTypes[Player_GetMeleeWeaponHeld(this)]);
} }
func_80090A28(this, spE4); func_80090A28(this, spE4);
@ -1494,7 +1494,7 @@ void func_80090D20(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void
if (this->actor.scale.y >= 0.0f) { if (this->actor.scale.y >= 0.0f) {
if (!Player_HoldsHookshot(this) && ((hookedActor = this->heldActor) != NULL)) { if (!Player_HoldsHookshot(this) && ((hookedActor = this->heldActor) != NULL)) {
if (this->stateFlags1 & 0x200) { if (this->stateFlags1 & 0x200) {
Matrix_MultVec3f(&D_80126128, &hookedActor->world.pos); Matrix_MultVec3f(&sLeftHandArrowVec3, &hookedActor->world.pos);
Matrix_RotateZYX(0x69E8, -0x5708, 0x458E, MTXMODE_APPLY); Matrix_RotateZYX(0x69E8, -0x5708, 0x458E, MTXMODE_APPLY);
Matrix_Get(&sp14C); Matrix_Get(&sp14C);
Matrix_MtxFToYXZRotS(&sp14C, &hookedActor->world.rot, 0); Matrix_MtxFToYXZRotS(&sp14C, &hookedActor->world.rot, 0);
@ -1537,7 +1537,7 @@ void func_80090D20(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void
Vec3f sp90; Vec3f sp90;
f32 distXYZ; f32 distXYZ;
Matrix_MultVec3f(&D_8012602C, &sp90); Matrix_MultVec3f(&sZeroVec, &sp90);
distXYZ = Math_Vec3f_DistXYZ(D_80160000, &sp90); distXYZ = Math_Vec3f_DistXYZ(D_80160000, &sp90);
this->unk_858 = distXYZ - 3.0f; this->unk_858 = distXYZ - 3.0f;
@ -1568,7 +1568,7 @@ void func_80090D20(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void
CLOSE_DISPS(play->state.gfxCtx); CLOSE_DISPS(play->state.gfxCtx);
} else if ((this->actor.scale.y >= 0.0f) && (this->rightHandType == 10)) { } else if ((this->actor.scale.y >= 0.0f) && (this->rightHandType == 10)) {
Matrix_Get(&this->shieldMf); Matrix_Get(&this->shieldMf);
func_80090604(play, this, &this->shieldQuad, D_80126154); Player_UpdateShieldCollider(play, this, &this->shieldQuad, sRightHandLimbModelShieldQuadVertices);
} }
if (this->actor.scale.y >= 0.0f) { if (this->actor.scale.y >= 0.0f) {
@ -1630,16 +1630,16 @@ void func_80090D20(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void
if (limbIndex == PLAYER_LIMB_SHEATH) { if (limbIndex == PLAYER_LIMB_SHEATH) {
if ((this->rightHandType != 10) && (this->rightHandType != 0xFF)) { if ((this->rightHandType != 10) && (this->rightHandType != 0xFF)) {
if (Player_IsChildWithHylianShield(this)) { if (Player_IsChildWithHylianShield(this)) {
func_80090604(play, this, &this->shieldQuad, D_8012619C); Player_UpdateShieldCollider(play, this, &this->shieldQuad, sSheathLimbModelShieldQuadVertices);
} }
Matrix_TranslateRotateZYX(&D_801261CC, &D_801261D8); Matrix_TranslateRotateZYX(&sSheathLimbModelShieldOnBackPos, &sSheathLimbModelShieldOnBackZyxRot);
Matrix_Get(&this->shieldMf); Matrix_Get(&this->shieldMf);
} }
} else if (limbIndex == PLAYER_LIMB_HEAD) { } else if (limbIndex == PLAYER_LIMB_HEAD) {
Matrix_MultVec3f(&D_801260D4, &this->actor.focus.pos); Matrix_MultVec3f(&D_801260D4, &this->actor.focus.pos);
} else { } else {
Vec3f* vec = &D_801261E0[(gSaveContext.linkAge)]; Vec3f* vec = &sLeftRightFootLimbModelFootPos[(gSaveContext.linkAge)];
Actor_SetFeetPos(&this->actor, limbIndex, PLAYER_LIMB_L_FOOT, vec, PLAYER_LIMB_R_FOOT, vec); Actor_SetFeetPos(&this->actor, limbIndex, PLAYER_LIMB_L_FOOT, vec, PLAYER_LIMB_R_FOOT, vec);
} }
@ -1670,11 +1670,11 @@ u32 func_80091738(PlayState* play, u8* segment, SkelAnime* skelAnime) {
return size + 0x8800 + 0x90; return size + 0x8800 + 0x90;
} }
u8 D_801261F8[] = { 2, 2, 5 }; u8 sPauseModelGroupBySword[] = { 2, 2, 5 };
s32 func_80091880(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* arg) { s32 Player_OverrideLimbDrawPause(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, void* arg) {
u8* ptr = arg; u8* ptr = arg;
u8 modelGroup = D_801261F8[ptr[0] > 0 ? ptr[0] - 1 : 0]; u8 modelGroup = sPauseModelGroupBySword[ptr[0] > 0 ? ptr[0] - 1 : 0];
s32 type; s32 type;
s32 dListOffset = 0; s32 dListOffset = 0;
Gfx** dLists; Gfx** dLists;
@ -1686,7 +1686,7 @@ s32 func_80091880(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s
if (limbIndex == PLAYER_LIMB_L_HAND) { if (limbIndex == PLAYER_LIMB_L_HAND) {
type = gPlayerModelTypes[modelGroup][1]; type = gPlayerModelTypes[modelGroup][1];
D_80160014 = type; sLeftHandType = type;
if (ptr[0] == 0) if (ptr[0] == 0)
type = 0; type = 0;
@ -1696,7 +1696,7 @@ s32 func_80091880(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s
} }
} else if (limbIndex == PLAYER_LIMB_R_HAND) { } else if (limbIndex == PLAYER_LIMB_R_HAND) {
type = gPlayerModelTypes[modelGroup][2]; type = gPlayerModelTypes[modelGroup][2];
D_80160018 = type; sRightHandType = type;
if (type == 10) { if (type == 10) {
dListOffset = ptr[1] * ptrSize; dListOffset = ptr[1] * ptrSize;
} }
@ -1741,7 +1741,7 @@ void Pause_DrawTriforceSpot(PlayState* play, s32 showLightColumn) {
rotation += 0x03E8; rotation += 0x03E8;
} }
void func_80091A24(PlayState* play, void* seg04, void* seg06, SkelAnime* skelAnime, Vec3f* pos, Vec3s* rot, void Player_DrawPauseImpl(PlayState* play, void* seg04, void* seg06, SkelAnime* skelAnime, Vec3f* pos, Vec3s* rot,
f32 scale, s32 sword, s32 tunic, s32 shield, s32 boots, s32 width, s32 height, Vec3f* eye, Vec3f* at, f32 scale, s32 sword, s32 tunic, s32 shield, s32 boots, s32 width, s32 height, Vec3f* eye, Vec3f* at,
f32 fovy, void* img1, void* img2) { f32 fovy, void* img1, void* img2) {
static Vp viewport = { 128, 224, 511, 0, 128, 224, 511, 0 }; static Vp viewport = { 128, 224, 511, 0, 128, 224, 511, 0 };
@ -1805,8 +1805,8 @@ void func_80091A24(PlayState* play, void* seg04, void* seg06, SkelAnime* skelAni
gSPSegment(POLY_OPA_DISP++, 0x0C, gCullBackDList); gSPSegment(POLY_OPA_DISP++, 0x0C, gCullBackDList);
func_8008F470(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, 0, tunic, boots, 0, Player_DrawImpl(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, 0, tunic, boots, 0,
func_80091880, NULL, &sp12C); Player_OverrideLimbDrawPause, NULL, &sp12C);
if (CVarGetInteger("gPauseTriforce", 0)) { if (CVarGetInteger("gPauseTriforce", 0)) {
@ -1833,7 +1833,7 @@ s16 EquipedStance; // Link's current mode (Two handed, One handed...)
s16 FrameCountSinceLastAnim = 0; // Time since last animation s16 FrameCountSinceLastAnim = 0; // Time since last animation
s16 MinFrameCount; // Frame to wait before checking if we need to change the animation s16 MinFrameCount; // Frame to wait before checking if we need to change the animation
void func_8009214C(PlayState* play, u8* segment, SkelAnime* skelAnime, Vec3f* pos, Vec3s* rot, f32 scale, void Player_DrawPause(PlayState* play, u8* segment, SkelAnime* skelAnime, Vec3f* pos, Vec3s* rot, f32 scale,
s32 sword, s32 tunic, s32 shield, s32 boots) { s32 sword, s32 tunic, s32 shield, s32 boots) {
Input* p1Input = &play->state.input[0]; Input* p1Input = &play->state.input[0];
Vec3f eye = { 0.0f, 0.0f, -400.0f }; Vec3f eye = { 0.0f, 0.0f, -400.0f };
@ -2068,7 +2068,7 @@ void func_8009214C(PlayState* play, u8* segment, SkelAnime* skelAnime, Vec3f* po
} }
func_80091A24(play, segment + 0x3800, segment + 0x8800, skelAnime, pos, rot, scale, sword, tunic, shield, Player_DrawPauseImpl(play, segment + 0x3800, segment + 0x8800, skelAnime, pos, rot, scale, sword, tunic, shield,
boots, 64, 112, &eye, &at, 60.0f, play->state.gfxCtx->curFrameBuffer, boots, 64, 112, &eye, &at, 60.0f, play->state.gfxCtx->curFrameBuffer,
play->state.gfxCtx->curFrameBuffer + 0x1C00); play->state.gfxCtx->curFrameBuffer + 0x1C00);
} }

View File

@ -2096,7 +2096,7 @@ void func_8009EE44(PlayState* play) {
} }
if ((play->roomCtx.unk_74[0] == 0) && playerHasCojiro) { if ((play->roomCtx.unk_74[0] == 0) && playerHasCojiro) {
if (play->roomCtx.unk_74[1] == 50) { if (play->roomCtx.unk_74[1] == 50) {
func_8002F7DC(&GET_PLAYER(play)->actor, NA_SE_EV_CHICKEN_CRY_M); Player_PlaySfx(&GET_PLAYER(play)->actor, NA_SE_EV_CHICKEN_CRY_M);
play->roomCtx.unk_74[0] = 1; play->roomCtx.unk_74[0] = 1;
} }
play->roomCtx.unk_74[1]++; play->roomCtx.unk_74[1]++;

View File

@ -352,7 +352,7 @@ void BgHeavyBlock_LiftedUp(BgHeavyBlock* this, PlayState* play) {
if (this->timer == 11) { if (this->timer == 11) {
func_800AA000(0.0f, 0xFF, 0x14, 0x14); func_800AA000(0.0f, 0xFF, 0x14, 0x14);
func_8002F7DC(&player->actor, NA_SE_PL_PULL_UP_BIGROCK); Player_PlaySfx(&player->actor, NA_SE_PL_PULL_UP_BIGROCK);
LOG_STRING("NA_SE_PL_PULL_UP_BIGROCK"); LOG_STRING("NA_SE_PL_PULL_UP_BIGROCK");
} }

View File

@ -145,7 +145,7 @@ void BgHidanDalm_Wait(BgHidanDalm* this, PlayState* play) {
this->dyna.actor.bgCheckFlags &= ~8; this->dyna.actor.bgCheckFlags &= ~8;
this->dyna.actor.speedXZ = 10.0f; this->dyna.actor.speedXZ = 10.0f;
Flags_SetSwitch(play, this->switchFlag); Flags_SetSwitch(play, this->switchFlag);
func_8002F7DC(&GET_PLAYER(play)->actor, NA_SE_IT_HAMMER_HIT); Player_PlaySfx(&GET_PLAYER(play)->actor, NA_SE_IT_HAMMER_HIT);
Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_DARUMA_VANISH); Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_DARUMA_VANISH);
} else { } else {
CollisionCheck_SetAC(play, &play->colChkCtx, &this->collider.base); CollisionCheck_SetAC(play, &play->colChkCtx, &this->collider.base);

View File

@ -154,7 +154,7 @@ void BgJyaGoroiwa_Move(BgJyaGoroiwa* this, PlayState* play) {
} }
func_8002F6D4(play, thisx, 2.0f, thisx->yawTowardsPlayer, 0.0f, 0); func_8002F6D4(play, thisx, 2.0f, thisx->yawTowardsPlayer, 0.0f, 0);
func_8002F7DC(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT); Player_PlaySfx(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT);
this->yOffsetSpeed = 10.0f; this->yOffsetSpeed = 10.0f;
this->speedFactor = 0.5f; this->speedFactor = 0.5f;

View File

@ -176,9 +176,9 @@ void func_808ACA08(BgSpot02Objects* this, PlayState* play) {
// enter the cutscene context. // enter the cutscene context.
if (play->csCtx.frames == 402 && !(gSaveContext.n64ddFlag)) { if (play->csCtx.frames == 402 && !(gSaveContext.n64ddFlag)) {
if (!LINK_IS_ADULT) { if (!LINK_IS_ADULT) {
func_8002F7DC(&player->actor, NA_SE_VO_LI_DEMO_DAMAGE_KID); Player_PlaySfx(&player->actor, NA_SE_VO_LI_DEMO_DAMAGE_KID);
} else { } else {
func_8002F7DC(&player->actor, NA_SE_VO_LI_DEMO_DAMAGE); Player_PlaySfx(&player->actor, NA_SE_VO_LI_DEMO_DAMAGE);
} }
} }
} }

View File

@ -402,7 +402,7 @@ void BgYdanSp_WallWebIdle(BgYdanSp* this, PlayState* play) {
if (Flags_GetSwitch(play, this->burnSwitchFlag) || (this->trisCollider.base.acFlags & 2)) { if (Flags_GetSwitch(play, this->burnSwitchFlag) || (this->trisCollider.base.acFlags & 2)) {
this->dyna.actor.home.pos.y = this->dyna.actor.world.pos.y + 80.0f; this->dyna.actor.home.pos.y = this->dyna.actor.world.pos.y + 80.0f;
BgYdanSp_BurnWeb(this, play); BgYdanSp_BurnWeb(this, play);
} else if (player->heldItemAction == PLAYER_IA_STICK && player->unk_860 != 0) { } else if (player->heldItemAction == PLAYER_IA_DEKU_STICK && player->unk_860 != 0) {
func_8002DBD0(&this->dyna.actor, &sp30, &player->meleeWeaponInfo[0].tip); func_8002DBD0(&this->dyna.actor, &sp30, &player->meleeWeaponInfo[0].tip);
if (fabsf(sp30.x) < 100.0f && sp30.z < 1.0f && sp30.y < 200.0f) { if (fabsf(sp30.x) < 100.0f && sp30.z < 1.0f && sp30.y < 200.0f) {
OnePointCutscene_Init(play, 3020, 40, &this->dyna.actor, MAIN_CAM); OnePointCutscene_Init(play, 3020, 40, &this->dyna.actor, MAIN_CAM);

View File

@ -613,7 +613,7 @@ void BossGanon_IntroCutscene(BossGanon* this, PlayState* play) {
} }
if (this->csTimer == 13) { if (this->csTimer == 13) {
func_8002F7DC(&player->actor, player->ageProperties->unk_92 + NA_SE_VO_LI_SURPRISE); Player_PlaySfx(&player->actor, player->ageProperties->unk_92 + NA_SE_VO_LI_SURPRISE);
} }
if (this->csTimer != 35) { if (this->csTimer != 35) {
@ -4505,7 +4505,7 @@ void func_808E2544(Actor* thisx, PlayState* play) {
this->actor.world.rot.x = (Math_CosS(this->unk_1A2 * 0x3400) * sp84 * 0.1f) + this->actor.shape.rot.x; this->actor.world.rot.x = (Math_CosS(this->unk_1A2 * 0x3400) * sp84 * 0.1f) + this->actor.shape.rot.x;
this->actor.world.rot.y = (Math_SinS(this->unk_1A2 * 0x1A00) * sp84) + this->actor.shape.rot.y; this->actor.world.rot.y = (Math_SinS(this->unk_1A2 * 0x1A00) * sp84) + this->actor.shape.rot.y;
if ((player->swordState != 0) && (player->meleeWeaponAnimation >= 0x18) && (this->actor.xzDistToPlayer < 80.0f)) { if ((player->meleeWeaponState != 0) && (player->meleeWeaponAnimation >= 0x18) && (this->actor.xzDistToPlayer < 80.0f)) {
this->unk_1C2 = 0xC; this->unk_1C2 = 0xC;
this->actor.speedXZ = -30.0f; this->actor.speedXZ = -30.0f;
func_8002D908(&this->actor); func_8002D908(&this->actor);

View File

@ -1679,7 +1679,7 @@ void func_8090120C(BossGanon2* this, PlayState* play) {
temp_f12 = this->unk_1B8.z - player->actor.world.pos.z; temp_f12 = this->unk_1B8.z - player->actor.world.pos.z;
temp_a0_2 = Math_Atan2S(temp_f12, temp_f14) - player->actor.shape.rot.y; temp_a0_2 = Math_Atan2S(temp_f12, temp_f14) - player->actor.shape.rot.y;
if ((ABS(temp_a0_2) < 0x2000) && (sqrtf(SQ(temp_f14) + SQ(temp_f12)) < 70.0f) && if ((ABS(temp_a0_2) < 0x2000) && (sqrtf(SQ(temp_f14) + SQ(temp_f12)) < 70.0f) &&
(player->swordState != 0) && (player->heldItemAction == PLAYER_IA_SWORD_MASTER)) { (player->meleeWeaponState != 0) && (player->heldItemAction == PLAYER_IA_SWORD_MASTER)) {
func_80064520(play, &play->csCtx); func_80064520(play, &play->csCtx);
gSaveContext.sohStats.itemTimestamp[TIMESTAMP_DEFEAT_GANON] = GAMEPLAYSTAT_TOTAL_TIME; gSaveContext.sohStats.itemTimestamp[TIMESTAMP_DEFEAT_GANON] = GAMEPLAYSTAT_TOTAL_TIME;
BossRush_HandleCompleteBoss(play); BossRush_HandleCompleteBoss(play);

View File

@ -524,7 +524,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
Audio_PlaySoundIncreasinglyTransposed(&this->tentTipPos, NA_SE_EN_MOFER_WAVE, Audio_PlaySoundIncreasinglyTransposed(&this->tentTipPos, NA_SE_EN_MOFER_WAVE,
gMorphaTransposeTable); gMorphaTransposeTable);
func_800AA000(0, 100, 5, 2); func_800AA000(0, 100, 5, 2);
func_8002F7DC(&player->actor, NA_SE_VO_LI_FREEZE + player->ageProperties->unk_92); Player_PlaySfx(&player->actor, NA_SE_VO_LI_FREEZE + player->ageProperties->unk_92);
} }
} else { } else {
maxSwingRateX = 2000.0f; maxSwingRateX = 2000.0f;
@ -539,7 +539,7 @@ void BossMo_Tentacle(BossMo* this, PlayState* play) {
Audio_PlaySoundIncreasinglyTransposed(&this->tentTipPos, NA_SE_EN_MOFER_WAVE, Audio_PlaySoundIncreasinglyTransposed(&this->tentTipPos, NA_SE_EN_MOFER_WAVE,
gMorphaTransposeTable); gMorphaTransposeTable);
func_800AA000(0, 160, 5, 4); func_800AA000(0, 160, 5, 4);
func_8002F7DC(&player->actor, NA_SE_VO_LI_FREEZE + player->ageProperties->unk_92); Player_PlaySfx(&player->actor, NA_SE_VO_LI_FREEZE + player->ageProperties->unk_92);
} }
} }
} else if (this->work[MO_TENT_ACTION_STATE] == MO_TENT_RETREAT) { } else if (this->work[MO_TENT_ACTION_STATE] == MO_TENT_RETREAT) {

View File

@ -776,7 +776,7 @@ void BossSst_HeadCharge(BossSst* this, PlayState* play) {
sHands[LEFT]->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT); sHands[LEFT]->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT);
sHands[RIGHT]->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT); sHands[RIGHT]->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT);
func_8002F71C(play, &this->actor, 10.0f, this->actor.shape.rot.y, 5.0f); func_8002F71C(play, &this->actor, 10.0f, this->actor.shape.rot.y, 5.0f);
func_8002F7DC(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT); Player_PlaySfx(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT);
} }
} }
@ -1586,7 +1586,7 @@ void BossSst_HandSweep(BossSst* this, PlayState* play) {
this->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT); this->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT);
this->ready = true; this->ready = true;
func_8002F71C(play, &this->actor, 5.0f, this->actor.shape.rot.y - (this->vParity * 0x3800), 0.0f); func_8002F71C(play, &this->actor, 5.0f, this->actor.shape.rot.y - (this->vParity * 0x3800), 0.0f);
func_8002F7DC(&player->actor, NA_SE_PL_BODY_HIT); Player_PlaySfx(&player->actor, NA_SE_PL_BODY_HIT);
newTargetYaw = this->actor.shape.rot.y - (this->vParity * 0x1400); newTargetYaw = this->actor.shape.rot.y - (this->vParity * 0x1400);
if (((s16)(newTargetYaw - this->targetYaw) * this->vParity) > 0) { if (((s16)(newTargetYaw - this->targetYaw) * this->vParity) > 0) {
this->targetYaw = newTargetYaw; this->targetYaw = newTargetYaw;
@ -1643,7 +1643,7 @@ void BossSst_HandPunch(BossSst* this, PlayState* play) {
if (this->actor.bgCheckFlags & 8) { if (this->actor.bgCheckFlags & 8) {
BossSst_HandSetupRetreat(this); BossSst_HandSetupRetreat(this);
} else if (this->colliderJntSph.base.atFlags & AT_HIT) { } else if (this->colliderJntSph.base.atFlags & AT_HIT) {
func_8002F7DC(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT); Player_PlaySfx(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT);
func_8002F71C(play, &this->actor, 10.0f, this->actor.shape.rot.y, 5.0f); func_8002F71C(play, &this->actor, 10.0f, this->actor.shape.rot.y, 5.0f);
BossSst_HandSetupRetreat(this); BossSst_HandSetupRetreat(this);
} }
@ -1880,9 +1880,9 @@ void BossSst_HandCrush(BossSst* this, PlayState* play) {
if (this->timer == 0) { if (this->timer == 0) {
this->timer = 20; this->timer = 20;
if (!LINK_IS_ADULT) { if (!LINK_IS_ADULT) {
func_8002F7DC(&player->actor, NA_SE_VO_LI_DAMAGE_S_KID); Player_PlaySfx(&player->actor, NA_SE_VO_LI_DAMAGE_S_KID);
} else { } else {
func_8002F7DC(&player->actor, NA_SE_VO_LI_DAMAGE_S); Player_PlaySfx(&player->actor, NA_SE_VO_LI_DAMAGE_S);
} }
play->damagePlayer(play, -8); play->damagePlayer(play, -8);
@ -1963,7 +1963,7 @@ void BossSst_HandSwing(BossSst* this, PlayState* play) {
player->actor.world.pos.x += 70.0f * Math_SinS(this->actor.shape.rot.y); player->actor.world.pos.x += 70.0f * Math_SinS(this->actor.shape.rot.y);
player->actor.world.pos.z += 70.0f * Math_CosS(this->actor.shape.rot.y); player->actor.world.pos.z += 70.0f * Math_CosS(this->actor.shape.rot.y);
func_8002F71C(play, &this->actor, 15.0f, this->actor.shape.rot.y, 2.0f); func_8002F71C(play, &this->actor, 15.0f, this->actor.shape.rot.y, 2.0f);
func_8002F7DC(&player->actor, NA_SE_PL_BODY_HIT); Player_PlaySfx(&player->actor, NA_SE_PL_BODY_HIT);
} }
func_8002F974(&this->actor, NA_SE_EN_SHADEST_HAND_FLY - SFX_FLAG); func_8002F974(&this->actor, NA_SE_EN_SHADEST_HAND_FLY - SFX_FLAG);
@ -2085,7 +2085,7 @@ void BossSst_HandReadyCharge(BossSst* this, PlayState* play) {
OTHER_HAND(this)->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT); OTHER_HAND(this)->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT);
sHead->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT); sHead->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT);
func_8002F71C(play, &this->actor, 10.0f, this->actor.shape.rot.y, 5.0f); func_8002F71C(play, &this->actor, 10.0f, this->actor.shape.rot.y, 5.0f);
func_8002F7DC(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT); Player_PlaySfx(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT);
} }
} }

View File

@ -783,7 +783,7 @@ s32 BossTw_BeamHitPlayerCheck(BossTw* this, PlayState* play) {
} }
player->isBurning = true; player->isBurning = true;
func_8002F7DC(&player->actor, player->ageProperties->unk_92 + NA_SE_VO_LI_DEMO_DAMAGE); Player_PlaySfx(&player->actor, player->ageProperties->unk_92 + NA_SE_VO_LI_DEMO_DAMAGE);
} }
} }
@ -1653,7 +1653,7 @@ void BossTw_TwinrovaMergeCS(BossTw* this, PlayState* play) {
} }
if (this->timers[3] == 16) { if (this->timers[3] == 16) {
func_8002F7DC(&player->actor, player->ageProperties->unk_92 + NA_SE_VO_LI_SURPRISE); Player_PlaySfx(&player->actor, player->ageProperties->unk_92 + NA_SE_VO_LI_SURPRISE);
} }
if ((this->timers[3] != 0) && (this->timers[3] < 20)) { if ((this->timers[3] != 0) && (this->timers[3] < 20)) {
@ -4053,7 +4053,7 @@ void BossTw_BlastFire(BossTw* this, PlayState* play) {
player->isBurning = 1; player->isBurning = 1;
if (this->work[BURN_TMR] == 0) { if (this->work[BURN_TMR] == 0) {
func_8002F7DC(&player->actor, player->ageProperties->unk_92 + NA_SE_VO_LI_DEMO_DAMAGE); Player_PlaySfx(&player->actor, player->ageProperties->unk_92 + NA_SE_VO_LI_DEMO_DAMAGE);
this->work[BURN_TMR] = 40; this->work[BURN_TMR] = 40;
} }

View File

@ -379,7 +379,7 @@ void DoorKiller_FallOver(DoorKiller* this, PlayState* play) {
this->hasHitPlayerOrGround |= 1; this->hasHitPlayerOrGround |= 1;
func_8002F6D4(play, &this->actor, 6.0f, this->actor.yawTowardsPlayer, 6.0f, 16); func_8002F6D4(play, &this->actor, 6.0f, this->actor.yawTowardsPlayer, 6.0f, 16);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_KDOOR_HIT); Audio_PlayActorSound2(&this->actor, NA_SE_EN_KDOOR_HIT);
func_8002F7DC(&player->actor, NA_SE_PL_BODY_HIT); Player_PlaySfx(&player->actor, NA_SE_PL_BODY_HIT);
} }
} }
if (!(this->hasHitPlayerOrGround & 1) && (this->timer == 2)) { if (!(this->hasHitPlayerOrGround & 1) && (this->timer == 2)) {

View File

@ -225,7 +225,7 @@ void EnAnubice_Idle(EnAnubice* this, PlayState* play) {
if (this->actor.shape.yOffset > -2.0f) { if (this->actor.shape.yOffset > -2.0f) {
this->actor.shape.yOffset = 0.0f; this->actor.shape.yOffset = 0.0f;
if (player->swordState != 0) { if (player->meleeWeaponState != 0) {
this->actionFunc = EnAnubice_SetupShootFireball; this->actionFunc = EnAnubice_SetupShootFireball;
} else if (this->isLinkOutOfRange) { } else if (this->isLinkOutOfRange) {
this->actor.velocity.y = 0.0f; this->actor.velocity.y = 0.0f;

View File

@ -208,19 +208,19 @@ void EnArrow_Shoot(EnArrow* this, PlayState* play) {
switch (this->actor.params) { switch (this->actor.params) {
case ARROW_SEED: case ARROW_SEED:
func_8002F7DC(&player->actor, NA_SE_IT_SLING_SHOT); Player_PlaySfx(&player->actor, NA_SE_IT_SLING_SHOT);
break; break;
case ARROW_NORMAL_LIT: case ARROW_NORMAL_LIT:
case ARROW_NORMAL_HORSE: case ARROW_NORMAL_HORSE:
case ARROW_NORMAL: case ARROW_NORMAL:
func_8002F7DC(&player->actor, NA_SE_IT_ARROW_SHOT); Player_PlaySfx(&player->actor, NA_SE_IT_ARROW_SHOT);
break; break;
case ARROW_FIRE: case ARROW_FIRE:
case ARROW_ICE: case ARROW_ICE:
case ARROW_LIGHT: case ARROW_LIGHT:
func_8002F7DC(&player->actor, NA_SE_IT_MAGIC_ARROW_SHOT); Player_PlaySfx(&player->actor, NA_SE_IT_MAGIC_ARROW_SHOT);
break; break;
} }

View File

@ -272,7 +272,7 @@ void EnButte_FlyAround(EnButte* this, PlayState* play) {
EnButte_SelectFlightParams(this, &sFlyAroundParams[this->flightParamsIdx]); EnButte_SelectFlightParams(this, &sFlyAroundParams[this->flightParamsIdx]);
} }
if (((this->actor.params & 1) == 1) && (player->heldItemAction == PLAYER_IA_STICK) && if (((this->actor.params & 1) == 1) && (player->heldItemAction == PLAYER_IA_DEKU_STICK) &&
(this->swordDownTimer <= 0) && (this->swordDownTimer <= 0) &&
((Math3D_Dist2DSq(player->actor.world.pos.x, player->actor.world.pos.z, this->actor.home.pos.x, ((Math3D_Dist2DSq(player->actor.world.pos.x, player->actor.world.pos.z, this->actor.home.pos.x,
this->actor.home.pos.z) < SQ(120.0f)) || this->actor.home.pos.z) < SQ(120.0f)) ||
@ -338,7 +338,7 @@ void EnButte_FollowLink(EnButte* this, PlayState* play) {
distSqFromHome = Math3D_Dist2DSq(this->actor.world.pos.x, this->actor.world.pos.z, this->actor.home.pos.x, distSqFromHome = Math3D_Dist2DSq(this->actor.world.pos.x, this->actor.world.pos.z, this->actor.home.pos.x,
this->actor.home.pos.z); this->actor.home.pos.z);
if (!((player->heldItemAction == PLAYER_IA_STICK) && (fabsf(player->actor.speedXZ) < 1.8f) && if (!((player->heldItemAction == PLAYER_IA_DEKU_STICK) && (fabsf(player->actor.speedXZ) < 1.8f) &&
(this->swordDownTimer <= 0) && (distSqFromHome < SQ(320.0f)))) { (this->swordDownTimer <= 0) && (distSqFromHome < SQ(320.0f)))) {
EnButte_SetupFlyAround(this); EnButte_SetupFlyAround(this);
} else if (distSqFromHome > SQ(240.0f)) { } else if (distSqFromHome > SQ(240.0f)) {
@ -401,7 +401,7 @@ void EnButte_Update(Actor* thisx, PlayState* play) {
this->unk_260 += 0x600; this->unk_260 += 0x600;
if ((this->actor.params & 1) == 1) { if ((this->actor.params & 1) == 1) {
if (GET_PLAYER(play)->swordState == 0) { if (GET_PLAYER(play)->meleeWeaponState == 0) {
if (this->swordDownTimer > 0) { if (this->swordDownTimer > 0) {
this->swordDownTimer--; this->swordDownTimer--;
} }

View File

@ -818,9 +818,9 @@ void EnFloormas_GrabLink(EnFloormas* this, PlayState* play) {
// Damage link every 20 frames // Damage link every 20 frames
if ((this->actionTarget % 20) == 0) { if ((this->actionTarget % 20) == 0) {
if (!LINK_IS_ADULT) { if (!LINK_IS_ADULT) {
func_8002F7DC(&player->actor, NA_SE_VO_LI_DAMAGE_S_KID); Player_PlaySfx(&player->actor, NA_SE_VO_LI_DAMAGE_S_KID);
} else { } else {
func_8002F7DC(&player->actor, NA_SE_VO_LI_DAMAGE_S); Player_PlaySfx(&player->actor, NA_SE_VO_LI_DAMAGE_S);
} }
play->damagePlayer(play, -8); play->damagePlayer(play, -8);
} }

View File

@ -448,7 +448,7 @@ void EnGeldB_Ready(EnGeldB* this, PlayState* play) {
return; return;
} }
angleToLink = player->actor.shape.rot.y - this->actor.shape.rot.y; angleToLink = player->actor.shape.rot.y - this->actor.shape.rot.y;
if ((this->actor.xzDistToPlayer < 100.0f) && (player->swordState != 0) && (ABS(angleToLink) >= 0x1F40)) { if ((this->actor.xzDistToPlayer < 100.0f) && (player->meleeWeaponState != 0) && (ABS(angleToLink) >= 0x1F40)) {
this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer; this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer;
EnGeldB_SetupCircle(this); EnGeldB_SetupCircle(this);
} else if (--this->timer == 0) { } else if (--this->timer == 0) {
@ -504,7 +504,7 @@ void EnGeldB_Advance(EnGeldB* this, PlayState* play) {
this->skelAnime.playSpeed = this->actor.speedXZ / 8.0f; this->skelAnime.playSpeed = this->actor.speedXZ / 8.0f;
facingAngletoLink = player->actor.shape.rot.y - this->actor.shape.rot.y; facingAngletoLink = player->actor.shape.rot.y - this->actor.shape.rot.y;
facingAngletoLink = ABS(facingAngletoLink); facingAngletoLink = ABS(facingAngletoLink);
if ((this->actor.xzDistToPlayer < 150.0f) && (player->swordState != 0) && (facingAngletoLink >= 0x1F40)) { if ((this->actor.xzDistToPlayer < 150.0f) && (player->meleeWeaponState != 0) && (facingAngletoLink >= 0x1F40)) {
this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer; this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer;
if (Rand_ZeroOne() > 0.7f) { if (Rand_ZeroOne() > 0.7f) {
EnGeldB_SetupCircle(this); EnGeldB_SetupCircle(this);
@ -856,12 +856,12 @@ void EnGeldB_Slash(EnGeldB* this, PlayState* play) {
this->actor.speedXZ = 0.0f; this->actor.speedXZ = 0.0f;
if ((s32)this->skelAnime.curFrame == 1) { if ((s32)this->skelAnime.curFrame == 1) {
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GERUDOFT_ATTACK); Audio_PlayActorSound2(&this->actor, NA_SE_EN_GERUDOFT_ATTACK);
this->swordState = 1; this->meleeWeaponState = 1;
} else if ((s32)this->skelAnime.curFrame == 6) { } else if ((s32)this->skelAnime.curFrame == 6) {
this->swordState = -1; this->meleeWeaponState = -1;
} }
if (this->swordCollider.base.atFlags & AT_BOUNCED) { if (this->swordCollider.base.atFlags & AT_BOUNCED) {
this->swordState = -1; this->meleeWeaponState = -1;
this->swordCollider.base.atFlags &= ~(AT_HIT | AT_BOUNCED); this->swordCollider.base.atFlags &= ~(AT_HIT | AT_BOUNCED);
EnGeldB_SetupRollBack(this); EnGeldB_SetupRollBack(this);
} else if (SkelAnime_Update(&this->skelAnime)) { } else if (SkelAnime_Update(&this->skelAnime)) {
@ -932,13 +932,13 @@ void EnGeldB_SpinAttack(EnGeldB* this, PlayState* play) {
} else if ((s32)this->skelAnime.curFrame == 13) { } else if ((s32)this->skelAnime.curFrame == 13) {
Actor_SpawnFloorDustRing(play, &this->actor, &this->leftFootPos, 3.0f, 2, 2.0f, 0, 0, false); Actor_SpawnFloorDustRing(play, &this->actor, &this->leftFootPos, 3.0f, 2, 2.0f, 0, 0, false);
Actor_SpawnFloorDustRing(play, &this->actor, &this->rightFootPos, 3.0f, 2, 2.0f, 0, 0, false); Actor_SpawnFloorDustRing(play, &this->actor, &this->rightFootPos, 3.0f, 2, 2.0f, 0, 0, false);
this->swordState = 1; this->meleeWeaponState = 1;
this->actor.speedXZ = 10.0f; this->actor.speedXZ = 10.0f;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_GERUDOFT_ATTACK); Audio_PlayActorSound2(&this->actor, NA_SE_EN_GERUDOFT_ATTACK);
} else if ((s32)this->skelAnime.curFrame == 21) { } else if ((s32)this->skelAnime.curFrame == 21) {
this->actor.speedXZ = 0.0f; this->actor.speedXZ = 0.0f;
} else if ((s32)this->skelAnime.curFrame == 24) { } else if ((s32)this->skelAnime.curFrame == 24) {
this->swordState = -1; this->meleeWeaponState = -1;
} }
if (SkelAnime_Update(&this->skelAnime) && (this->spinAttackState < 2)) { if (SkelAnime_Update(&this->skelAnime) && (this->spinAttackState < 2)) {
if (!Actor_IsFacingPlayer(&this->actor, 0x1554)) { if (!Actor_IsFacingPlayer(&this->actor, 0x1554)) {
@ -1116,8 +1116,8 @@ void EnGeldB_Jump(EnGeldB* this, PlayState* play) {
void EnGeldB_SetupBlock(EnGeldB* this) { void EnGeldB_SetupBlock(EnGeldB* this) {
f32 lastFrame = Animation_GetLastFrame(&gGerudoRedBlockAnim); f32 lastFrame = Animation_GetLastFrame(&gGerudoRedBlockAnim);
if (this->swordState != 0) { if (this->meleeWeaponState != 0) {
this->swordState = -1; this->meleeWeaponState = -1;
} }
this->actor.speedXZ = 0.0f; this->actor.speedXZ = 0.0f;
this->action = GELDB_BLOCK; this->action = GELDB_BLOCK;
@ -1419,7 +1419,7 @@ void EnGeldB_Update(Actor* thisx, PlayState* play) {
if ((this->action == GELDB_BLOCK) && (this->skelAnime.curFrame == 0.0f)) { if ((this->action == GELDB_BLOCK) && (this->skelAnime.curFrame == 0.0f)) {
CollisionCheck_SetAC(play, &play->colChkCtx, &this->blockCollider.base); CollisionCheck_SetAC(play, &play->colChkCtx, &this->blockCollider.base);
} }
if (this->swordState > 0) { if (this->meleeWeaponState > 0) {
CollisionCheck_SetAT(play, &play->colChkCtx, &this->swordCollider.base); CollisionCheck_SetAT(play, &play->colChkCtx, &this->swordCollider.base);
} }
if (this->blinkState == 0) { if (this->blinkState == 0) {
@ -1480,10 +1480,10 @@ void EnGeldB_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* ro
Matrix_MultVec3f(&swordTipOffset, &swordTip); Matrix_MultVec3f(&swordTipOffset, &swordTip);
Matrix_MultVec3f(&swordHiltOffset, &swordHilt); Matrix_MultVec3f(&swordHiltOffset, &swordHilt);
if ((this->swordState < 0) || ((this->action != GELDB_SLASH) && (this->action != GELDB_SPIN_ATTACK))) { if ((this->meleeWeaponState < 0) || ((this->action != GELDB_SLASH) && (this->action != GELDB_SPIN_ATTACK))) {
EffectBlure_AddSpace(Effect_GetByIndex(this->blureIndex)); EffectBlure_AddSpace(Effect_GetByIndex(this->blureIndex));
this->swordState = 0; this->meleeWeaponState = 0;
} else if (this->swordState > 0) { } else if (this->meleeWeaponState > 0) {
EffectBlure_AddVertex(Effect_GetByIndex(this->blureIndex), &swordTip, &swordHilt); EffectBlure_AddVertex(Effect_GetByIndex(this->blureIndex), &swordTip, &swordHilt);
} }
} else { } else {

View File

@ -53,7 +53,7 @@ typedef struct EnGeldB {
/* 0x0304 */ f32 approachRate; /* 0x0304 */ f32 approachRate;
/* 0x0308 */ char unk_308[4]; /* 0x0308 */ char unk_308[4];
/* 0x030C */ f32 unkFloat; /* 0x030C */ f32 unkFloat;
/* 0x0310 */ s16 swordState; /* 0x0310 */ s16 meleeWeaponState;
/* 0x0312 */ s16 spinAttackState; /* 0x0312 */ s16 spinAttackState;
/* 0x0314 */ s16 keyFlag; /* 0x0314 */ s16 keyFlag;
/* 0x0316 */ char unk_316[2]; /* 0x0316 */ char unk_316[2];

View File

@ -733,7 +733,7 @@ void EnGoma_Update(Actor* thisx, PlayState* play) {
EnGoma_LookAtPlayer(this, play); EnGoma_LookAtPlayer(this, play);
EnGoma_UpdateEyeEnvColor(this); EnGoma_UpdateEyeEnvColor(this);
this->visualState = 1; this->visualState = 1;
if (player->swordState != 0) { if (player->meleeWeaponState != 0) {
this->colCyl2.dim.radius = 35; this->colCyl2.dim.radius = 35;
this->colCyl2.dim.height = 35; this->colCyl2.dim.height = 35;
this->colCyl2.dim.yShift = 0; this->colCyl2.dim.yShift = 0;

View File

@ -600,7 +600,7 @@ void EnGoroiwa_Roll(EnGoroiwa* this, PlayState* play) {
osSyncPrintf("Player ぶっ飛ばし\n"); // "Player knocked down" osSyncPrintf("Player ぶっ飛ばし\n"); // "Player knocked down"
osSyncPrintf(VT_RST); osSyncPrintf(VT_RST);
onHitSetupFuncs[(this->actor.params >> 10) & 1](this); onHitSetupFuncs[(this->actor.params >> 10) & 1](this);
func_8002F7DC(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT); Player_PlaySfx(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT);
if ((this->actor.home.rot.z & 1) == 1) { if ((this->actor.home.rot.z & 1) == 1) {
this->collisionDisabledTimer = 50; this->collisionDisabledTimer = 50;
} }
@ -682,7 +682,7 @@ void EnGoroiwa_MoveUp(EnGoroiwa* this, PlayState* play) {
if (this->collider.base.atFlags & AT_HIT) { if (this->collider.base.atFlags & AT_HIT) {
this->collider.base.atFlags &= ~AT_HIT; this->collider.base.atFlags &= ~AT_HIT;
func_8002F6D4(play, &this->actor, 2.0f, this->actor.yawTowardsPlayer, 0.0f, 4); func_8002F6D4(play, &this->actor, 2.0f, this->actor.yawTowardsPlayer, 0.0f, 4);
func_8002F7DC(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT); Player_PlaySfx(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT);
if ((this->actor.home.rot.z & 1) == 1) { if ((this->actor.home.rot.z & 1) == 1) {
this->collisionDisabledTimer = 50; this->collisionDisabledTimer = 50;
} }
@ -707,7 +707,7 @@ void EnGoroiwa_MoveDown(EnGoroiwa* this, PlayState* play) {
if (this->collider.base.atFlags & AT_HIT) { if (this->collider.base.atFlags & AT_HIT) {
this->collider.base.atFlags &= ~AT_HIT; this->collider.base.atFlags &= ~AT_HIT;
func_8002F6D4(play, &this->actor, 2.0f, this->actor.yawTowardsPlayer, 0.0f, 4); func_8002F6D4(play, &this->actor, 2.0f, this->actor.yawTowardsPlayer, 0.0f, 4);
func_8002F7DC(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT); Player_PlaySfx(&GET_PLAYER(play)->actor, NA_SE_PL_BODY_HIT);
if ((this->actor.home.rot.z & 1) == 1) { if ((this->actor.home.rot.z & 1) == 1) {
this->collisionDisabledTimer = 50; this->collisionDisabledTimer = 50;
} }

View File

@ -234,7 +234,7 @@ void func_80A6E8CC(EnHs* this, PlayState* play) {
if (this->unk_2AA > 0) { if (this->unk_2AA > 0) {
this->unk_2AA--; this->unk_2AA--;
if (this->unk_2AA == 0) { if (this->unk_2AA == 0) {
func_8002F7DC(&player->actor, NA_SE_EV_CHICKEN_CRY_M); Player_PlaySfx(&player->actor, NA_SE_EV_CHICKEN_CRY_M);
} }
} }

View File

@ -279,7 +279,7 @@ void UseHammer(Actor* thisx, PlayState* play, u8 started) {
Vec3f shockwavePos = this->actor.world.pos; Vec3f shockwavePos = this->actor.world.pos;
func_808429B4(play, 27767, 7, 20); func_808429B4(play, 27767, 7, 20);
func_8002F7DC(&this->actor, NA_SE_IT_HAMMER_HIT); Player_PlaySfx(&this->actor, NA_SE_IT_HAMMER_HIT);
EffectSsBlast_SpawnWhiteShockwave(play, &shockwavePos, &zeroVec, &zeroVec); EffectSsBlast_SpawnWhiteShockwave(play, &shockwavePos, &zeroVec, &zeroVec);

View File

@ -352,7 +352,7 @@ void func_80AD97C8(EnPoSisters* this, PlayState* play) {
f32 sp20; f32 sp20;
if (this->unk_195 == 0 || this->actionFunc != func_80ADAAA4) { if (this->unk_195 == 0 || this->actionFunc != func_80ADAAA4) {
if ((player->swordState == 0 || player->meleeWeaponAnimation >= 24) && if ((player->meleeWeaponState == 0 || player->meleeWeaponAnimation >= 24) &&
player->actor.world.pos.y - player->actor.floorHeight < 1.0f) { player->actor.world.pos.y - player->actor.floorHeight < 1.0f) {
Math_StepToF(&this->unk_294, 110.0f, 3.0f); Math_StepToF(&this->unk_294, 110.0f, 3.0f);
} else { } else {

View File

@ -528,7 +528,7 @@ void func_80AE3454(EnRd* this, PlayState* play) {
play->damagePlayer(play, -8); play->damagePlayer(play, -8);
func_800AA000(this->actor.xzDistToPlayer, 0xF0, 1, 0xC); func_800AA000(this->actor.xzDistToPlayer, 0xF0, 1, 0xC);
this->unk_319 = 20; this->unk_319 = 20;
func_8002F7DC(&player->actor, NA_SE_VO_LI_DAMAGE_S + player->ageProperties->unk_92); Player_PlaySfx(&player->actor, NA_SE_VO_LI_DAMAGE_S + player->ageProperties->unk_92);
} }
break; break;
case 3: case 3:

View File

@ -497,7 +497,7 @@ void EnTest_Idle(EnTest* this, PlayState* play) {
yawDiff = player->actor.shape.rot.y - this->actor.shape.rot.y; yawDiff = player->actor.shape.rot.y - this->actor.shape.rot.y;
if (this->actor.xzDistToPlayer < 100.0f) { if (this->actor.xzDistToPlayer < 100.0f) {
if ((player->swordState != 0) && (ABS(yawDiff) >= 0x1F40)) { if ((player->meleeWeaponState != 0) && (ABS(yawDiff) >= 0x1F40)) {
this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer; this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer;
if (Rand_ZeroOne() > 0.7f && player->meleeWeaponAnimation != 0x11) { if (Rand_ZeroOne() > 0.7f && player->meleeWeaponAnimation != 0x11) {
@ -627,7 +627,7 @@ void EnTest_WalkAndBlock(EnTest* this, PlayState* play) {
yawDiff = player->actor.shape.rot.y - this->actor.shape.rot.y; yawDiff = player->actor.shape.rot.y - this->actor.shape.rot.y;
if ((this->actor.xzDistToPlayer < 100.0f) && (player->swordState != 0)) { if ((this->actor.xzDistToPlayer < 100.0f) && (player->meleeWeaponState != 0)) {
if (ABS(yawDiff) >= 0x1F40) { if (ABS(yawDiff) >= 0x1F40) {
this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer; this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer;
@ -921,9 +921,9 @@ void EnTest_SlashDown(EnTest* this, PlayState* play) {
} }
if ((this->skelAnime.curFrame > 7.0f) && (this->skelAnime.curFrame < 11.0f)) { if ((this->skelAnime.curFrame > 7.0f) && (this->skelAnime.curFrame < 11.0f)) {
this->swordState = 1; this->meleeWeaponState = 1;
} else { } else {
this->swordState = 0; this->meleeWeaponState = 0;
} }
if (SkelAnime_Update(&this->skelAnime)) { if (SkelAnime_Update(&this->skelAnime)) {
@ -1016,9 +1016,9 @@ void EnTest_SlashUp(EnTest* this, PlayState* play) {
} }
if ((this->skelAnime.curFrame > 1.0f) && (this->skelAnime.curFrame < 8.0f)) { if ((this->skelAnime.curFrame > 1.0f) && (this->skelAnime.curFrame < 8.0f)) {
this->swordState = 1; this->meleeWeaponState = 1;
} else { } else {
this->swordState = 0; this->meleeWeaponState = 0;
} }
if (SkelAnime_Update(&this->skelAnime)) { if (SkelAnime_Update(&this->skelAnime)) {
@ -1100,7 +1100,7 @@ void EnTest_Jumpslash(EnTest* this, PlayState* play) {
if (this->timer == 0) { if (this->timer == 0) {
Animation_PlayOnce(&this->skelAnime, &gStalfosJumpslashAnim); Animation_PlayOnce(&this->skelAnime, &gStalfosJumpslashAnim);
this->timer = 1; this->timer = 1;
this->swordState = 1; this->meleeWeaponState = 1;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL_SAKEBI); Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL_SAKEBI);
Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL_JUMP); Audio_PlayActorSound2(&this->actor, NA_SE_EN_STAL_JUMP);
} else { } else {
@ -1110,7 +1110,7 @@ void EnTest_Jumpslash(EnTest* this, PlayState* play) {
} }
if ((this->timer != 0) && (this->skelAnime.curFrame >= 5.0f)) { if ((this->timer != 0) && (this->skelAnime.curFrame >= 5.0f)) {
this->swordState = 0; this->meleeWeaponState = 0;
} }
if (this->actor.world.pos.y <= this->actor.floorHeight) { if (this->actor.world.pos.y <= this->actor.floorHeight) {
@ -1237,7 +1237,7 @@ void func_808621D4(EnTest* this, PlayState* play) {
} }
} }
if (player->swordState != 0) { if (player->meleeWeaponState != 0) {
if ((this->actor.bgCheckFlags & 8) && ((ABS((s16)(this->actor.wallYaw - this->actor.shape.rot.y)) < 0x38A4) && if ((this->actor.bgCheckFlags & 8) && ((ABS((s16)(this->actor.wallYaw - this->actor.shape.rot.y)) < 0x38A4) &&
(this->actor.xzDistToPlayer < 80.0f))) { (this->actor.xzDistToPlayer < 80.0f))) {
EnTest_SetupJumpUp(this); EnTest_SetupJumpUp(this);
@ -1276,7 +1276,7 @@ void func_80862418(EnTest* this, PlayState* play) {
} }
} }
if (player->swordState != 0) { if (player->meleeWeaponState != 0) {
if ((this->actor.bgCheckFlags & 8) && ((ABS((s16)(this->actor.wallYaw - this->actor.shape.rot.y)) < 0x38A4) && if ((this->actor.bgCheckFlags & 8) && ((ABS((s16)(this->actor.wallYaw - this->actor.shape.rot.y)) < 0x38A4) &&
(this->actor.xzDistToPlayer < 80.0f))) { (this->actor.xzDistToPlayer < 80.0f))) {
EnTest_SetupJumpUp(this); EnTest_SetupJumpUp(this);
@ -1294,7 +1294,7 @@ void func_80862418(EnTest* this, PlayState* play) {
void EnTest_SetupStunned(EnTest* this) { void EnTest_SetupStunned(EnTest* this) {
this->unk_7C8 = 0xB; this->unk_7C8 = 0xB;
this->unk_7DE = 0; this->unk_7DE = 0;
this->swordState = 0; this->meleeWeaponState = 0;
this->skelAnime.playSpeed = 0.0f; this->skelAnime.playSpeed = 0.0f;
this->actor.speedXZ = -4.0f; this->actor.speedXZ = -4.0f;
@ -1322,7 +1322,7 @@ void EnTest_Stunned(EnTest* this, PlayState* play) {
if (this->actor.colorFilterTimer == 0) { if (this->actor.colorFilterTimer == 0) {
if (this->actor.colChkInfo.health == 0) { if (this->actor.colChkInfo.health == 0) {
func_80862FA8(this, play); func_80862FA8(this, play);
} else if (player->swordState != 0) { } else if (player->meleeWeaponState != 0) {
if ((this->actor.bgCheckFlags & 8) && if ((this->actor.bgCheckFlags & 8) &&
((ABS((s16)(this->actor.wallYaw - this->actor.shape.rot.y)) < 0x38A4) && ((ABS((s16)(this->actor.wallYaw - this->actor.shape.rot.y)) < 0x38A4) &&
(this->actor.xzDistToPlayer < 80.0f))) { (this->actor.xzDistToPlayer < 80.0f))) {
@ -1484,9 +1484,9 @@ void func_80862DBC(EnTest* this, PlayState* play) {
BodyBreak_Alloc(&this->bodyBreak, 60, play); BodyBreak_Alloc(&this->bodyBreak, 60, play);
this->actor.home.rot.x = 0; this->actor.home.rot.x = 0;
if (this->swordState >= 0) { if (this->meleeWeaponState >= 0) {
EffectBlure_AddSpace(Effect_GetByIndex(this->effectIndex)); EffectBlure_AddSpace(Effect_GetByIndex(this->effectIndex));
this->swordState = -1; this->meleeWeaponState = -1;
} }
this->actor.flags &= ~ACTOR_FLAG_TARGETABLE; this->actor.flags &= ~ACTOR_FLAG_TARGETABLE;
@ -1593,7 +1593,7 @@ void func_8086318C(EnTest* this, PlayState* play) {
} }
void EnTest_SetupRecoil(EnTest* this) { void EnTest_SetupRecoil(EnTest* this) {
this->swordState = 0; this->meleeWeaponState = 0;
this->skelAnime.moveFlags = 2; this->skelAnime.moveFlags = 2;
this->unk_7C8 = 0x13; this->unk_7C8 = 0x13;
this->skelAnime.playSpeed = -1.0f; this->skelAnime.playSpeed = -1.0f;
@ -1668,8 +1668,8 @@ void EnTest_UpdateDamage(EnTest* this, PlayState* play) {
if ((this->actor.colChkInfo.damageEffect != STALFOS_DMGEFF_SLING) && if ((this->actor.colChkInfo.damageEffect != STALFOS_DMGEFF_SLING) &&
(this->actor.colChkInfo.damageEffect != STALFOS_DMGEFF_FIREMAGIC)) { (this->actor.colChkInfo.damageEffect != STALFOS_DMGEFF_FIREMAGIC)) {
this->lastDamageEffect = this->actor.colChkInfo.damageEffect; this->lastDamageEffect = this->actor.colChkInfo.damageEffect;
if (this->swordState >= 1) { if (this->meleeWeaponState >= 1) {
this->swordState = 0; this->meleeWeaponState = 0;
} }
this->unk_7DC = player->unk_845; this->unk_7DC = player->unk_845;
this->actor.world.rot.y = this->actor.yawTowardsPlayer; this->actor.world.rot.y = this->actor.yawTowardsPlayer;
@ -1801,7 +1801,7 @@ void EnTest_Update(Actor* thisx, PlayState* play) {
} }
} }
if (this->swordState >= 1) { if (this->meleeWeaponState >= 1) {
if (!(this->swordCollider.base.atFlags & AT_BOUNCED)) { if (!(this->swordCollider.base.atFlags & AT_BOUNCED)) {
CollisionCheck_SetAT(play, &play->colChkCtx, &this->swordCollider.base); CollisionCheck_SetAT(play, &play->colChkCtx, &this->swordCollider.base);
} else { } else {
@ -1883,12 +1883,12 @@ void EnTest_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot
Matrix_MultVec3f(&D_80864664, &sp70); Matrix_MultVec3f(&D_80864664, &sp70);
Matrix_MultVec3f(&D_80864670, &sp64); Matrix_MultVec3f(&D_80864670, &sp64);
if ((this->swordState >= 1) && if ((this->meleeWeaponState >= 1) &&
((this->actor.params != STALFOS_TYPE_INVISIBLE) || play->actorCtx.lensActive)) { ((this->actor.params != STALFOS_TYPE_INVISIBLE) || play->actorCtx.lensActive)) {
EffectBlure_AddVertex(Effect_GetByIndex(this->effectIndex), &sp70, &sp64); EffectBlure_AddVertex(Effect_GetByIndex(this->effectIndex), &sp70, &sp64);
} else if (this->swordState >= 0) { } else if (this->meleeWeaponState >= 0) {
EffectBlure_AddSpace(Effect_GetByIndex(this->effectIndex)); EffectBlure_AddSpace(Effect_GetByIndex(this->effectIndex));
this->swordState = -1; this->meleeWeaponState = -1;
} }
} else if ((limbIndex == STALFOS_LIMB_SHIELD) && (this->unk_7DE != 0)) { } else if ((limbIndex == STALFOS_LIMB_SHIELD) && (this->unk_7DE != 0)) {

View File

@ -95,7 +95,7 @@ typedef struct EnTest {
/* 0x7E8 */ s32 timer; /* 0x7E8 */ s32 timer;
/* 0x7EC */ f32 unk_7EC; /* 0x7EC */ f32 unk_7EC;
/* 0x7F0 */ BodyBreak bodyBreak; /* 0x7F0 */ BodyBreak bodyBreak;
/* 0x808 */ s8 swordState; /* 0x808 */ s8 meleeWeaponState;
/* 0x80C */ s32 effectIndex; /* 0x80C */ s32 effectIndex;
/* 0x810 */ ColliderCylinder bodyCollider; /* 0x810 */ ColliderCylinder bodyCollider;
/* 0x85C */ ColliderQuad swordCollider; /* 0x85C */ ColliderQuad swordCollider;

View File

@ -314,7 +314,7 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
sStaggerTimer = 50; sStaggerTimer = 50;
} }
} }
if ((sCounterState != 0) && (this->swordState != 0)) { if ((sCounterState != 0) && (this->meleeWeaponState != 0)) {
CollisionCheck_SetAC(play, &play->colChkCtx, &this->meleeWeaponQuads[0].base); CollisionCheck_SetAC(play, &play->colChkCtx, &this->meleeWeaponQuads[0].base);
CollisionCheck_SetAC(play, &play->colChkCtx, &this->meleeWeaponQuads[1].base); CollisionCheck_SetAC(play, &play->colChkCtx, &this->meleeWeaponQuads[1].base);
} }
@ -338,7 +338,7 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
// Handles Dark Link's initial reaction to jumpslashes // Handles Dark Link's initial reaction to jumpslashes
if (((player->swordState != 0) || (player->actor.velocity.y > -3.0f)) && if (((player->meleeWeaponState != 0) || (player->actor.velocity.y > -3.0f)) &&
(player->meleeWeaponAnimation == JUMPSLASH_START)) { (player->meleeWeaponAnimation == JUMPSLASH_START)) {
this->actor.world.rot.y = this->actor.shape.rot.y = this->actor.yawTowardsPlayer; this->actor.world.rot.y = this->actor.shape.rot.y = this->actor.yawTowardsPlayer;
@ -366,7 +366,7 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
player->actor.world.pos.z, player->actor.world.pos.z,
1.0f, 5.0f, 0.0f); 1.0f, 5.0f, 0.0f);
sSwordJumpTimer--; sSwordJumpTimer--;
if (((u32)sSwordJumpTimer == 0) || ((player->invincibilityTimer > 0) && (this->swordState == 0))) { if (((u32)sSwordJumpTimer == 0) || ((player->invincibilityTimer > 0) && (this->meleeWeaponState == 0))) {
this->actor.world.rot.y = this->actor.shape.rot.y = this->actor.yawTowardsPlayer; this->actor.world.rot.y = this->actor.shape.rot.y = this->actor.yawTowardsPlayer;
input->cur.button = BTN_A; input->cur.button = BTN_A;
player->stateFlags3 &= ~4; player->stateFlags3 &= ~4;
@ -398,7 +398,7 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
// Handles the reaction to a one-handed stab. If the conditions are satisfied, // Handles the reaction to a one-handed stab. If the conditions are satisfied,
// Dark Link jumps on Link's sword. Otherwise he backflips away. // Dark Link jumps on Link's sword. Otherwise he backflips away.
if ((this->swordState == 0) && (sCounterState == 0) && (player->invincibilityTimer == 0) && if ((this->meleeWeaponState == 0) && (sCounterState == 0) && (player->invincibilityTimer == 0) &&
(player->meleeWeaponAnimation == STAB_1H) && (this->actor.xzDistToPlayer <= 85.0f) && (player->meleeWeaponAnimation == STAB_1H) && (this->actor.xzDistToPlayer <= 85.0f) &&
Actor_IsTargeted(play, &this->actor)) { Actor_IsTargeted(play, &this->actor)) {
@ -407,7 +407,7 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
player->stateFlags3 |= 4; player->stateFlags3 |= 4;
this->actor.flags &= ~ACTOR_FLAG_TARGETABLE; this->actor.flags &= ~ACTOR_FLAG_TARGETABLE;
sSwordJumpTimer = 27; sSwordJumpTimer = 27;
player->swordState = 0; player->meleeWeaponState = 0;
player->linearVelocity = 0.0f; player->linearVelocity = 0.0f;
this->invincibilityTimer = -7; this->invincibilityTimer = -7;
this->linearVelocity = 0.0f; this->linearVelocity = 0.0f;
@ -440,8 +440,8 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
} else { } else {
EnTorch2_Backflip(this, input, &this->actor); EnTorch2_Backflip(this, input, &this->actor);
} }
if (!CHECK_BTN_ANY(input->cur.button, BTN_A | BTN_R) && (this->swordState == 0) && if (!CHECK_BTN_ANY(input->cur.button, BTN_A | BTN_R) && (this->meleeWeaponState == 0) &&
(player->swordState != 0)) { (player->meleeWeaponState != 0)) {
sCounterState = 1; sCounterState = 1;
} }
} }
@ -455,9 +455,9 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
(ABS(sp5A) >= 0x7800) && (this->actor.isTargeted || !(player->stateFlags1 & 0x00400000))) { (ABS(sp5A) >= 0x7800) && (this->actor.isTargeted || !(player->stateFlags1 & 0x00400000))) {
EnTorch2_SwingSword(play, input, this); EnTorch2_SwingSword(play, input, this);
} else if (((this->actor.xzDistToPlayer <= 70.0f) || } else if (((this->actor.xzDistToPlayer <= 70.0f) ||
((this->actor.xzDistToPlayer <= 80.0f + sp50) && (player->swordState != 0))) && ((this->actor.xzDistToPlayer <= 80.0f + sp50) && (player->meleeWeaponState != 0))) &&
(this->swordState == 0)) { (this->meleeWeaponState == 0)) {
if (!EnTorch2_SwingSword(play, input, this) && (this->swordState == 0) && if (!EnTorch2_SwingSword(play, input, this) && (this->meleeWeaponState == 0) &&
(sCounterState == 0)) { (sCounterState == 0)) {
EnTorch2_Backflip(this, input, &this->actor); EnTorch2_Backflip(this, input, &this->actor);
} }
@ -468,7 +468,7 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
Math_SmoothStepToS(&sStickAngle, player->actor.shape.rot.y + 0x7FFF, 1, 0x2328, 0); Math_SmoothStepToS(&sStickAngle, player->actor.shape.rot.y + 0x7FFF, 1, 0x2328, 0);
} }
} else if (this->actor.xzDistToPlayer > 100.0f + sp50) { } else if (this->actor.xzDistToPlayer > 100.0f + sp50) {
if ((player->swordState == 0) || (player->meleeWeaponAnimation < SPIN_ATTACK_1H) || if ((player->meleeWeaponState == 0) || (player->meleeWeaponAnimation < SPIN_ATTACK_1H) ||
(player->meleeWeaponAnimation > BIG_SPIN_2H) || (this->actor.xzDistToPlayer >= 280.0f)) { (player->meleeWeaponAnimation > BIG_SPIN_2H) || (this->actor.xzDistToPlayer >= 280.0f)) {
sStickTilt = 127.0f; sStickTilt = 127.0f;
sStickAngle = this->actor.yawTowardsPlayer; sStickAngle = this->actor.yawTowardsPlayer;
@ -520,7 +520,7 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
break; break;
case ENTORCH2_DAMAGE: case ENTORCH2_DAMAGE:
this->swordState = 0; this->meleeWeaponState = 0;
input->cur.stick_x = input->cur.stick_y = 0; input->cur.stick_x = input->cur.stick_y = 0;
if ((this->invincibilityTimer > 0) && (this->actor.world.pos.y < (this->actor.floorHeight - 160.0f))) { if ((this->invincibilityTimer > 0) && (this->actor.world.pos.y < (this->actor.floorHeight - 160.0f))) {
this->stateFlags3 &= ~1; this->stateFlags3 &= ~1;
@ -568,7 +568,7 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
// Causes Dark Link to shield in place when Link is using magic attacks other than the spin attack // Causes Dark Link to shield in place when Link is using magic attacks other than the spin attack
if ((gSaveContext.magicState == 3) && (player->swordState == 0 || (player->meleeWeaponAnimation < SPIN_ATTACK_1H) || if ((gSaveContext.magicState == 3) && (player->meleeWeaponState == 0 || (player->meleeWeaponAnimation < SPIN_ATTACK_1H) ||
(player->meleeWeaponAnimation > BIG_SPIN_2H))) { (player->meleeWeaponAnimation > BIG_SPIN_2H))) {
sStickTilt = 0.0f; sStickTilt = 0.0f;
input->cur.stick_x = 0; input->cur.stick_x = 0;
@ -586,7 +586,7 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
pad54 = input->prev.button ^ input->cur.button; pad54 = input->prev.button ^ input->cur.button;
input->press.button = input->cur.button & pad54; input->press.button = input->cur.button & pad54;
if (CHECK_BTN_ANY(input->cur.button, BTN_R)) { if (CHECK_BTN_ANY(input->cur.button, BTN_R)) {
input->cur.button = ((sCounterState == 0) && (this->swordState == 0)) ? BTN_R : input->cur.button ^ BTN_R; input->cur.button = ((sCounterState == 0) && (this->meleeWeaponState == 0)) ? BTN_R : input->cur.button ^ BTN_R;
} }
input->rel.button = input->prev.button & pad54; input->rel.button = input->prev.button & pad54;
input->prev.button = input->cur.button & (u16) ~(BTN_A | BTN_B); input->prev.button = input->cur.button & (u16) ~(BTN_A | BTN_B);
@ -711,11 +711,11 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
* This ensures Dark Link's counter animation mirrors Link's exactly. * This ensures Dark Link's counter animation mirrors Link's exactly.
*/ */
if ((sCounterState != 0) && (sCounterState == 1)) { if ((sCounterState != 0) && (sCounterState == 1)) {
if (this->swordState == 0) { if (this->meleeWeaponState == 0) {
sCounterState = 0; sCounterState = 0;
} else { } else {
sCounterState = 2; sCounterState = 2;
this->swordState = 1; this->meleeWeaponState = 1;
this->skelAnime.curFrame = player->skelAnime.curFrame - player->skelAnime.playSpeed; this->skelAnime.curFrame = player->skelAnime.curFrame - player->skelAnime.playSpeed;
this->skelAnime.playSpeed = player->skelAnime.playSpeed; this->skelAnime.playSpeed = player->skelAnime.playSpeed;
LinkAnimation_Update(play, &this->skelAnime); LinkAnimation_Update(play, &this->skelAnime);
@ -772,13 +772,13 @@ s32 EnTorch2_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f
Gfx** gfx) { Gfx** gfx) {
Player* this = (Player*)thisx; Player* this = (Player*)thisx;
return func_8008FCC8(play, limbIndex, dList, pos, rot, &this->actor); return Player_OverrideLimbDrawGameplayCommon(play, limbIndex, dList, pos, rot, &this->actor);
} }
void EnTorch2_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) { void EnTorch2_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot, void* thisx, Gfx** gfx) {
Player* this = (Player*)thisx; Player* this = (Player*)thisx;
func_80090D20(play, limbIndex, dList, rot, &this->actor); Player_PostLimbDrawGameplay(play, limbIndex, dList, rot, &this->actor);
} }
void EnTorch2_Draw(Actor* thisx, PlayState* play2) { void EnTorch2_Draw(Actor* thisx, PlayState* play2) {

View File

@ -450,9 +450,9 @@ void EnWallmas_TakePlayer(EnWallmas* this, PlayState* play) {
if (Animation_OnFrame(&this->skelAnime, 1.0f) != 0) { if (Animation_OnFrame(&this->skelAnime, 1.0f) != 0) {
if (!LINK_IS_ADULT) { if (!LINK_IS_ADULT) {
func_8002F7DC(&this->actor, NA_SE_VO_LI_DAMAGE_S_KID); Player_PlaySfx(&this->actor, NA_SE_VO_LI_DAMAGE_S_KID);
} else { } else {
func_8002F7DC(&this->actor, NA_SE_VO_LI_DAMAGE_S); Player_PlaySfx(&this->actor, NA_SE_VO_LI_DAMAGE_S);
} }
Audio_PlayActorSound2(&this->actor, NA_SE_EN_FALL_CATCH); Audio_PlayActorSound2(&this->actor, NA_SE_EN_FALL_CATCH);
@ -475,9 +475,9 @@ void EnWallmas_TakePlayer(EnWallmas* this, PlayState* play) {
if (this->timer == -0x1E) { if (this->timer == -0x1E) {
if (!LINK_IS_ADULT) { if (!LINK_IS_ADULT) {
func_8002F7DC(&this->actor, NA_SE_VO_LI_TAKEN_AWAY_KID); Player_PlaySfx(&this->actor, NA_SE_VO_LI_TAKEN_AWAY_KID);
} else { } else {
func_8002F7DC(&this->actor, NA_SE_VO_LI_TAKEN_AWAY); Player_PlaySfx(&this->actor, NA_SE_VO_LI_TAKEN_AWAY);
} }
} }
if (this->timer == 0) { if (this->timer == 0) {

View File

@ -461,7 +461,7 @@ void EnWf_Wait(EnWf* this, PlayState* play) {
angle = player->actor.shape.rot.y - this->actor.shape.rot.y; angle = player->actor.shape.rot.y - this->actor.shape.rot.y;
angle = ABS(angle); angle = ABS(angle);
if ((this->actor.xzDistToPlayer < 80.0f) && (player->swordState != 0) && (angle >= 0x1F40)) { if ((this->actor.xzDistToPlayer < 80.0f) && (player->meleeWeaponState != 0) && (angle >= 0x1F40)) {
this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer; this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer;
EnWf_SetupRunAroundPlayer(this); EnWf_SetupRunAroundPlayer(this);
} else { } else {
@ -522,7 +522,7 @@ void EnWf_RunAtPlayer(EnWf* this, PlayState* play) {
playerFacingAngleDiff = player->actor.shape.rot.y - this->actor.shape.rot.y; playerFacingAngleDiff = player->actor.shape.rot.y - this->actor.shape.rot.y;
playerFacingAngleDiff = ABS(playerFacingAngleDiff); playerFacingAngleDiff = ABS(playerFacingAngleDiff);
if ((this->actor.xzDistToPlayer < (150.0f + baseRange)) && (player->swordState != 0) && if ((this->actor.xzDistToPlayer < (150.0f + baseRange)) && (player->meleeWeaponState != 0) &&
(playerFacingAngleDiff >= 8000)) { (playerFacingAngleDiff >= 8000)) {
this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer; this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer;

View File

@ -721,7 +721,7 @@ void func_80B4543C(EnZf* this, PlayState* play) {
angleToPlayer = player->actor.shape.rot.y - this->actor.shape.rot.y; angleToPlayer = player->actor.shape.rot.y - this->actor.shape.rot.y;
angleToPlayer = ABS(angleToPlayer); angleToPlayer = ABS(angleToPlayer);
if ((this->actor.xzDistToPlayer < 100.0f) && (player->swordState != 0) && (angleToPlayer >= 0x1F40)) { if ((this->actor.xzDistToPlayer < 100.0f) && (player->meleeWeaponState != 0) && (angleToPlayer >= 0x1F40)) {
this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer; this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer;
func_80B483E4(this, play); func_80B483E4(this, play);
} else if (this->unk_3F0 != 0) { } else if (this->unk_3F0 != 0) {
@ -838,7 +838,7 @@ void EnZf_ApproachPlayer(EnZf* this, PlayState* play) {
temp_v1 = player->actor.shape.rot.y - this->actor.shape.rot.y; temp_v1 = player->actor.shape.rot.y - this->actor.shape.rot.y;
temp_v1 = ABS(temp_v1); temp_v1 = ABS(temp_v1);
if ((sp48 == this->curPlatform) && (this->actor.xzDistToPlayer < 150.0f) && (player->swordState != 0) && if ((sp48 == this->curPlatform) && (this->actor.xzDistToPlayer < 150.0f) && (player->meleeWeaponState != 0) &&
(temp_v1 >= 0x1F40)) { (temp_v1 >= 0x1F40)) {
this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer; this->actor.shape.rot.y = this->actor.world.rot.y = this->actor.yawTowardsPlayer;

View File

@ -422,7 +422,7 @@ void func_80B4BBC4(EnZl1* this, PlayState* play) {
Animation_Change(&this->skelAnime, &gChildZelda1Anim_00438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f); Animation_Change(&this->skelAnime, &gChildZelda1Anim_00438, 1.0f, 0.0f, frameCount, ANIMMODE_LOOP, 0.0f);
func_8002DF54(play, &this->actor, 1); func_8002DF54(play, &this->actor, 1);
func_8002F7DC(&player->actor, NA_SE_VO_LI_SURPRISE_KID); Player_PlaySfx(&player->actor, NA_SE_VO_LI_SURPRISE_KID);
this->actor.textId = 0x7039; this->actor.textId = 0x7039;
Message_StartTextbox(play, this->actor.textId, NULL); Message_StartTextbox(play, this->actor.textId, NULL);
this->unk_1E2 = 0; this->unk_1E2 = 0;

View File

@ -109,7 +109,7 @@ void MagicFire_UpdateBeforeCast(Actor* thisx, PlayState* play) {
this->actionTimer--; this->actionTimer--;
} else { } else {
this->actor.update = MagicFire_Update; this->actor.update = MagicFire_Update;
func_8002F7DC(&player->actor, NA_SE_PL_MAGIC_FIRE); Player_PlaySfx(&player->actor, NA_SE_PL_MAGIC_FIRE);
} }
this->actor.world.pos = player->actor.world.pos; this->actor.world.pos = player->actor.world.pos;
} }

View File

@ -62,7 +62,7 @@ void MagicWind_Init(Actor* thisx, PlayState* play) {
MagicWind_SetupAction(this, MagicWind_Shrink); MagicWind_SetupAction(this, MagicWind_Shrink);
// "Means start" // "Means start"
LOG_STRING("表示開始"); LOG_STRING("表示開始");
func_8002F7DC(&player->actor, NA_SE_PL_MAGIC_WIND_WARP); Player_PlaySfx(&player->actor, NA_SE_PL_MAGIC_WIND_WARP);
break; break;
} }
} }
@ -95,7 +95,7 @@ void MagicWind_WaitForTimer(MagicWind* this, PlayState* play) {
// "Means start" // "Means start"
LOG_STRING("表示開始"); LOG_STRING("表示開始");
func_8002F7DC(&player->actor, NA_SE_PL_MAGIC_WIND_NORMAL); Player_PlaySfx(&player->actor, NA_SE_PL_MAGIC_WIND_NORMAL);
MagicWind_UpdateAlpha(1.0f); MagicWind_UpdateAlpha(1.0f);
MagicWind_SetupAction(this, MagicWind_Grow); MagicWind_SetupAction(this, MagicWind_Grow);
SkelCurve_Update(play, &this->skelCurve); SkelCurve_Update(play, &this->skelCurve);

View File

@ -223,7 +223,7 @@ void ObjKibako_Idle(ObjKibako* this, PlayState* play) {
void ObjKibako_SetupHeld(ObjKibako* this) { void ObjKibako_SetupHeld(ObjKibako* this) {
this->actionFunc = ObjKibako_Held; this->actionFunc = ObjKibako_Held;
this->actor.room = -1; this->actor.room = -1;
func_8002F7DC(&this->actor, NA_SE_PL_PULL_UP_WOODBOX); Player_PlaySfx(&this->actor, NA_SE_PL_PULL_UP_WOODBOX);
} }
void ObjKibako_Held(ObjKibako* this, PlayState* play) { void ObjKibako_Held(ObjKibako* this, PlayState* play) {

View File

@ -176,7 +176,7 @@ void ObjSyokudai_Update(Actor* thisx, PlayState* play2) {
if (dmgFlags & 0x20820) { if (dmgFlags & 0x20820) {
interactionType = 1; interactionType = 1;
} }
} else if (player->heldItemAction == PLAYER_IA_STICK) { } else if (player->heldItemAction == PLAYER_IA_DEKU_STICK) {
Math_Vec3f_Diff(&player->meleeWeaponInfo[0].tip, &this->actor.world.pos, &tipToFlame); Math_Vec3f_Diff(&player->meleeWeaponInfo[0].tip, &this->actor.world.pos, &tipToFlame);
tipToFlame.y -= 67.0f; tipToFlame.y -= 67.0f;
if ((SQ(tipToFlame.x) + SQ(tipToFlame.y) + SQ(tipToFlame.z)) < SQ(20.0f)) { if ((SQ(tipToFlame.x) + SQ(tipToFlame.y) + SQ(tipToFlame.z)) < SQ(20.0f)) {

View File

@ -283,7 +283,7 @@ void ObjTsubo_Idle(ObjTsubo* this, PlayState* play) {
void ObjTsubo_SetupLiftedUp(ObjTsubo* this) { void ObjTsubo_SetupLiftedUp(ObjTsubo* this) {
this->actionFunc = ObjTsubo_LiftedUp; this->actionFunc = ObjTsubo_LiftedUp;
this->actor.room = -1; this->actor.room = -1;
func_8002F7DC(&this->actor, NA_SE_PL_PULL_UP_POT); Player_PlaySfx(&this->actor, NA_SE_PL_PULL_UP_POT);
this->actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED; this->actor.flags |= ACTOR_FLAG_UPDATE_WHILE_CULLED;
} }

File diff suppressed because it is too large Load Diff

View File

@ -152,7 +152,7 @@ void KaleidoScope_DrawPlayerWork(PlayState* play) {
extern int fbTest; extern int fbTest;
gsSPSetFB(play->state.gfxCtx->polyOpa.p++, fbTest); gsSPSetFB(play->state.gfxCtx->polyOpa.p++, fbTest);
func_8009214C(play, pauseCtx->playerSegment, &pauseCtx->playerSkelAnime, &pos, &link_kaleido_rot, scale, Player_DrawPause(play, pauseCtx->playerSegment, &pauseCtx->playerSkelAnime, &pos, &link_kaleido_rot, scale,
CUR_EQUIP_VALUE(EQUIP_SWORD), CUR_EQUIP_VALUE(EQUIP_TUNIC) - 1, CUR_EQUIP_VALUE(EQUIP_SHIELD), CUR_EQUIP_VALUE(EQUIP_SWORD), CUR_EQUIP_VALUE(EQUIP_TUNIC) - 1, CUR_EQUIP_VALUE(EQUIP_SHIELD),
CUR_EQUIP_VALUE(EQUIP_BOOTS) - 1); CUR_EQUIP_VALUE(EQUIP_BOOTS) - 1);
gsSPResetFB(play->state.gfxCtx->polyOpa.p++); gsSPResetFB(play->state.gfxCtx->polyOpa.p++);