diff options
| author | engineer124 <47598039+engineer124@users.noreply.github.com> | 2024-10-21 11:58:25 +1100 |
|---|---|---|
| committer | Eblo <7004497+Eblo@users.noreply.github.com> | 2025-09-16 10:56:23 -0400 |
| commit | 4e1d56167aa4acd006cee09a6c57a530b3c27731 (patch) | |
| tree | 571dab27d46ca014746737a17c34a785310e63cc | |
| parent | d9681052b2f2ab042f0203f0c56f132bdff25a98 (diff) | |
carry flag (#1725)
| -rw-r--r-- | mm/include/z64actor.h | 5 | ||||
| -rw-r--r-- | mm/src/overlays/actors/ovl_En_Dg/z_en_dg.c | 2 | ||||
| -rw-r--r-- | mm/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c | 2 | ||||
| -rw-r--r-- | mm/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c | 2 | ||||
| -rw-r--r-- | mm/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c | 2 | ||||
| -rw-r--r-- | mm/src/overlays/actors/ovl_En_Niw/z_en_niw.c | 2 | ||||
| -rw-r--r-- | mm/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c | 2 | ||||
| -rw-r--r-- | mm/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.c | 2 | ||||
| -rw-r--r-- | mm/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c | 2 | ||||
| -rw-r--r-- | mm/src/overlays/actors/ovl_player_actor/z_player.c | 191 |
10 files changed, 111 insertions, 101 deletions
diff --git a/mm/include/z64actor.h b/mm/include/z64actor.h index 2a47b91c4..4d1e771bc 100644 --- a/mm/include/z64actor.h +++ b/mm/include/z64actor.h @@ -550,8 +550,9 @@ typedef enum DoorLockType { #define ACTOR_FLAG_200000 (1 << 21) // #define ACTOR_FLAG_400000 (1 << 22) -// -#define ACTOR_FLAG_800000 (1 << 23) +// When Player is carrying this actor, it can only be thrown, not dropped/placed. +// Typically an actor can only be thrown when moving, but this allows an actor to be thrown when standing still. +#define ACTOR_FLAG_THROW_ONLY (1 << 23) // #define ACTOR_FLAG_1000000 (1 << 24) // Actor can update even if Player is currently using the ocarina. diff --git a/mm/src/overlays/actors/ovl_En_Dg/z_en_dg.c b/mm/src/overlays/actors/ovl_En_Dg/z_en_dg.c index 8472ddd31..c6021f5c0 100644 --- a/mm/src/overlays/actors/ovl_En_Dg/z_en_dg.c +++ b/mm/src/overlays/actors/ovl_En_Dg/z_en_dg.c @@ -7,7 +7,7 @@ #include "z_en_dg.h" #include "overlays/actors/ovl_En_Aob_01/z_en_aob_01.h" -#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_800000) +#define FLAGS (ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_FRIENDLY | ACTOR_FLAG_10 | ACTOR_FLAG_THROW_ONLY) #define THIS ((EnDg*)thisx) diff --git a/mm/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c b/mm/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c index 50df1e795..98578bdf0 100644 --- a/mm/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c +++ b/mm/src/overlays/actors/ovl_En_Ishi/z_en_ishi.c @@ -14,7 +14,7 @@ #include "2s2h/ShipUtils.h" -#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_800000) +#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_THROW_ONLY) #define THIS ((EnIshi*)thisx) diff --git a/mm/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c b/mm/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c index 893145531..88379208d 100644 --- a/mm/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c +++ b/mm/src/overlays/actors/ovl_En_Kusa/z_en_kusa.c @@ -14,7 +14,7 @@ #include "2s2h/ShipUtils.h" #include "GameInteractor/GameInteractor.h" -#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_800000) +#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_THROW_ONLY) #define THIS ((EnKusa*)thisx) diff --git a/mm/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c b/mm/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c index e9d18cf9e..9af694ec9 100644 --- a/mm/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c +++ b/mm/src/overlays/actors/ovl_En_Kusa2/z_en_kusa2.c @@ -13,7 +13,7 @@ #include "2s2h/ShipUtils.h" #include <string.h> -#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_800000) +#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_THROW_ONLY) #define THIS ((EnKusa2*)thisx) diff --git a/mm/src/overlays/actors/ovl_En_Niw/z_en_niw.c b/mm/src/overlays/actors/ovl_En_Niw/z_en_niw.c index e42feb02a..3e1ffd84f 100644 --- a/mm/src/overlays/actors/ovl_En_Niw/z_en_niw.c +++ b/mm/src/overlays/actors/ovl_En_Niw/z_en_niw.c @@ -7,7 +7,7 @@ #include "z_en_niw.h" #include "overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.h" -#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_800000) +#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_THROW_ONLY) #define THIS ((EnNiw*)thisx) diff --git a/mm/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c b/mm/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c index 4f0a30d68..f727fbfd1 100644 --- a/mm/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c +++ b/mm/src/overlays/actors/ovl_Obj_Grass_Carry/z_obj_grass_carry.c @@ -10,7 +10,7 @@ #include "overlays/actors/ovl_Obj_Grass/z_obj_grass.h" #include "GameInteractor/GameInteractor.h" -#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_800000) +#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_20 | ACTOR_FLAG_THROW_ONLY) #define THIS ((ObjGrassCarry*)thisx) diff --git a/mm/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.c b/mm/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.c index 0baa9c8f9..af91dfb31 100644 --- a/mm/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.c +++ b/mm/src/overlays/actors/ovl_Obj_Snowball2/z_obj_snowball2.c @@ -8,7 +8,7 @@ #include "objects/object_goroiwa/object_goroiwa.h" #include "2s2h/GameInteractor/GameInteractor.h" -#define FLAGS (ACTOR_FLAG_800000) +#define FLAGS (ACTOR_FLAG_THROW_ONLY) #define THIS ((ObjSnowball2*)thisx) diff --git a/mm/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c b/mm/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c index 43c3f3fa1..a7a914f3b 100644 --- a/mm/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c +++ b/mm/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c @@ -12,7 +12,7 @@ #include "2s2h/GameInteractor/GameInteractor.h" -#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_800000 | ACTOR_FLAG_CAN_PRESS_SWITCH) +#define FLAGS (ACTOR_FLAG_10 | ACTOR_FLAG_THROW_ONLY | ACTOR_FLAG_CAN_PRESS_SWITCH) #define THIS ((ObjTsubo*)thisx) diff --git a/mm/src/overlays/actors/ovl_player_actor/z_player.c b/mm/src/overlays/actors/ovl_player_actor/z_player.c index 2e8010d1e..d9d22cb1d 100644 --- a/mm/src/overlays/actors/ovl_player_actor/z_player.c +++ b/mm/src/overlays/actors/ovl_player_actor/z_player.c @@ -225,7 +225,7 @@ s32 Player_UpperAction_6(Player* this, PlayState* play); s32 Player_UpperAction_7(Player* this, PlayState* play); s32 Player_UpperAction_8(Player* this, PlayState* play); s32 Player_UpperAction_9(Player* this, PlayState* play); -s32 Player_UpperAction_10(Player* this, PlayState* play); +s32 Player_UpperAction_CarryActor(Player* this, PlayState* play); s32 Player_UpperAction_11(Player* this, PlayState* play); s32 Player_UpperAction_12(Player* this, PlayState* play); s32 Player_UpperAction_13(Player* this, PlayState* play); @@ -3131,89 +3131,89 @@ PlayerItemAction Player_ItemToItemAction(Player* this, ItemId item) { } PlayerUpperActionFunc sPlayerUpperActionUpdateFuncs[PLAYER_IA_MAX] = { - Player_UpperAction_0, // PLAYER_IA_NONE - Player_UpperAction_0, // PLAYER_IA_LAST_USED - Player_UpperAction_0, // PLAYER_IA_FISHING_ROD - Player_UpperAction_1, // PLAYER_IA_SWORD_KOKIRI - Player_UpperAction_1, // PLAYER_IA_SWORD_RAZOR - Player_UpperAction_1, // PLAYER_IA_SWORD_GILDED - Player_UpperAction_1, // PLAYER_IA_SWORD_TWO_HANDED - Player_UpperAction_0, // PLAYER_IA_DEKU_STICK - Player_UpperAction_0, // PLAYER_IA_ZORA_FINS - Player_UpperAction_6, // PLAYER_IA_BOW - Player_UpperAction_6, // PLAYER_IA_BOW_FIRE - Player_UpperAction_6, // PLAYER_IA_BOW_ICE - Player_UpperAction_6, // PLAYER_IA_BOW_LIGHT - Player_UpperAction_6, // PLAYER_IA_HOOKSHOT - Player_UpperAction_10, // PLAYER_IA_BOMB - Player_UpperAction_10, // PLAYER_IA_POWDER_KEG - Player_UpperAction_10, // PLAYER_IA_BOMBCHU - Player_UpperAction_11, // PLAYER_IA_11 - Player_UpperAction_6, // PLAYER_IA_DEKU_NUT - Player_UpperAction_0, // PLAYER_IA_PICTOGRAPH_BOX - Player_UpperAction_0, // PLAYER_IA_OCARINA - Player_UpperAction_0, // PLAYER_IA_BOTTLE_EMPTY - Player_UpperAction_0, // PLAYER_IA_BOTTLE_FISH - Player_UpperAction_0, // PLAYER_IA_BOTTLE_SPRING_WATER - Player_UpperAction_0, // PLAYER_IA_BOTTLE_HOT_SPRING_WATER - Player_UpperAction_0, // PLAYER_IA_BOTTLE_ZORA_EGG - Player_UpperAction_0, // PLAYER_IA_BOTTLE_DEKU_PRINCESS - Player_UpperAction_0, // PLAYER_IA_BOTTLE_GOLD_DUST - Player_UpperAction_0, // PLAYER_IA_BOTTLE_1C - Player_UpperAction_0, // PLAYER_IA_BOTTLE_SEA_HORSE - Player_UpperAction_0, // PLAYER_IA_BOTTLE_MUSHROOM - Player_UpperAction_0, // PLAYER_IA_BOTTLE_HYLIAN_LOACH - Player_UpperAction_0, // PLAYER_IA_BOTTLE_BUG - Player_UpperAction_0, // PLAYER_IA_BOTTLE_POE - Player_UpperAction_0, // PLAYER_IA_BOTTLE_BIG_POE - Player_UpperAction_0, // PLAYER_IA_BOTTLE_POTION_RED - Player_UpperAction_0, // PLAYER_IA_BOTTLE_POTION_BLUE - Player_UpperAction_0, // PLAYER_IA_BOTTLE_POTION_GREEN - Player_UpperAction_0, // PLAYER_IA_BOTTLE_MILK - Player_UpperAction_0, // PLAYER_IA_BOTTLE_MILK_HALF - Player_UpperAction_0, // PLAYER_IA_BOTTLE_CHATEAU - Player_UpperAction_0, // PLAYER_IA_BOTTLE_FAIRY - Player_UpperAction_0, // PLAYER_IA_MOONS_TEAR - Player_UpperAction_0, // PLAYER_IA_DEED_LAND - Player_UpperAction_0, // PLAYER_IA_ROOM_KEY - Player_UpperAction_0, // PLAYER_IA_LETTER_TO_KAFEI - Player_UpperAction_0, // PLAYER_IA_MAGIC_BEANS - Player_UpperAction_0, // PLAYER_IA_DEED_SWAMP - Player_UpperAction_0, // PLAYER_IA_DEED_MOUNTAIN - Player_UpperAction_0, // PLAYER_IA_DEED_OCEAN - Player_UpperAction_0, // PLAYER_IA_32 - Player_UpperAction_0, // PLAYER_IA_LETTER_MAMA - Player_UpperAction_0, // PLAYER_IA_34 - Player_UpperAction_0, // PLAYER_IA_35 - Player_UpperAction_0, // PLAYER_IA_PENDANT_MEMORIES - Player_UpperAction_0, // PLAYER_IA_37 - Player_UpperAction_0, // PLAYER_IA_38 - Player_UpperAction_0, // PLAYER_IA_39 - Player_UpperAction_0, // PLAYER_IA_MASK_TRUTH - Player_UpperAction_0, // PLAYER_IA_MASK_KAFEIS_MASK - Player_UpperAction_0, // PLAYER_IA_MASK_ALL_NIGHT - Player_UpperAction_0, // PLAYER_IA_MASK_BUNNY - Player_UpperAction_0, // PLAYER_IA_MASK_KEATON - Player_UpperAction_0, // PLAYER_IA_MASK_GARO - Player_UpperAction_0, // PLAYER_IA_MASK_ROMANI - Player_UpperAction_0, // PLAYER_IA_MASK_CIRCUS_LEADER - Player_UpperAction_0, // PLAYER_IA_MASK_POSTMAN - Player_UpperAction_0, // PLAYER_IA_MASK_COUPLE - Player_UpperAction_0, // PLAYER_IA_MASK_GREAT_FAIRY - Player_UpperAction_0, // PLAYER_IA_MASK_GIBDO - Player_UpperAction_0, // PLAYER_IA_MASK_DON_GERO - Player_UpperAction_0, // PLAYER_IA_MASK_KAMARO - Player_UpperAction_0, // PLAYER_IA_MASK_CAPTAIN - Player_UpperAction_0, // PLAYER_IA_MASK_STONE - Player_UpperAction_0, // PLAYER_IA_MASK_BREMEN - Player_UpperAction_0, // PLAYER_IA_MASK_BLAST - Player_UpperAction_0, // PLAYER_IA_MASK_SCENTS - Player_UpperAction_0, // PLAYER_IA_MASK_GIANT - Player_UpperAction_0, // PLAYER_IA_MASK_FIERCE_DEITY - Player_UpperAction_0, // PLAYER_IA_MASK_GORON - Player_UpperAction_0, // PLAYER_IA_MASK_ZORA - Player_UpperAction_0, // PLAYER_IA_MASK_DEKU - Player_UpperAction_0, // PLAYER_IA_LENS_OF_TRUTH + Player_UpperAction_0, // PLAYER_IA_NONE + Player_UpperAction_0, // PLAYER_IA_LAST_USED + Player_UpperAction_0, // PLAYER_IA_FISHING_ROD + Player_UpperAction_1, // PLAYER_IA_SWORD_KOKIRI + Player_UpperAction_1, // PLAYER_IA_SWORD_RAZOR + Player_UpperAction_1, // PLAYER_IA_SWORD_GILDED + Player_UpperAction_1, // PLAYER_IA_SWORD_TWO_HANDED + Player_UpperAction_0, // PLAYER_IA_DEKU_STICK + Player_UpperAction_0, // PLAYER_IA_ZORA_FINS + Player_UpperAction_6, // PLAYER_IA_BOW + Player_UpperAction_6, // PLAYER_IA_BOW_FIRE + Player_UpperAction_6, // PLAYER_IA_BOW_ICE + Player_UpperAction_6, // PLAYER_IA_BOW_LIGHT + Player_UpperAction_6, // PLAYER_IA_HOOKSHOT + Player_UpperAction_CarryActor, // PLAYER_IA_BOMB + Player_UpperAction_CarryActor, // PLAYER_IA_POWDER_KEG + Player_UpperAction_CarryActor, // PLAYER_IA_BOMBCHU + Player_UpperAction_11, // PLAYER_IA_11 + Player_UpperAction_6, // PLAYER_IA_DEKU_NUT + Player_UpperAction_0, // PLAYER_IA_PICTOGRAPH_BOX + Player_UpperAction_0, // PLAYER_IA_OCARINA + Player_UpperAction_0, // PLAYER_IA_BOTTLE_EMPTY + Player_UpperAction_0, // PLAYER_IA_BOTTLE_FISH + Player_UpperAction_0, // PLAYER_IA_BOTTLE_SPRING_WATER + Player_UpperAction_0, // PLAYER_IA_BOTTLE_HOT_SPRING_WATER + Player_UpperAction_0, // PLAYER_IA_BOTTLE_ZORA_EGG + Player_UpperAction_0, // PLAYER_IA_BOTTLE_DEKU_PRINCESS + Player_UpperAction_0, // PLAYER_IA_BOTTLE_GOLD_DUST + Player_UpperAction_0, // PLAYER_IA_BOTTLE_1C + Player_UpperAction_0, // PLAYER_IA_BOTTLE_SEA_HORSE + Player_UpperAction_0, // PLAYER_IA_BOTTLE_MUSHROOM + Player_UpperAction_0, // PLAYER_IA_BOTTLE_HYLIAN_LOACH + Player_UpperAction_0, // PLAYER_IA_BOTTLE_BUG + Player_UpperAction_0, // PLAYER_IA_BOTTLE_POE + Player_UpperAction_0, // PLAYER_IA_BOTTLE_BIG_POE + Player_UpperAction_0, // PLAYER_IA_BOTTLE_POTION_RED + Player_UpperAction_0, // PLAYER_IA_BOTTLE_POTION_BLUE + Player_UpperAction_0, // PLAYER_IA_BOTTLE_POTION_GREEN + Player_UpperAction_0, // PLAYER_IA_BOTTLE_MILK + Player_UpperAction_0, // PLAYER_IA_BOTTLE_MILK_HALF + Player_UpperAction_0, // PLAYER_IA_BOTTLE_CHATEAU + Player_UpperAction_0, // PLAYER_IA_BOTTLE_FAIRY + Player_UpperAction_0, // PLAYER_IA_MOONS_TEAR + Player_UpperAction_0, // PLAYER_IA_DEED_LAND + Player_UpperAction_0, // PLAYER_IA_ROOM_KEY + Player_UpperAction_0, // PLAYER_IA_LETTER_TO_KAFEI + Player_UpperAction_0, // PLAYER_IA_MAGIC_BEANS + Player_UpperAction_0, // PLAYER_IA_DEED_SWAMP + Player_UpperAction_0, // PLAYER_IA_DEED_MOUNTAIN + Player_UpperAction_0, // PLAYER_IA_DEED_OCEAN + Player_UpperAction_0, // PLAYER_IA_32 + Player_UpperAction_0, // PLAYER_IA_LETTER_MAMA + Player_UpperAction_0, // PLAYER_IA_34 + Player_UpperAction_0, // PLAYER_IA_35 + Player_UpperAction_0, // PLAYER_IA_PENDANT_MEMORIES + Player_UpperAction_0, // PLAYER_IA_37 + Player_UpperAction_0, // PLAYER_IA_38 + Player_UpperAction_0, // PLAYER_IA_39 + Player_UpperAction_0, // PLAYER_IA_MASK_TRUTH + Player_UpperAction_0, // PLAYER_IA_MASK_KAFEIS_MASK + Player_UpperAction_0, // PLAYER_IA_MASK_ALL_NIGHT + Player_UpperAction_0, // PLAYER_IA_MASK_BUNNY + Player_UpperAction_0, // PLAYER_IA_MASK_KEATON + Player_UpperAction_0, // PLAYER_IA_MASK_GARO + Player_UpperAction_0, // PLAYER_IA_MASK_ROMANI + Player_UpperAction_0, // PLAYER_IA_MASK_CIRCUS_LEADER + Player_UpperAction_0, // PLAYER_IA_MASK_POSTMAN + Player_UpperAction_0, // PLAYER_IA_MASK_COUPLE + Player_UpperAction_0, // PLAYER_IA_MASK_GREAT_FAIRY + Player_UpperAction_0, // PLAYER_IA_MASK_GIBDO + Player_UpperAction_0, // PLAYER_IA_MASK_DON_GERO + Player_UpperAction_0, // PLAYER_IA_MASK_KAMARO + Player_UpperAction_0, // PLAYER_IA_MASK_CAPTAIN + Player_UpperAction_0, // PLAYER_IA_MASK_STONE + Player_UpperAction_0, // PLAYER_IA_MASK_BREMEN + Player_UpperAction_0, // PLAYER_IA_MASK_BLAST + Player_UpperAction_0, // PLAYER_IA_MASK_SCENTS + Player_UpperAction_0, // PLAYER_IA_MASK_GIANT + Player_UpperAction_0, // PLAYER_IA_MASK_FIERCE_DEITY + Player_UpperAction_0, // PLAYER_IA_MASK_GORON + Player_UpperAction_0, // PLAYER_IA_MASK_ZORA + Player_UpperAction_0, // PLAYER_IA_MASK_DEKU + Player_UpperAction_0, // PLAYER_IA_LENS_OF_TRUTH }; typedef void (*PlayerInitItemActionFunc)(PlayState*, Player*); @@ -4450,7 +4450,7 @@ bool func_808313A8(PlayState* play, Player* this, Actor* actor) { void func_808313F0(Player* this, PlayState* play) { if (!func_808313A8(play, this, this->heldActor)) { - Player_SetUpperAction(play, this, Player_UpperAction_10); + Player_SetUpperAction(play, this, Player_UpperAction_CarryActor); PlayerAnimation_PlayLoop(play, &this->skelAnimeUpper, &gPlayerAnim_link_normal_carryB_wait); } } @@ -9560,12 +9560,21 @@ void func_8083D6DC(Player* this, PlayState* play) { Player_Anim_PlayOnce(play, this, D_8085BE84[PLAYER_ANIMGROUP_throw][this->modelAnimType]); } -// Determines whether a held actor should be dropped or thrown: false implies droppable. -s32 func_8083D738(Player* this, Actor* heldActor) { - if ((heldActor != NULL) && !(heldActor->flags & ACTOR_FLAG_800000) && +/** + * Checks if an actor can be thrown or dropped. + * It is assumed that the `actor` argument is the actor currently being carried. + * + * @return true if it can be thrown, false if it can be dropped. + */ +s32 Player_CanThrowCarriedActor(Player* this, Actor* heldActor) { + // If the actor arg is null, true will be returned. + // It doesn't make sense for a non-existent actor to be thrown or dropped, so + // the safety check should happen before this function is even called. + if ((heldActor != NULL) && !(heldActor->flags & ACTOR_FLAG_THROW_ONLY) && ((this->speedXZ < 1.1f) || (heldActor->id == ACTOR_EN_BOM_CHU))) { return false; } + return true; } @@ -9575,7 +9584,7 @@ s32 Player_ActionHandler_9(Player* this, PlayState* play) { CHECK_BTN_ANY(sPlayerControlInput->press.button, BTN_CRIGHT | BTN_CLEFT | BTN_CDOWN | BTN_B | BTN_A | BTN_DPAD_EQUIP)) { if (!func_808313A8(play, this, this->heldActor)) { - if (!func_8083D738(this, this->heldActor)) { + if (!Player_CanThrowCarriedActor(this, this->heldActor)) { Player_SetAction(play, this, Player_Action_41, 1); Player_Anim_PlayOnce(play, this, D_8085BE84[PLAYER_ANIMGROUP_put][this->modelAnimType]); return true; @@ -11516,7 +11525,7 @@ void Player_SetDoAction(PlayState* play, Player* this) { } else if ((this->stateFlags1 & PLAYER_STATE1_CARRYING_ACTOR) && (this->getItemId == GI_NONE) && (heldActor != NULL)) { if ((this->actor.bgCheckFlags & BGCHECKFLAG_GROUND) || (heldActor->id == ACTOR_EN_NIW)) { - if (!func_8083D738(this, heldActor)) { + if (!Player_CanThrowCarriedActor(this, heldActor)) { doActionA = DO_ACTION_DROP; } else { doActionA = DO_ACTION_THROW; @@ -14183,7 +14192,7 @@ s32 Player_UpperAction_9(Player* this, PlayState* play) { return true; } -s32 Player_UpperAction_10(Player* this, PlayState* play) { +s32 Player_UpperAction_CarryActor(Player* this, PlayState* play) { Actor* heldActor = this->heldActor; if (heldActor == NULL) { |
