Player Docs: public facing csAction things (#1459)

* public cs

* comments
This commit is contained in:
engineer124 2023-11-06 10:34:53 +11:00 committed by GitHub
parent 10a14feb2c
commit f8a5f11d6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
60 changed files with 234 additions and 202 deletions

View File

@ -312,8 +312,8 @@ s32 func_800B7128(Player* player);
s32 func_800B715C(PlayState* play);
void Actor_SetCameraHorseSetting(PlayState* play, Player* player);
void Actor_MountHorse(PlayState* play, Player* player, Actor* horse);
s32 func_800B724C(PlayState* play, Actor* actor, u8 csAction);
s32 func_800B7298(PlayState* play, Actor* actor, u8 csAction);
s32 Player_SetCsAction(PlayState* play, Actor* csActor, u8 csAction);
s32 Player_SetCsActionWithHaltedActors(PlayState* play, Actor* csActor, u8 csAction);
void func_800B72F8(DynaPolyActor* dyna, f32 extraPushForce, s16 yRotation);
s32 Player_IsFacingActor(Actor* actor, s16 maxAngleDiff, PlayState* play);

View File

@ -208,7 +208,7 @@ typedef struct PlayState {
/* 0x18770 */ void (*unk_18770)(struct PlayState* play, Player* player);
/* 0x18774 */ s32 (*startPlayerFishing)(struct PlayState* play);
/* 0x18778 */ s32 (*grabPlayer)(struct PlayState* play, Player* player);
/* 0x1877C */ s32 (*startPlayerCutscene)(struct PlayState* play, Player* player, PlayerCsAction csAction);
/* 0x1877C */ s32 (*tryPlayerCsAction)(struct PlayState* play, Player* player, PlayerCsAction csAction);
/* 0x18780 */ void (*func_18780)(Player* player, struct PlayState* play);
/* 0x18784 */ s32 (*damagePlayer)(struct PlayState* play, s32 damage);
/* 0x18788 */ void (*talkWithPlayer)(struct PlayState* play, Actor* actor);

View File

@ -607,6 +607,7 @@ typedef struct struct_80122744_arg1 {
} struct_80122744_arg1; // size = 0x8
typedef enum PlayerCsAction {
/* -1 */ PLAYER_CSACTION_NEG1 = -1, // Specific to Kafei, any negative number works
/* 0x00 */ PLAYER_CSACTION_NONE,
/* 0x01 */ PLAYER_CSACTION_1,
/* 0x02 */ PLAYER_CSACTION_2,
@ -1145,7 +1146,7 @@ typedef struct Player {
/* 0x395 */ u8 prevCsAction; // PlayerCsAction enum
/* 0x396 */ u8 cueId; // PlayerCueId enum
/* 0x397 */ u8 unk_397; // PlayerDoorType enum
/* 0x398 */ Actor* csActor;
/* 0x398 */ Actor* csActor; // Actor involved in a `csAction`. Typically the actor that invoked the cutscene.
/* 0x39C */ UNK_TYPE1 unk_39C[0x4];
/* 0x3A0 */ Vec3f unk_3A0;
/* 0x3AC */ Vec3f unk_3AC;

View File

@ -1402,7 +1402,17 @@ void Actor_SpawnHorse(PlayState* play, Player* player) {
Horse_Spawn(play, player);
}
s32 func_800B724C(PlayState* play, Actor* actor, u8 csAction) {
/**
* Sets a Player Cutscene Action specified by `csAction`.
*
* `haltActorsDuringCsAction` being set to false in this function means that all actors will
* be able to update while Player is performing the cutscene action.
*
* Note: due to how player implements initializing the cutscene action state, `haltActorsDuringCsAction`
* will only be considered the first time player starts a `csAction`.
* Player must leave the cutscene action state and enter it again before halting actors can be toggled.
*/
s32 Player_SetCsAction(PlayState* play, Actor* csActor, u8 csAction) {
Player* player = GET_PLAYER(play);
if ((player->csAction == PLAYER_CSACTION_5) ||
@ -1411,15 +1421,26 @@ s32 func_800B724C(PlayState* play, Actor* actor, u8 csAction) {
}
player->csAction = csAction;
player->csActor = actor;
player->csActor = csActor;
player->cv.haltActorsDuringCsAction = false;
return true;
}
s32 func_800B7298(PlayState* play, Actor* actor, u8 csAction) {
/**
* Sets a Player Cutscene Action specified by `csAction`.
*
* `haltActorsDuringCsAction` being set to true in this function means that eventually `PLAYER_STATE1_20000000` will be
* set. This makes it so actors belonging to categories `ACTORCAT_ENEMY` and `ACTORCAT_MISC` will not update while
* Player is performing the cutscene action.
*
* Note: due to how player implements initializing the cutscene action state, `haltActorsDuringCsAction`
* will only be considered the first time player starts a `csAction`.
* Player must leave the cutscene action state and enter it again before halting actors can be toggled.
*/
s32 Player_SetCsActionWithHaltedActors(PlayState* play, Actor* csActor, u8 csAction) {
Player* player = GET_PLAYER(play);
if (func_800B724C(play, actor, csAction)) {
if (Player_SetCsAction(play, csActor, csAction)) {
player->cv.haltActorsDuringCsAction = true;
return true;
}

View File

@ -213,7 +213,7 @@ void CutsceneManager_End(void) {
sCutsceneMgr.targetActor->flags &= ~ACTOR_FLAG_100000;
// fallthrough
case CS_START_1:
func_800B7298(sCutsceneMgr.play, NULL, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(sCutsceneMgr.play, NULL, PLAYER_CSACTION_END);
sCutsceneMgr.startMethod = CS_START_0;
break;
@ -344,7 +344,7 @@ s16 CutsceneManager_StartWithPlayerCs(s16 csId, Actor* actor) {
s16 startCsId = CutsceneManager_Start(csId, actor);
if (startCsId >= 0) {
func_800B7298(sCutsceneMgr.play, NULL, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(sCutsceneMgr.play, NULL, PLAYER_CSACTION_WAIT);
if (sCutsceneMgr.length == 0) {
CutsceneManager_Stop(sCutsceneMgr.csId);
}
@ -360,7 +360,7 @@ s16 CutsceneManager_StartWithPlayerCsAndSetFlag(s16 csId, Actor* actor) {
s16 startCsId = CutsceneManager_Start(csId, actor);
if (startCsId >= 0) {
func_800B7298(sCutsceneMgr.play, NULL, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(sCutsceneMgr.play, NULL, PLAYER_CSACTION_WAIT);
if (sCutsceneMgr.length == 0) {
CutsceneManager_Stop(sCutsceneMgr.csId);
}

View File

@ -794,7 +794,7 @@ void func_80B819F0(Actor* thisx, PlayState* play) {
if (CutsceneManager_IsNext(this->dyna.actor.csId)) {
CutsceneManager_StartWithPlayerCs(this->dyna.actor.csId, &this->dyna.actor);
if (this->dyna.actor.csId >= 0) {
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
}
func_80B81A64(this);
} else {

View File

@ -126,7 +126,7 @@ s32 func_80953DA8(BgIngate* this, PlayState* play) {
Camera* mainCam = Play_GetCamera(play, CAM_ID_MAIN);
if (CHECK_EVENTINF(EVENTINF_35)) {
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
} else {
SET_EVENTINF(EVENTINF_41);
}
@ -149,7 +149,7 @@ void func_80953E38(PlayState* play) {
void func_80953EA4(BgIngate* this, PlayState* play) {
Player* player = GET_PLAYER(play);
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_58);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_58);
player->unk_3A0.x = this->dyna.actor.world.pos.x;
player->unk_3A0.z = this->dyna.actor.world.pos.z;
this->unk160 &= ~0x4;
@ -192,7 +192,7 @@ void func_80953F9C(BgIngate* this, PlayState* play) {
if (this->timePath->additionalPathIndex != ADDITIONAL_PATH_INDEX_NONE) {
func_80953E38(play);
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
this->dyna.actor.textId = 0x9E4;
Message_StartTextbox(play, this->dyna.actor.textId, NULL);
this->unk16C += 1;
@ -231,7 +231,7 @@ void func_809541B8(BgIngate* this, PlayState* play) {
if ((player->transformation == PLAYER_FORM_HUMAN) && (player->actor.bgCheckFlags & BGCHECKFLAG_GROUND) &&
(this->dyna.actor.xzDistToPlayer < 40.0f)) {
if (this->dyna.actor.playerHeightRel > 15.0f) {
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
this->dyna.actor.textId = 0x9E6;
Message_StartTextbox(play, this->dyna.actor.textId, NULL);
this->actionFunc = func_809543D4;
@ -261,7 +261,7 @@ void func_809542A0(BgIngate* this, PlayState* play) {
void func_80954340(BgIngate* this, PlayState* play) {
if (DECR(this->unk16A) == 0) {
if (this->timePath != NULL) {
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_END);
this->timePath = &play->setupPathList[this->timePath->additionalPathIndex];
func_80953F14(this, play);
Environment_StopTime();
@ -280,7 +280,7 @@ void func_809543D4(BgIngate* this, PlayState* play) {
break;
case 0x9E5:
if (play->msgCtx.choiceIndex == 0) {
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_END);
this->unk160 &= ~0x4;
this->actionFunc = func_809541B8;
Environment_StartTime();
@ -301,7 +301,7 @@ void func_809543D4(BgIngate* this, PlayState* play) {
CLEAR_WEEKEVENTREG(WEEKEVENTREG_90_40);
Audio_PlaySfx_MessageDecide();
} else {
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_END);
this->unk160 &= ~0x4;
this->actionFunc = func_809541B8;
Environment_StartTime();

View File

@ -1001,7 +1001,7 @@ void Boss01_IntroCutscene(Boss01* this, PlayState* play) {
}
Cutscene_StartManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE);
@ -1036,11 +1036,11 @@ void Boss01_IntroCutscene(Boss01* this, PlayState* play) {
}
if (this->cutsceneTimer == 40) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_21);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_21);
}
if (this->cutsceneTimer == 100) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_4);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_4);
}
if (this->cutsceneTimer >= 90) {
@ -1136,7 +1136,7 @@ void Boss01_IntroCutscene(Boss01* this, PlayState* play) {
func_80169AFC(play, this->subCamId, 0);
this->subCamId = SUB_CAM_ID_DONE;
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
this->actor.flags |= ACTOR_FLAG_TARGETABLE;
SET_EVENTINF(EVENTINF_54);
}
@ -1189,7 +1189,7 @@ void Boss01_SummonBugsCutscene(Boss01* this, PlayState* play) {
}
Cutscene_StartManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE);
@ -1232,7 +1232,7 @@ void Boss01_SummonBugsCutscene(Boss01* this, PlayState* play) {
func_80169AFC(play, this->subCamId, 0);
this->subCamId = SUB_CAM_ID_DONE;
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
this->actor.flags |= ACTOR_FLAG_TARGETABLE;
player->actor.world.rot.y = player->actor.shape.rot.y = -0x8000;
player->actor.world.pos.x = 0.0f;
@ -2135,7 +2135,7 @@ void Boss01_DeathCutscene(Boss01* this, PlayState* play) {
}
Cutscene_StartManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_1);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE);
@ -2252,7 +2252,7 @@ void Boss01_DeathCutscene(Boss01* this, PlayState* play) {
func_80169AFC(play, this->subCamId, 0);
this->subCamId = SUB_CAM_ID_DONE;
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
this->actor.flags &= ~ACTOR_FLAG_TARGETABLE;
}
break;

View File

@ -2172,7 +2172,7 @@ void func_809DEAC4(Boss02* this, PlayState* play) {
}
if (this->unk_1D1C == 45) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_21);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_21);
sTwinmoldMusicStartTimer = KREG(91) + 43;
}
@ -2186,7 +2186,7 @@ void func_809DEAC4(Boss02* this, PlayState* play) {
}
if (this->unk_1D1C == 100) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_115);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_115);
}
if (this->unk_1D1C == 112) {
@ -2225,7 +2225,7 @@ void func_809DEAC4(Boss02* this, PlayState* play) {
func_80169AFC(play, this->subCamId, 0);
this->subCamId = SUB_CAM_ID_DONE;
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
this->actor.flags |= ACTOR_FLAG_TARGETABLE;
this->unk_1D20 = 0;
sRedTwinmold->unk_0144 = sBlueTwinmold->unk_0144 = 3;
@ -2286,7 +2286,7 @@ void func_809DEAC4(Boss02* this, PlayState* play) {
func_80169AFC(play, this->subCamId, 0);
this->subCamId = SUB_CAM_ID_DONE;
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
this->unk_1D20 = 0;
this->actor.flags |= ACTOR_FLAG_TARGETABLE;
sp68->unk_0144 = 10;

View File

@ -1149,7 +1149,7 @@ void Boss03_IntroCutscene(Boss03* this, PlayState* play) {
case 0:
if (player->actor.world.pos.y < 1350.0f) {
Cutscene_StartManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE);
@ -1260,7 +1260,7 @@ void Boss03_IntroCutscene(Boss03* this, PlayState* play) {
if (this->csTimer == 5) {
// Rotates Player towards Gyorg
func_800B7298(play, &this->actor, PLAYER_CSACTION_8);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_8);
}
this->subCamEye.x = player->actor.world.pos.x + 30.0f;
@ -1371,7 +1371,7 @@ void Boss03_IntroCutscene(Boss03* this, PlayState* play) {
func_80169AFC(play, this->subCamId, 0);
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
this->subCamId = SUB_CAM_ID_DONE;
func_809E344C(this, play);
@ -1449,7 +1449,7 @@ void Boss03_DeathCutscene(Boss03* this, PlayState* play) {
case 0:
if (CutsceneManager_GetCurrentCsId() == CS_ID_NONE) {
Cutscene_StartManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_1);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE);
@ -1628,7 +1628,7 @@ void Boss03_DeathCutscene(Boss03* this, PlayState* play) {
func_80169AFC(play, this->subCamId, 0);
this->subCamId = SUB_CAM_ID_DONE;
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
this->csState = 3;
Play_DisableMotionBlur();
Boss03_PlayUnderwaterSfx(&this->actor.projectedPos, NA_SE_EN_KONB_INIT_OLD);
@ -1662,7 +1662,7 @@ void Boss03_SpawnSmallFishesCutscene(Boss03* this, PlayState* play) {
case 0:
if (CutsceneManager_GetCurrentCsId() == CS_ID_NONE) {
Cutscene_StartManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_1);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE);
@ -1723,7 +1723,7 @@ void Boss03_SpawnSmallFishesCutscene(Boss03* this, PlayState* play) {
func_80169AFC(play, this->subCamId, 0);
this->subCamId = SUB_CAM_ID_DONE;
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
func_809E344C(this, play);
this->workTimer[WORK_TIMER_UNK1_A] = 50;

View File

@ -264,7 +264,7 @@ void func_809EC568(Boss04* this, PlayState* play) {
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE);
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
player->actor.world.pos.x = this->unk_6E8;
player->actor.world.pos.z = this->unk_6F0 + 410.0f;
player->actor.shape.rot.y = 0x7FFF;
@ -314,7 +314,7 @@ void func_809EC568(Boss04* this, PlayState* play) {
if (this->unk_704 == 45) {
this->unk_708 = 1;
this->unk_704 = 0;
func_800B7298(play, &this->actor, PLAYER_CSACTION_21);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_21);
this->actor.gravity = 0.0f;
break;
}
@ -391,7 +391,7 @@ void func_809EC568(Boss04* this, PlayState* play) {
func_80169AFC(play, this->subCamId, 0);
this->subCamId = SUB_CAM_ID_DONE;
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
Play_DisableMotionBlur();
SET_EVENTINF(EVENTINF_60);
}

View File

@ -200,7 +200,7 @@ void func_809F24C8(Boss06* this, PlayState* play) {
}
Cutscene_StartManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE);
@ -240,7 +240,7 @@ void func_809F24C8(Boss06* this, PlayState* play) {
this->unk_1D8 = 0.0f;
if (this->unk_1CA == 60) {
D_809F4970->unk_154++;
func_800B7298(play, &this->actor, PLAYER_CSACTION_132);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_132);
player->actor.shape.rot.y = 0;
player->actor.world.rot.y = player->actor.shape.rot.y;
}
@ -333,7 +333,7 @@ void func_809F24C8(Boss06* this, PlayState* play) {
func_80169AFC(play, this->subCamId, 0);
this->subCamId = SUB_CAM_ID_DONE;
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
D_809F4970->unk_151 = 0;
}
break;

View File

@ -154,7 +154,7 @@ s32 func_80C224D8(DmTag* this, PlayState* play) {
break;
case 6:
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
play->nextEntrance = ENTRANCE(STOCK_POT_INN, 5);
gSaveContext.nextCutsceneIndex = 0;
play->transitionTrigger = TRANS_TRIGGER_START;
@ -171,7 +171,7 @@ s32 func_80C224D8(DmTag* this, PlayState* play) {
s32 func_80C227E8(DmTag* this, PlayState* play) {
if (this->unk_1A4 == 0) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
play->nextEntrance = ENTRANCE(STOCK_POT_INN, 4);
gSaveContext.nextCutsceneIndex = 0;
play->transitionTrigger = TRANS_TRIGGER_START;

View File

@ -462,7 +462,7 @@ s32 func_808A1478(DoorShutter* this, PlayState* play, f32 arg2) {
}
if ((this->csId != CS_ID_NONE) && (CutsceneManager_GetCurrentCsId() == this->csId)) {
func_800B724C(play, &this->slidingDoor.dyna.actor, PLAYER_CSACTION_1);
Player_SetCsAction(play, &this->slidingDoor.dyna.actor, PLAYER_CSACTION_1);
}
}
@ -582,7 +582,7 @@ void func_808A1884(DoorShutter* this, PlayState* play) {
if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_DOOR) {
func_801226E0(play, ((void)0, gSaveContext.respawn[RESPAWN_MODE_DOWN].data));
player->csId = CS_ID_NONE;
func_800B7298(play, NULL, PLAYER_CSACTION_115);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_115);
}
}
}
@ -637,7 +637,7 @@ void func_808A1B48(DoorShutter* this, PlayState* play) {
void func_808A1C50(DoorShutter* this, PlayState* play) {
if (this->unk_167++ > 30) {
if (GET_PLAYER(play)->csAction == PLAYER_CSACTION_115) {
func_800B7298(play, NULL, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_END);
}
DoorShutter_SetupDoor(this, play);
}

View File

@ -344,7 +344,7 @@ void func_808B921C(DoorWarp1* this, PlayState* play) {
}
if (func_808B866C(this, play) && !Play_InCsMode(play)) {
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
Message_StartTextbox(play, 0xF2, &this->dyna.actor);
DoorWarp1_SetupAction(this, func_808B93A0);
}
@ -360,14 +360,14 @@ void func_808B93A0(DoorWarp1* this, PlayState* play) {
Message_CloseTextbox(play);
if (play->msgCtx.choiceIndex == 0) {
Audio_PlaySfx_MessageDecide();
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_9);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_9);
player->unk_3A0.x = this->dyna.actor.world.pos.x;
player->unk_3A0.z = this->dyna.actor.world.pos.z;
this->unk_1CA = 1;
DoorWarp1_SetupAction(this, func_808B9524);
} else {
Audio_PlaySfx_MessageCancel();
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_END);
DoorWarp1_SetupAction(this, func_808B94A4);
}
}
@ -448,7 +448,7 @@ void func_808B977C(DoorWarp1* this, PlayState* play) {
AudioSfx_PlaySfx(NA_SE_EV_LINK_WARP, &player->actor.projectedPos, 4, &gSfxDefaultFreqAndVolScale,
&gSfxDefaultFreqAndVolScale, &gSfxDefaultReverb);
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_9);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_9);
player->unk_3A0.x = this->dyna.actor.world.pos.x;
player->unk_3A0.z = this->dyna.actor.world.pos.z;
this->unk_1CA = 1;
@ -602,7 +602,7 @@ void func_808B9F10(DoorWarp1* this, PlayState* play) {
Player* player = GET_PLAYER(play);
Interface_SetHudVisibility(HUD_VISIBILITY_NONE);
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_9);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_9);
player->unk_3A0.x = this->dyna.actor.world.pos.x;
player->unk_3A0.z = this->dyna.actor.world.pos.z;
this->unk_1CA = 20;

View File

@ -448,7 +448,7 @@ void EnAob01_BeforeRace_HandleConversation(EnAob01* this, PlayState* play) {
if (this->stateFlags & ENAOB01_FLAG_PLAYER_CONFIRMED_CHOICE) {
this->stateFlags &= ~ENAOB01_FLAG_PLAYER_CONFIRMED_CHOICE;
Rupees_ChangeBy(-this->rupeesBet);
func_800B7298(play, NULL, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_WAIT);
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = EnAob01_BeforeRace_StartRace;

View File

@ -378,7 +378,7 @@ void EnBigokuta_PlayDeathCutscene(EnBigokuta* this, PlayState* play) {
CutsceneManager_Start(this->csId, &this->picto.actor);
if (!CHECK_EVENTINF(EVENTINF_41) && !CHECK_EVENTINF(EVENTINF_35)) {
func_800B724C(play, &this->picto.actor, PLAYER_CSACTION_WAIT);
Player_SetCsAction(play, &this->picto.actor, PLAYER_CSACTION_WAIT);
} else {
player = GET_PLAYER(play);
player->stateFlags1 |= PLAYER_STATE1_20;
@ -454,7 +454,7 @@ void EnBigokuta_PlayDeathEffects(EnBigokuta* this, PlayState* play) {
Actor_Kill(&this->picto.actor);
if (!CHECK_EVENTINF(EVENTINF_41) && !CHECK_EVENTINF(EVENTINF_35)) {
func_800B724C(play, &this->picto.actor, PLAYER_CSACTION_END);
Player_SetCsAction(play, &this->picto.actor, PLAYER_CSACTION_END);
} else {
Player* player = GET_PLAYER(play);

View File

@ -308,7 +308,7 @@ void EnBigpo_SetupSpawnCutscene(EnBigpo* this) {
void EnBigpo_WaitCutsceneQueue(EnBigpo* this, PlayState* play) {
if (CutsceneManager_IsNext(this->actor.csId)) {
CutsceneManager_Start(this->actor.csId, &this->actor);
func_800B724C(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsAction(play, &this->actor, PLAYER_CSACTION_WAIT);
this->subCamId = CutsceneManager_GetCurrentSubCamId(this->actor.csId);
if (this->actor.params == BIG_POE_TYPE_REGULAR) { // and SUMMONED, got switched earlier
EnBigpo_SpawnCutsceneStage1(this, play);
@ -478,7 +478,7 @@ void EnBigpo_SpawnCutsceneStage8(EnBigpo* this, PlayState* play) {
} else { // BIG_POE_TYPE_REGULAR
CutsceneManager_Stop(this->actor.csId);
}
func_800B724C(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsAction(play, &this->actor, PLAYER_CSACTION_END);
EnBigpo_SetupIdleFlying(this); // setup idle flying
}
}

View File

@ -850,7 +850,7 @@ void EnBigslime_EndCutscene(EnBigslime* this, PlayState* play) {
this->subCamId = SUB_CAM_ID_DONE;
CutsceneManager_Stop(this->csId);
this->csId = CutsceneManager_GetAdditionalCsId(this->actor.csId);
func_800B724C(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsAction(play, &this->actor, PLAYER_CSACTION_END);
}
}
@ -939,7 +939,7 @@ void EnBigslime_SetupCutsceneStartBattle(EnBigslime* this, PlayState* play) {
this->bigslimeCollider[0].base.acFlags &= ~AC_ON;
Math_Vec3f_Copy(&subCam->at, &this->actor.focus.pos);
func_800B7298(play, &this->actor, PLAYER_CSACTION_4);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_4);
player->actor.shape.rot.y = this->actor.yawTowardsPlayer + 0x8000;
player->actor.world.pos.x = Math_SinS(this->actor.yawTowardsPlayer) * 347.0f + this->actor.world.pos.x;
@ -987,7 +987,7 @@ void EnBigslime_SetupCallMinislime(EnBigslime* this, PlayState* play) {
Animation_MorphToPlayOnce(&this->skelAnime, &gGekkoCallAnim, 5.0f);
EnBigslime_GekkoSfxOutsideBigslime(this, NA_SE_EN_FROG_GREET);
this->callTimer = 0;
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
this->actionFunc = EnBigslime_CallMinislime;
}
@ -1011,7 +1011,7 @@ void EnBigslime_CallMinislime(EnBigslime* this, PlayState* play) {
EnBigslime_InitFallMinislime(this);
play->envCtx.lightSettingOverride = LIGHT_SETTING_OVERRIDE_NONE;
this->callTimer = 35;
func_800B7298(play, &this->actor, PLAYER_CSACTION_4);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_4);
}
}
@ -2546,7 +2546,7 @@ void EnBigslime_PlayCutscene(EnBigslime* this, PlayState* play) {
} else if (CutsceneManager_IsNext(this->csId)) {
CutsceneManager_Start(this->csId, &this->actor);
if (this->actionFuncStored != EnBigslime_SquishFlat) {
func_800B724C(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsAction(play, &this->actor, PLAYER_CSACTION_WAIT);
}
this->subCamId = CutsceneManager_GetCurrentSubCamId(this->csId);

View File

@ -427,7 +427,7 @@ void func_809C5310(EnBomBowlMan* this, PlayState* play) {
if (player->actor.world.pos.x < 1510.0f) {
if (player->transformation != PLAYER_FORM_DEKU) {
if (this->actor.xzDistToPlayer < this->unk_2C8) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
func_809C53A4(this);
}
} else {
@ -485,7 +485,7 @@ void func_809C5598(EnBomBowlMan* this, PlayState* play) {
} else if (this->actor.textId == 0x734) {
this->actor.textId = 0x715;
} else if (this->actor.textId == 0x715) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
EnBomBowlMan_ChangeAnim(this, ENBOMBOWLMAN_ANIM_17, 1.0f);
func_809C59A4(this, play);
return;
@ -497,7 +497,7 @@ void func_809C5598(EnBomBowlMan* this, PlayState* play) {
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_LEARNED_SECRET_CODE);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_RECEIVED_BOMBERS_NOTEBOOK);
Message_BombersNotebookQueueEvent(play, BOMBERS_NOTEBOOK_EVENT_MET_BOMBERS);
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
this->actionFunc = func_809C5738;
return;
}

View File

@ -425,9 +425,9 @@ void func_80868B74(EnBox* this, PlayState* play) {
this->unk_1A0++;
if ((this->csId1 != CS_ID_NONE) && (CutsceneManager_GetCurrentCsId() == this->csId1)) {
if (this->unk_1A0 == 2) {
func_800B724C(play, &this->dyna.actor, PLAYER_CSACTION_4);
Player_SetCsAction(play, &this->dyna.actor, PLAYER_CSACTION_4);
} else if (this->unk_1A0 == 22) {
func_800B724C(play, &this->dyna.actor, PLAYER_CSACTION_1);
Player_SetCsAction(play, &this->dyna.actor, PLAYER_CSACTION_1);
}
}
} else if (this->unk_1A0 < 60) {

View File

@ -560,7 +560,7 @@ void EnClearTag_UpdateCamera(EnClearTag* this, PlayState* play) {
this->subCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT);
Play_ChangeCameraStatus(play, this->subCamId, CAM_STATUS_ACTIVE);
func_800B7298(play, &this->actor, PLAYER_CSACTION_4);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_4);
mainCam = Play_GetCamera(play, CAM_ID_MAIN);
this->subCamEye.x = mainCam->eye.x;
this->subCamEye.y = mainCam->eye.y;
@ -586,7 +586,7 @@ void EnClearTag_UpdateCamera(EnClearTag* this, PlayState* play) {
mainCam->at = this->subCamAt;
func_80169AFC(play, this->subCamId, 0);
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
this->cameraState = 0;
this->subCamId = SUB_CAM_ID_DONE;
this->activeTimer = 20;

View File

@ -369,7 +369,7 @@ void func_8089ABF4(EnDinofos* this, PlayState* play) {
this->subCamId = SUB_CAM_ID_DONE;
CutsceneManager_Stop(this->actor.csId);
if (this->actor.colChkInfo.health == 0) {
func_800B724C(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsAction(play, &this->actor, PLAYER_CSACTION_END);
}
}
}
@ -1209,7 +1209,7 @@ void func_8089D318(EnDinofos* this, PlayState* play) {
if (CutsceneManager_IsNext(this->actor.csId)) {
if (this->actor.colChkInfo.health == 0) {
CutsceneManager_Start(this->actor.csId, &this->actor);
func_800B724C(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsAction(play, &this->actor, PLAYER_CSACTION_WAIT);
} else {
CutsceneManager_StartWithPlayerCs(this->actor.csId, &this->actor);
}

View File

@ -71,7 +71,7 @@ static TexturePtr sEyeTextures[] = {
};
s32 func_80A50D40(Actor* actor, PlayState* play) {
func_800B7298(play, actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, actor, PLAYER_CSACTION_WAIT);
if (CHECK_EVENTINF(EVENTINF_35)) {
play->nextEntrance = ENTRANCE(SOUTHERN_SWAMP_CLEARED, 6);
} else {

View File

@ -542,7 +542,7 @@ void EnDragon_Grab(EnDragon* this, PlayState* play) {
if (this->grabTimer > sMaxGrabTimerPerPython[this->pythonIndex]) {
if (this->state == DEEP_PYTHON_GRAB_STATE_START) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
this->state = DEEP_PYTHON_GRAB_STATE_GRABBED;
}

View File

@ -5324,7 +5324,7 @@ void EnFishing_UpdateOwner(Actor* thisx, PlayState* play2) {
sSubCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT);
Play_ChangeCameraStatus(play, sSubCamId, CAM_STATUS_ACTIVE);
func_800B7298(play, &this->actor, PLAYER_CSACTION_4);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_4);
mainCam = Play_GetCamera(play, CAM_ID_MAIN);
sSubCamEye.x = mainCam->eye.x;
@ -5351,7 +5351,7 @@ void EnFishing_UpdateOwner(Actor* thisx, PlayState* play2) {
func_80169AFC(play, sSubCamId, 0);
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
D_8090CD4C = 0;
sSubCamId = SUB_CAM_ID_DONE;
D_8090CD50 = 30;
@ -5365,7 +5365,7 @@ void EnFishing_UpdateOwner(Actor* thisx, PlayState* play2) {
sSubCamId = Play_CreateSubCamera(play);
Play_ChangeCameraStatus(play, CAM_ID_MAIN, CAM_STATUS_WAIT);
Play_ChangeCameraStatus(play, sSubCamId, CAM_STATUS_ACTIVE);
func_800B7298(play, &this->actor, PLAYER_CSACTION_4);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_4);
mainCam = Play_GetCamera(play, CAM_ID_MAIN);
sSubCamEye.x = mainCam->eye.x;
@ -5383,7 +5383,7 @@ void EnFishing_UpdateOwner(Actor* thisx, PlayState* play2) {
if ((D_8090CD50 == 0) && Message_ShouldAdvance(play)) {
D_8090CD4C = 22;
D_8090CD50 = 40;
// func_800B7298 call removed in MM
// Player_SetCsActionWithHaltedActors call removed in MM
D_80911F64 = 0.0f;
}
break;
@ -5452,7 +5452,7 @@ void EnFishing_UpdateOwner(Actor* thisx, PlayState* play2) {
mainCam->at = sSubCamAt;
func_80169AFC(play, sSubCamId, 0);
Cutscene_StopManual(play, &play->csCtx);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
D_8090CD4C = 0;
sSubCamId = SUB_CAM_ID_DONE;
player->unk_B28 = -5;

View File

@ -445,7 +445,7 @@ void func_80B0FFA8(EnGb2* this, PlayState* play) {
Rupees_ChangeBy(-this->unk_288);
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
func_800B7298(play, NULL, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_WAIT);
this->actionFunc = func_80B11344;
break;
@ -600,7 +600,7 @@ void func_80B10634(EnGb2* this, PlayState* play) {
Rupees_ChangeBy(-this->unk_288);
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
func_800B7298(play, NULL, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_WAIT);
this->actionFunc = func_80B11344;
}
break;

View File

@ -494,7 +494,7 @@ void EnGe2_PatrolDuties(EnGe2* this, PlayState* play) {
this->picto.actor.shape.rot.y, 0x1800, visionRange, this->verticalDetectRange)) {
if ((GERUDO_PURPLE_GET_EXIT(&this->picto.actor) != GERUDO_PURPLE_EXIT_NONE) && !Play_InCsMode(play)) {
this->picto.actor.speed = 0.0f;
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_26);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_26);
Lib_PlaySfx(NA_SE_SY_FOUND);
Message_StartTextbox(play, 0x1194, &this->picto.actor);
this->actionFunc = EnGe2_SetupCharge;
@ -682,7 +682,7 @@ void EnGe2_GuardStationary(EnGe2* this, PlayState* play) {
if (EnGe2_LookForPlayer(play, &this->picto.actor, &this->picto.actor.focus.pos, this->picto.actor.shape.rot.y,
0x4000, 720.0f, this->verticalDetectRange)) {
if ((GERUDO_PURPLE_GET_EXIT(&this->picto.actor) != GERUDO_PURPLE_EXIT_NONE) && !Play_InCsMode(play)) {
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_26);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_26);
Lib_PlaySfx(NA_SE_SY_FOUND);
Message_StartTextbox(play, 0x1194, &this->picto.actor);
this->timer = 50;

View File

@ -273,7 +273,7 @@ void EnGe3_AveilsChamberIdle(EnGe3* this, PlayState* play) {
}
} else if ((this->picto.actor.xzDistToPlayer < 700.0f) && (fabsf(this->picto.actor.playerHeightRel) < 100.0f) &&
!Play_InCsMode(play)) {
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_26);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_26);
Lib_PlaySfx(NA_SE_SY_FOUND);
if (Player_GetMask(play) == PLAYER_MASK_STONE) { // Not fooled by Stone Mask

View File

@ -389,7 +389,7 @@ void func_809984F4(EnGs* this, PlayState* play) {
}
} while (gossipStone != NULL);
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
this->actionFunc = func_809985B8;
}

View File

@ -225,7 +225,7 @@ void EnHs_SceneTransitToBunnyHoodDialogue(EnHs* this, PlayState* play) {
void func_80953354(EnHs* this, PlayState* play) {
if (!Play_InCsMode(play)) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
this->actionFunc = EnHs_SceneTransitToBunnyHoodDialogue;
}
}

View File

@ -367,7 +367,7 @@ void EnJso_HandleIntroCutscene(EnJso* this, PlayState* play) {
}
CutsceneManager_StartWithPlayerCs(this->csId, &this->actor);
func_800B7298(play, &this->actor, PLAYER_CSACTION_21);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_21);
this->subCamId = CutsceneManager_GetCurrentSubCamId(this->actor.csId);
player->actor.world.pos.x = this->actor.home.pos.x + 30.0f;
player->actor.world.pos.z = this->actor.home.pos.z + 30.0f;
@ -472,7 +472,7 @@ void EnJso_HandleIntroCutscene(EnJso* this, PlayState* play) {
}
if (showTextbox) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_4);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_4);
Message_StartTextbox(play, sTextIds[this->textIndex], &this->actor);
this->textIndex++;
this->actor.shape.yOffset = 970.0f;
@ -573,7 +573,7 @@ void EnJso_HandleIntroCutscene(EnJso* this, PlayState* play) {
this->introCsTimer++;
if (this->introCsTimer >= 10) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
CutsceneManager_Stop(this->csId);
this->rightArmRot.x = this->rightArmRot.y = this->rightArmRot.z = this->robeRightRot.x =
this->robeRightRot.y = this->robeRightRot.z = 0;

View File

@ -481,7 +481,7 @@ void func_80B85FA8(EnKaizoku* this, PlayState* play) {
}
CutsceneManager_StartWithPlayerCs(this->csId, &this->picto.actor);
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_21);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_21);
this->subCamId = CutsceneManager_GetCurrentSubCamId(this->picto.actor.csId);
this->picto.actor.shape.rot.y = this->picto.actor.world.rot.y = this->picto.actor.yawTowardsPlayer;
@ -538,7 +538,7 @@ void func_80B85FA8(EnKaizoku* this, PlayState* play) {
this->unk_2D8 = 0;
this->picto.actor.world.pos.y = this->picto.actor.floorHeight;
this->picto.actor.velocity.y = 0.0f;
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_4);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_4);
Actor_SpawnFloorDustRing(play, &this->picto.actor, &this->leftFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
Actor_SpawnFloorDustRing(play, &this->picto.actor, &this->rightFootPos, 3.0f, 2, 2.0f, 0, 0, 0);
Actor_PlaySfx(&this->picto.actor, NA_SE_EN_PIRATE_ONGND);
@ -609,7 +609,7 @@ void func_80B85FA8(EnKaizoku* this, PlayState* play) {
case 7:
if (this->unk_598 == 0) {
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_END);
CutsceneManager_Stop(this->csId);
this->unk_59C = 0;
this->subCamId = SUB_CAM_ID_DONE;
@ -674,7 +674,7 @@ void func_80B86804(EnKaizoku* this, PlayState* play) {
CutsceneManager_StartWithPlayerCs(this->csId, &this->picto.actor);
}
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_96);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_96);
this->subCamId = CutsceneManager_GetCurrentSubCamId(this->picto.actor.csId);
this->unk_2B2 = 30;
this->picto.actor.flags &= ~ACTOR_FLAG_TARGETABLE;
@ -724,7 +724,7 @@ void func_80B868B8(EnKaizoku* this, PlayState* play) {
case 2:
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
Message_CloseTextbox(play);
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_END);
CutsceneManager_Stop(this->csId);
this->subCamId = SUB_CAM_ID_DONE;
play->nextEntrance = play->setupExitList[this->exitIndex];
@ -799,7 +799,7 @@ void func_80B86B74(EnKaizoku* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
Message_CloseTextbox(play);
EnKaizoku_ChangeAnim(this, EN_KAIZOKU_ANIM_18);
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_133);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_133);
this->unk_5A0 = 0;
this->unk_598 = 0;
this->unk_59C++;
@ -865,7 +865,7 @@ void func_80B86B74(EnKaizoku* this, PlayState* play) {
play->envCtx.fillScreen = false;
this->unk_59C = 0;
this->subCamId = SUB_CAM_ID_DONE;
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_END);
CutsceneManager_Stop(this->csId);
if (this->switchFlag > SWITCH_FLAG_NONE) {
Flags_SetSwitch(play, this->switchFlag);
@ -1681,7 +1681,7 @@ void func_80B8960C(EnKaizoku* this, PlayState* play) {
}
this->picto.actor.speed = 0.0f;
this->unk_2D8 = 1;
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_123);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_123);
Enemy_StartFinishingBlow(play, &this->picto.actor);
Actor_PlaySfx(&this->picto.actor, NA_SE_EN_PIRATE_DEAD);
this->picto.actor.flags |= ACTOR_FLAG_CANT_LOCK_ON;

View File

@ -425,7 +425,7 @@ void EnKakasi_RegularDialogue(EnKakasi* this, PlayState* play) {
}
if ((this->unkState1A8 == 2) && (this->unkState196 == 2)) {
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_73);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_73);
this->unkState1A8 = 0;
}
@ -434,7 +434,7 @@ void EnKakasi_RegularDialogue(EnKakasi* this, PlayState* play) {
if (this->talkState == TEXT_STATE_5) {
// bad song input
if ((this->unkState196 == 2) && (this->picto.actor.textId == 0x1647)) {
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_END);
}
// after timeskip
@ -461,7 +461,7 @@ void EnKakasi_RegularDialogue(EnKakasi* this, PlayState* play) {
} else if ((this->picto.actor.textId == 0x165D) || (this->picto.actor.textId == 0x165F) ||
(this->picto.actor.textId == 0x1660) || (this->picto.actor.textId == 0x1652)) {
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_4);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_4);
if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_TALK) {
CutsceneManager_Stop(CS_ID_GLOBAL_TALK);
CutsceneManager_Queue(this->csIdList[0]);
@ -690,7 +690,7 @@ void EnKakasi_PostSongLearnDialogue(EnKakasi* this, PlayState* play) {
if (this->unk190 == 0) {
Message_CloseTextbox(play);
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_86);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_86);
this->picto.actor.textId = 0x1648;
Message_StartTextbox(play, (this->picto.actor.textId), &this->picto.actor);
this->unkState1A8 = 0;
@ -726,7 +726,7 @@ void EnKakasi_PostSongLearnDialogue(EnKakasi* this, PlayState* play) {
Math_Vec3f_Copy(&this->unk22C, &this->picto.actor.home.pos);
CutsceneManager_StartWithPlayerCs(this->csIdList[0], &this->picto.actor);
this->subCamId = CutsceneManager_GetCurrentSubCamId(this->picto.actor.csId);
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_86);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_86);
this->unkState1A8 = 1;
}
@ -759,7 +759,7 @@ void EnKakasi_PostSongLearnDialogue(EnKakasi* this, PlayState* play) {
}
if (this->picto.actor.textId == 0x1648) {
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_WAIT);
this->picto.actor.textId = 0x1649;
if (this->animIndex != ENKAKASI_ANIM_ARMS_CROSSED_ROCKING) {
EnKakasi_ChangeAnim(this, ENKAKASI_ANIM_ARMS_CROSSED_ROCKING);
@ -936,7 +936,7 @@ void EnKakasi_DancingNightAway(EnKakasi* this, PlayState* play) {
this->unk190++;
this->unk204 = 0xA;
if (this->unk190 == 0xE) {
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_73);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_73);
Play_DisableMotionBlur();
this->unk204 = 0x14;
}
@ -1036,7 +1036,7 @@ void EnKakasi_DiggingAway(EnKakasi* this, PlayState* play) {
Math_ApproachF(&this->picto.actor.shape.yOffset, -6000.0f, 0.5f, 200.0f);
if (fabsf(this->picto.actor.shape.yOffset + 6000.0f) < 10.0f) {
SET_WEEKEVENTREG(WEEKEVENTREG_79_08);
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_END);
CutsceneManager_Stop(this->csIdList[0]);
this->aboveGroundStatus = ENKAKASI_ABOVE_GROUND_TYPE;
this->songSummonDist = 80.0f;

View File

@ -359,7 +359,7 @@ void EnLookNuts_Update(Actor* thisx, PlayState* play) {
Math_Vec3f_Copy(&this->headRotTarget, &gZeroVec3f);
this->state = PALACE_GUARD_RUNNING_TO_PLAYER;
Audio_PlaySfx(NA_SE_SY_FOUND);
func_800B7298(play, &this->actor, PLAYER_CSACTION_26);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_26);
D_80A6862C = 1;
this->actor.flags |= (ACTOR_FLAG_TARGETABLE | ACTOR_FLAG_10);
this->actor.gravity = 0.0f;

View File

@ -1081,7 +1081,7 @@ void EnMaYto_SetupPostMilkRunWaitDialogueEnd(EnMaYto* this) {
void EnMaYto_PostMilkRunWaitDialogueEnd(EnMaYto* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) || (Message_GetState(&play->msgCtx) == TEXT_STATE_5)) {
if (Message_ShouldAdvance(play) && (Message_GetState(&play->msgCtx) == TEXT_STATE_5)) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
Message_CloseTextbox(play);
}
}

View File

@ -1620,7 +1620,7 @@ void EnMnk_MonkeyHanging_WaitForTextboxAfterDunk(EnMnk* this, PlayState* play) {
}
Message_CloseTextbox(play);
this->actionFunc = EnMnk_MonkeyHanging_WaitAfterDunk;
func_800B7298(play, NULL, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_END);
CLEAR_WEEKEVENTREG(WEEKEVENTREG_83_08);
}
}
@ -1693,7 +1693,7 @@ void EnMnk_MonkeyHanging_Plead(EnMnk* this, PlayState* play) {
case 0x8E9:
this->actionFunc = EnMnk_MonkeyHanging_Dunk2;
Message_CloseTextbox(play);
func_800B7298(play, &this->picto.actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->picto.actor, PLAYER_CSACTION_WAIT);
this->unk_3C8 = 60;
break;

View File

@ -256,7 +256,7 @@ s32 EnMttag_ExitRace(PlayState* play, s32 transitionType, s32 nextTransitionType
void EnMttag_ShowFalseStartMessage(EnMttag* this, PlayState* play) {
gSaveContext.timerStates[TIMER_ID_MINIGAME_2] = TIMER_STATE_OFF;
Message_StartTextbox(play, 0xE95, NULL); // An entrant made a false start
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 20);
this->actionFunc = EnMttag_PotentiallyRestartRace;
}
@ -267,7 +267,7 @@ void EnMttag_ShowFalseStartMessage(EnMttag* this, PlayState* play) {
*/
void EnMttag_ShowCantWinMessage(EnMttag* this, PlayState* play) {
Message_StartTextbox(play, 0xE97, NULL); // You can't win now...
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
this->actionFunc = EnMttag_HandleCantWinChoice;
}
@ -433,7 +433,7 @@ void EnMttag_PotentiallyRestartRace(EnMttag* this, PlayState* play) {
play->transitionType = TRANS_TYPE_FADE_BLACK;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_BLACK;
Message_CloseTextbox(play);
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
Magic_Add(play, MAGIC_FILL_TO_CAPACITY);
CLEAR_EVENTINF(EVENTINF_10);
@ -468,7 +468,7 @@ void EnMttag_HandleCantWinChoice(EnMttag* this, PlayState* play) {
// Keep racing
Audio_PlaySfx_MessageDecide();
Message_CloseTextbox(play);
func_800B7298(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_END);
CLEAR_EVENTINF(EVENTINF_13);
this->timer = 100;
this->actionFunc = EnMttag_Race;

View File

@ -343,7 +343,7 @@ void EnPametfrog_StopCutscene(EnPametfrog* this, PlayState* play) {
Play_SetCameraAtEye(play, CAM_ID_MAIN, &subCam->at, &subCam->eye);
this->subCamId = SUB_CAM_ID_DONE;
CutsceneManager_Stop(this->csId);
func_800B724C(play, &this->actor, PLAYER_CSACTION_END);
Player_SetCsAction(play, &this->actor, PLAYER_CSACTION_END);
}
}
@ -1007,7 +1007,7 @@ void EnPametfrog_PlayCutscene(EnPametfrog* this, PlayState* play) {
if (CutsceneManager_IsNext(this->csId)) {
CutsceneManager_Start(this->csId, &this->actor);
this->subCamId = CutsceneManager_GetCurrentSubCamId(this->csId);
func_800B724C(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsAction(play, &this->actor, PLAYER_CSACTION_WAIT);
if (this->actor.colChkInfo.health == 0) {
if (this->actor.params == GEKKO_PRE_SNAPPER) {
EnPametfrog_SetupCallSnapper(this, play);

View File

@ -473,7 +473,7 @@ void func_80ADBAB8(EnSellnuts* this, PlayState* play) {
play->msgCtx.msgMode = MSGMODE_TEXT_CLOSING;
play->msgCtx.stateTimer = 4;
this->actionFunc = func_80ADBBEC;
func_800B7298(play, NULL, PLAYER_CSACTION_19);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_19);
}
}

View File

@ -259,7 +259,7 @@ s32 func_80AE6704(Actor* thisx, PlayState* play) {
case 6:
CLEAR_WEEKEVENTREG(WEEKEVENTREG_90_40);
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
play->nextEntrance = ENTRANCE(SOUTHERN_SWAMP_POISONED, 6);
gSaveContext.nextCutsceneIndex = 0;
play->transitionTrigger = TRANS_TRIGGER_START;

View File

@ -323,7 +323,7 @@ void func_80ADF520(EnTakaraya* this, PlayState* play) {
}
void func_80ADF608(EnTakaraya* this, PlayState* play) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
this->unk2AD = true;
this->actionFunc = func_80ADF654;
}

View File

@ -528,7 +528,7 @@ void func_80A3F0B0(EnTest3* this, PlayState* play) {
void func_80A3F114(EnTest3* this, PlayState* play) {
if (this->player.csAction != PLAYER_CSACTION_NONE) {
play->startPlayerCutscene(play, &this->player, PLAYER_CSACTION_END);
play->tryPlayerCsAction(play, &this->player, PLAYER_CSACTION_END);
}
}
@ -645,7 +645,7 @@ s32 func_80A3F62C(EnTest3* this, PlayState* play, struct_80A41828* arg2, Schedul
this->player.actor.home.rot.y = this->player.actor.shape.rot.y + 0x8000;
}
this->player.stateFlags2 |= PLAYER_STATE2_40000;
play->startPlayerCutscene(play, &this->player, -1);
play->tryPlayerCsAction(play, &this->player, PLAYER_CSACTION_NEG1);
}
this->unk_D78 = D_80A418A8[arg2->unk_1_4];
return true;
@ -668,7 +668,7 @@ s32 func_80A3F73C(EnTest3* this, PlayState* play) {
func_800BC154(play, &play->actorCtx, &this->unk_D90->actor, 4);
func_800BC154(play, &play->actorCtx, &this->player.actor, 2);
CutsceneManager_SetReturnCamera(this->subCamId);
play->startPlayerCutscene(play, &this->player, PLAYER_CSACTION_WAIT);
play->tryPlayerCsAction(play, &this->player, PLAYER_CSACTION_WAIT);
}
Actor_OfferTalkNearColChkInfoCylinder(&this->player.actor, play);
if (this->unk_D88 == 3) {
@ -690,7 +690,7 @@ s32 func_80A3F8D4(EnTest3* this, PlayState* play, struct_80A41828* arg2, Schedul
((postActor = func_80A3F2BC(play, this, ACTOR_EN_PM, ACTORCAT_NPC, 100.0f, 20.0f)) != NULL)) {
this->player.actor.home.rot.y = Actor_WorldYawTowardActor(&this->player.actor, postActor);
}
play->startPlayerCutscene(play, &this->player, PLAYER_CSACTION_97);
play->tryPlayerCsAction(play, &this->player, PLAYER_CSACTION_97);
return true;
}
@ -737,7 +737,7 @@ s32 func_80A3FA58(EnTest3* this, PlayState* play) {
return false;
}
if (this->unk_D8A == 90) {
play->startPlayerCutscene(play, &this->player, PLAYER_CSACTION_21);
play->tryPlayerCsAction(play, &this->player, PLAYER_CSACTION_21);
}
} else {
this->unk_D8A++;
@ -857,7 +857,7 @@ s32 func_80A3FFD0(EnTest3* this, PlayState* play2) {
}
} else {
SET_WEEKEVENTREG(WEEKEVENTREG_COUPLES_MASK_CUTSCENE_FINISHED);
play->startPlayerCutscene(play, &this->player, PLAYER_CSACTION_110);
play->tryPlayerCsAction(play, &this->player, PLAYER_CSACTION_110);
}
return false;
}
@ -983,7 +983,7 @@ void func_80A40678(EnTest3* this, PlayState* play) {
if (scheduleOutput.result == 6) {
this->player.actor.home.rot.y = 0x7FFF;
this->player.stateFlags2 |= PLAYER_STATE2_40000;
play->startPlayerCutscene(play, &this->player, -1);
play->tryPlayerCsAction(play, &this->player, PLAYER_CSACTION_NEG1);
}
}
} else {
@ -1060,12 +1060,12 @@ void EnTest3_Update(Actor* thisx, PlayState* play2) {
!((this->player.actor.category == ACTORCAT_PLAYER) &&
((play->actorCtx.flags & ACTORCTX_FLAG_5) || (play->actorCtx.flags & ACTORCTX_FLAG_4)))) {
if (this->player.csAction != PLAYER_CSACTION_5) {
play->startPlayerCutscene(play, &this->player, PLAYER_CSACTION_5);
play->tryPlayerCsAction(play, &this->player, PLAYER_CSACTION_5);
}
play->actorCtx.flags &= ~ACTORCTX_FLAG_4;
} else if (this->player.actor.category == ACTORCAT_PLAYER) {
func_80A409D4(this, play);
} else if (play->startPlayerCutscene(play, &this->player, PLAYER_CSACTION_NONE)) {
} else if (play->tryPlayerCsAction(play, &this->player, PLAYER_CSACTION_NONE)) {
if (this->unk_D88 >= 7) {
Vec3f worldPos;

View File

@ -451,7 +451,7 @@ void EnTest6_StopInvertedSoTCutscene(EnTest6* this, PlayState* play) {
player->actor.freezeTimer = 0;
play->unk_18844 = false;
CutsceneManager_Stop(play->playerCsIds[PLAYER_CS_ID_SONG_WARP]);
func_800B7298(play, NULL, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_END);
EnTest6_DisableMotionBlur();
Distortion_RemoveRequest(DISTORTION_TYPE_SONG_OF_TIME);
Actor_Kill(&this->actor);
@ -615,30 +615,30 @@ void EnTest6_InvertedSoTCutscene(EnTest6* this, PlayState* play) {
// Update Player Cutscene Animation
if (this->screenFillAlpha != 0) {
func_800B7298(play, NULL, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_WAIT);
} else {
if (this->timer == 90) {
// Look side-to-side but downwards, with chin down
// gPlayerAnim_al_elf_tobidasi
func_800B7298(play, NULL, PLAYER_CSACTION_66);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_66);
}
if (this->timer == 70) {
// close eyes and sway body in circles
// gPlayerAnim_alink_yurayura
func_800B7298(play, NULL, PLAYER_CSACTION_82);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_82);
}
if (this->timer == 30) {
// Look side-to-side but upwards, with chin up
// gPlayerAnim_alink_kyoro
func_800B7298(play, NULL, PLAYER_CSACTION_81);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_81);
}
if (this->timer == 5) {
// Give a big nod of approval
// gPlayerAnim_al_yes
func_800B7298(play, NULL, PLAYER_CSACTION_74);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_74);
}
}
@ -705,7 +705,7 @@ void EnTest6_StopDoubleSoTCutscene(EnTest6* this, PlayState* play) {
player->actor.freezeTimer = 0;
play->unk_18844 = false;
CutsceneManager_Stop(play->playerCsIds[PLAYER_CS_ID_SONG_WARP]);
func_800B7298(play, NULL, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_END);
EnTest6_DisableMotionBlur();
Distortion_RemoveRequest(DISTORTION_TYPE_SONG_OF_TIME);
Actor_Kill(&this->actor);
@ -864,23 +864,23 @@ void EnTest6_DoubleSoTCutscene(EnTest6* this, PlayState* play) {
break;
case 98:
func_800B7298(play, NULL, PLAYER_CSACTION_64);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_64);
break;
case 68:
func_800B7298(play, NULL, PLAYER_CSACTION_65);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_65);
break;
case 52:
func_800B7298(play, NULL, PLAYER_CSACTION_88);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_88);
break;
case 43:
func_800B7298(play, NULL, PLAYER_CSACTION_114);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_114);
break;
case 38:
func_800B7298(play, NULL, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_WAIT);
break;
case 14:

View File

@ -301,7 +301,7 @@ void EnTimeTag_KickOut_Transition(EnTimeTag* this, PlayState* play) {
*/
void EnTimeTag_KickOut_WaitForTrigger(EnTimeTag* this, PlayState* play) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_WAIT) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_KICKOUT_TIME_PASSED)) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
Message_StartTextbox(play, 0x1883 + TIMETAG_KICKOUT_GET_TEXT(&this->actor), NULL);
this->actionFunc = EnTimeTag_KickOut_Transition;
}
@ -334,7 +334,7 @@ void EnTimeTag_KickOut_WaitForTime(EnTimeTag* this, PlayState* play) {
}
} else if ((hour == TIMETAG_KICKOUT_HOUR(&this->actor)) && (minute == TIMETAG_KICKOUT_MINUTE(&this->actor)) &&
!Play_InCsMode(play)) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_WAIT);
Message_StartTextbox(play, 0x1883 + TIMETAG_KICKOUT_GET_TEXT(&this->actor), NULL);
this->actionFunc = EnTimeTag_KickOut_Transition;
}

View File

@ -361,7 +361,7 @@ s32 func_80BA3ED4(EnToto* this, PlayState* play) {
s32 func_80BA3EE8(EnToto* this, PlayState* play) {
if (this->text->unk1 == 2) {
func_800B7298(play, NULL, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_WAIT);
}
return 0;
}
@ -456,7 +456,7 @@ s32 func_80BA42BC(EnToto* this, PlayState* play) {
Vec3s* end = &D_80BA510C[3];
func_80BA3FB0(this, play);
func_800B7298(play, NULL, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_END);
if (player->actor.world.pos.z > -310.0f) {
if ((player->actor.world.pos.x > -150.0f) || (player->actor.world.pos.z > -172.0f)) {
phi_s0 = 3;
@ -476,7 +476,7 @@ s32 func_80BA42BC(EnToto* this, PlayState* play) {
s32 func_80BA43F4(EnToto* this, PlayState* play) {
func_80BA3C88(this);
if (func_80122760(play, &this->unk_2BC, 60.0f)) {
func_800B7298(play, NULL, PLAYER_CSACTION_19);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_19);
return func_80BA4204(this, play);
}
return 0;
@ -484,7 +484,7 @@ s32 func_80BA43F4(EnToto* this, PlayState* play) {
s32 func_80BA445C(EnToto* this, PlayState* play) {
if (func_80BA4128(this, play)) {
func_800B7298(play, NULL, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_END);
return 1;
}
return 0;
@ -546,7 +546,7 @@ s32 func_80BA4530(EnToto* this, PlayState* play) {
}
s32 func_80BA46D8(EnToto* this, PlayState* play) {
func_800B7298(play, NULL, PLAYER_CSACTION_68);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_68);
Message_DisplayOcarinaStaff(play, sOcarinaActionWindFishPrompts[CUR_FORM]);
return 0;
}
@ -603,7 +603,7 @@ s32 func_80BA47E0(EnToto* this, PlayState* play) {
}
s32 func_80BA49A4(EnToto* this, PlayState* play) {
func_800B7298(play, NULL, PLAYER_CSACTION_68);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_68);
Audio_PlayFanfareWithPlayerIOCustomPort(NA_BGM_BALLAD_OF_THE_WIND_FISH, 4, this->unk2B3 ^ 0xF);
this->unk2B1 = 4;
return 0;
@ -623,7 +623,7 @@ s32 func_80BA4A00(EnToto* this, PlayState* play) {
if (this->spotlights != NULL) {
Actor_Kill(this->spotlights);
}
func_800B7298(play, NULL, PLAYER_CSACTION_69);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_69);
if (this->unk2B3 == 0xF) {
if (CURRENT_DAY == 1) {
SET_WEEKEVENTREG(WEEKEVENTREG_50_01);

View File

@ -457,7 +457,7 @@ void EnWallmas_SetupTakePlayer(EnWallmas* this, PlayState* play) {
this->actor.speed = 0.0f;
this->actor.velocity.y = 0.0f;
this->yTarget = this->actor.playerHeightRel;
func_800B724C(play, &this->actor, PLAYER_CSACTION_18);
Player_SetCsAction(play, &this->actor, PLAYER_CSACTION_18);
}
void EnWallmas_TakePlayer(EnWallmas* this, PlayState* play) {

View File

@ -97,10 +97,10 @@ void EnWarpTag_WaitForPlayer(EnWarptag* this, PlayState* play) {
if (!Player_InCsMode(play) && (this->dyna.actor.xzDistToPlayer <= 30.0f) &&
(this->dyna.actor.playerHeightRel <= 10.0f)) {
if (WARPTAG_GET_INVISIBLE(&this->dyna.actor)) {
func_800B7298(play, NULL, PLAYER_CSACTION_81);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_81);
this->actionFunc = EnWarpTag_GrottoReturn;
} else {
func_800B7298(play, NULL, PLAYER_CSACTION_15);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_15);
this->actionFunc = EnWarpTag_RespawnPlayer;
}
}
@ -129,7 +129,7 @@ void EnWarpTag_Unused809C09A0(EnWarptag* this, PlayState* play) {
*/
void EnWarpTag_Unused809C0A20(EnWarptag* this, PlayState* play) {
if (play->msgCtx.ocarinaMode == OCARINA_MODE_PLAYED_STORMS) {
func_800B7298(play, NULL, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_WAIT);
this->actionFunc = EnWarpTag_RespawnPlayer;
CutsceneManager_Stop(CutsceneManager_GetCurrentCsId());

View File

@ -480,7 +480,7 @@ void func_80BAFDB4(EnZod* this, PlayState* play) {
EnZod_UpdateAnimation(this);
if (CutsceneManager_IsNext(this->actor.csId)) {
CutsceneManager_Start(this->actor.csId, &this->actor);
func_800B7298(play, NULL, PLAYER_CSACTION_68);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_68);
Message_StartTextbox(play, 0x103A, &this->actor);
this->actionFunc = EnZod_SetupRehearse;
} else {

View File

@ -593,7 +593,7 @@ void func_809381C4(ObjBean* this, PlayState* play) {
if (CutsceneManager_IsNext(this->dyna.actor.csId)) {
CutsceneManager_StartWithPlayerCs(this->dyna.actor.csId, &this->dyna.actor);
if (this->dyna.actor.csId >= 0) {
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_1);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_1);
}
this->unk_1E4 = 2;
func_80938284(this);
@ -750,7 +750,7 @@ void func_80938780(ObjBean* this, PlayState* play) {
if (CutsceneManager_IsNext(this->dyna.actor.csId)) {
CutsceneManager_StartWithPlayerCs(this->dyna.actor.csId, &this->dyna.actor);
if (this->dyna.actor.csId >= 0) {
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_1);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_1);
}
this->unk_1B4 = 36;
func_80937130(this);

View File

@ -495,7 +495,7 @@ void func_8098E0B8(ObjComb* this, PlayState* play) {
if ((this->unk_1B4 == 10) && (this->unk_1B6 != 0) && (this->unk_1B5 == 2) && (this->actor.csId >= 0)) {
if (CutsceneManager_GetCurrentCsId() == this->actor.csId) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_4);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_4);
}
}
}
@ -529,7 +529,7 @@ void ObjComb_Update(Actor* thisx, PlayState* play) {
if (CutsceneManager_IsNext(this->actor.csId)) {
CutsceneManager_StartWithPlayerCs(this->actor.csId, &this->actor);
if (this->actor.csId >= 0) {
func_800B7298(play, &this->actor, PLAYER_CSACTION_1);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_1);
}
if (((OBJCOMB_GET_8000(&this->actor) | OBJCOMB_GET_80(&this->actor)) == 1) &&

View File

@ -1209,7 +1209,7 @@ void func_80A25FD4(ObjIceblock* this, PlayState* play) {
func_80A23370(this, sp2C);
func_80A260E8(this);
sp30 = false;
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
this->unk_1B0 |= 1;
}
@ -1255,7 +1255,7 @@ void func_80A26144(ObjIceblock* this, PlayState* play) {
if ((this->unk_1B0 & 1) && (isBool || sp28 || (this->dyna.actor.xzDistToPlayer > 400.0f))) {
this->unk_1B0 &= ~1;
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_END);
}
if (isBool) {
@ -1454,7 +1454,7 @@ void ObjIceblock_Update(Actor* thisx, PlayState* play) {
this->unk_1B0 &= ~0x100;
if (this->unk_1B0 & 1) {
this->unk_1B0 &= ~1;
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_END);
}
func_80A266C4(this);
}

View File

@ -130,7 +130,7 @@ void func_8099FD7C(Actor* thisx, PlayState* play) {
if (CutsceneManager_IsNext(thisx->csId)) {
CutsceneManager_StartWithPlayerCs(thisx->csId, thisx);
if (thisx->csId >= 0) {
func_800B7298(play, thisx, PLAYER_CSACTION_4);
Player_SetCsActionWithHaltedActors(play, thisx, PLAYER_CSACTION_4);
}
func_8099FB64(thisx, play);
thisx->update = Actor_Noop;

View File

@ -535,7 +535,7 @@ void func_80A22334(ObjSkateblock* this, PlayState* play) {
func_80A21C88(this, sp2C);
func_80A2244C(this);
sp30 = false;
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_WAIT);
this->unk_1C1 |= 1;
}
@ -591,7 +591,7 @@ void func_80A224A4(ObjSkateblock* this, PlayState* play) {
if ((this->unk_1C1 & 1) && (sp24 || sp28 || (this->dyna.actor.xzDistToPlayer > 400.0f))) {
this->unk_1C1 &= ~1;
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_END);
}
func_80A21F74(this, play);

View File

@ -679,7 +679,7 @@ void func_80B30A4C(ObjSpidertent* this, PlayState* play) {
if (CutsceneManager_IsNext(this->dyna.actor.csId)) {
CutsceneManager_StartWithPlayerCs(this->dyna.actor.csId, &this->dyna.actor);
if (this->dyna.actor.csId >= 0) {
func_800B7298(play, &this->dyna.actor, PLAYER_CSACTION_1);
Player_SetCsActionWithHaltedActors(play, &this->dyna.actor, PLAYER_CSACTION_1);
}
Flags_SetSwitch(play, OBJSPIDERTENT_GET_SWITCH_FLAG(&this->dyna.actor));
func_80B30AD4(this);

View File

@ -79,7 +79,7 @@ void func_808A7AAC(ObjWturn* this, PlayState* play) {
CutsceneManager_StartWithPlayerCs(this->actor.csId, &this->actor);
Play_EnableMotionBlur(140);
this->subCamId = CutsceneManager_GetCurrentSubCamId(this->actor.csId);
func_800B7298(play, &this->actor, PLAYER_CSACTION_21);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_21);
subCamAt.x = player->actor.focus.pos.x;
subCamAt.z = player->actor.focus.pos.z;
subCamAt.y = player->actor.focus.pos.y;
@ -103,7 +103,7 @@ void func_808A7C04(ObjWturn* this, PlayState* play) {
this->actor.world.pos.y += this->actor.playerHeightRel;
player->actor.shape.shadowAlpha = 0;
func_800B7298(play, &this->actor, PLAYER_CSACTION_84);
Player_SetCsActionWithHaltedActors(play, &this->actor, PLAYER_CSACTION_84);
Player_PlaySfx(player, NA_SE_VO_NAVY_ENEMY);
this->unk_14A = 0;
Play_DisableMotionBlur();

View File

@ -52,7 +52,7 @@ void Player_Update(Actor* thisx, PlayState* play);
void Player_Draw(Actor* thisx, PlayState* play);
s32 Player_GrabPlayer(PlayState* play, Player* this);
s32 func_8085B28C(PlayState* play, Player* this, PlayerCsAction csAction);
s32 Player_TryCsAction(PlayState* play, Player* this, PlayerCsAction csAction);
void func_8085B384(Player* this, PlayState* play);
s32 Player_InflictDamage(PlayState* play, s32 damage);
void Player_TalkWithPlayer(PlayState* play, Actor* actor);
@ -207,7 +207,7 @@ void Player_Action_93(Player* this, PlayState* play);
void Player_Action_94(Player* this, PlayState* play);
void Player_Action_95(Player* this, PlayState* play);
void Player_Action_96(Player* this, PlayState* play);
void Player_Action_97(Player* this, PlayState* play);
void Player_Action_CsAction(Player* this, PlayState* play);
s32 Player_UpperAction_0(Player* this, PlayState* play);
s32 Player_UpperAction_1(Player* this, PlayState* play);
@ -7282,11 +7282,17 @@ void Player_StopCutscene(Player* this) {
}
}
s32 func_808387A0(PlayState* play, Player* this) {
/**
* @brief If appropriate, setup action for performing a `csAction`
*
* @return true if a `csAction` is started, false if not
*/
s32 Player_StartCsAction(PlayState* play, Player* this) {
if (this->unk_AA5 == PLAYER_UNKAA5_4) {
Player_StopCutscene(this);
this->actor.flags &= ~ACTOR_FLAG_TALK_REQUESTED;
Player_SetAction(play, this, Player_Action_97, 0);
Player_SetAction(play, this, Player_Action_CsAction, 0);
if (this->cv.haltActorsDuringCsAction) {
this->stateFlags1 |= PLAYER_STATE1_20000000;
}
@ -7470,7 +7476,7 @@ s32 Player_ActionChange_13(Player* this, PlayState* play) {
func_80833AA0(this, play);
return true;
}
if (!func_808387A0(play, this)) {
if (!Player_StartCsAction(play, this)) {
if (this->unk_AA5 == PLAYER_UNKAA5_5) {
if ((this->itemAction >= PLAYER_IA_MASK_MIN) && (this->itemAction <= PLAYER_IA_MASK_MAX)) {
PlayerMask maskId = GET_MASK_FROM_IA(this->itemAction);
@ -8411,7 +8417,7 @@ s32 func_8083B3B4(PlayState* play, Player* this, Input* input) {
((ABS_ALT(this->unk_AAA) < 0x2EE0) && (this->currentBoots < PLAYER_BOOTS_ZORA_UNDERWATER) &&
((s32)SurfaceType_GetConveyorSpeed(&play->colCtx, this->actor.floorPoly, this->actor.floorBgId) <=
CONVEYOR_SPEED_SLOW))))) {
if (Player_Action_97 != this->actionFunc) {
if (Player_Action_CsAction != this->actionFunc) {
Player_SetAction(play, this, Player_Action_59, 0);
}
@ -10328,7 +10334,7 @@ s32 func_80840A30(PlayState* play, Player* this, f32* arg2, f32 arg3) {
}
s32 func_80840CD4(Player* this, PlayState* play) {
if (func_808387A0(play, this)) {
if (Player_StartCsAction(play, this)) {
this->stateFlags2 |= PLAYER_STATE2_20000;
} else if (!CHECK_BTN_ALL(sPlayerControlInput->cur.button, BTN_B)) {
PlayerMeleeWeaponAnimation meleeWeaponAnim;
@ -10645,7 +10651,7 @@ void Player_Init(Actor* thisx, PlayState* play) {
play->unk_18770 = func_8085B170;
play->startPlayerFishing = Player_StartFishing;
play->grabPlayer = Player_GrabPlayer;
play->startPlayerCutscene = func_8085B28C;
play->tryPlayerCsAction = Player_TryCsAction;
play->func_18780 = func_8085B384;
play->damagePlayer = Player_InflictDamage;
play->talkWithPlayer = Player_TalkWithPlayer;
@ -10741,7 +10747,7 @@ void Player_Init(Actor* thisx, PlayState* play) {
}
if ((this->csAction == PLAYER_CSACTION_9) || (this->csAction == PLAYER_CSACTION_93)) {
Player_SetAction(play, this, Player_Action_97, 0);
Player_SetAction(play, this, Player_Action_CsAction, 0);
this->stateFlags1 |= PLAYER_STATE1_20000000;
} else {
Player_SetAction(play, this, Player_Action_87, 0);
@ -10779,7 +10785,7 @@ void Player_Init(Actor* thisx, PlayState* play) {
if (this->actor.shape.rot.x != 0) {
this->actor.shape.rot.x = 0;
this->csAction = PLAYER_CSACTION_68;
Player_SetAction(play, this, Player_Action_97, 0);
Player_SetAction(play, this, Player_Action_CsAction, 0);
this->stateFlags1 |= PLAYER_STATE1_20000000;
return;
}
@ -12143,12 +12149,12 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) {
if (!(this->stateFlags2 & PLAYER_STATE2_80) && (this->actor.id == ACTOR_PLAYER)) {
if ((play->csCtx.playerCue != NULL) &&
(sPlayerCueToCsActionMap[play->csCtx.playerCue->id] != PLAYER_CSACTION_NONE)) {
func_800B7298(play, NULL, PLAYER_CSACTION_5);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_5);
Player_StopHorizontalMovement(this);
} else if (((u32)this->csAction == PLAYER_CSACTION_NONE) &&
!(this->stateFlags2 & (PLAYER_STATE2_400 | PLAYER_STATE2_8000000)) &&
(play->csCtx.state != CS_STATE_STOP)) {
func_800B7298(play, NULL, PLAYER_CSACTION_20);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_20);
Player_StopHorizontalMovement(this);
}
}
@ -12159,14 +12165,14 @@ void Player_UpdateCommon(Player* this, PlayState* play, Input* input) {
if ((this->csAction != PLAYER_CSACTION_END) ||
!(this->stateFlags1 & (PLAYER_STATE1_4 | PLAYER_STATE1_2000 | PLAYER_STATE1_4000 |
PLAYER_STATE1_200000 | PLAYER_STATE1_4000000))) {
if (Player_Action_97 != this->actionFunc) {
if (Player_Action_CsAction != this->actionFunc) {
this->unk_AA5 = PLAYER_UNKAA5_4;
if (this->csAction == PLAYER_CSACTION_5) {
func_808387A0(play, this);
Player_StartCsAction(play, this);
func_8082DAD4(this);
}
}
} else if (Player_Action_97 != this->actionFunc) {
} else if (Player_Action_CsAction != this->actionFunc) {
Player_CsAction_End(play, this, NULL);
}
} else {
@ -13190,7 +13196,7 @@ s32 func_808482E0(PlayState* play, Player* this) {
play->transitionType = TRANS_TYPE_FADE_WHITE;
gSaveContext.nextTransitionType = TRANS_TYPE_FADE_WHITE;
this->stateFlags1 &= ~PLAYER_STATE1_20000000;
func_8085B28C(play, NULL, PLAYER_CSACTION_WAIT);
Player_TryCsAction(play, NULL, PLAYER_CSACTION_WAIT);
}
this->getItemId = GI_NONE;
}
@ -15497,7 +15503,7 @@ void Player_Action_44(Player* this, PlayState* play) {
func_80837BD0(play, this);
this->av2.actionVar2 = sp44;
} else if (!func_80847994(play, this) && !func_80847880(play, this) && !func_808387A0(play, this) &&
} else if (!func_80847994(play, this) && !func_80847880(play, this) && !Player_StartCsAction(play, this) &&
((this->talkActor != this->interactRangeActor) || !Player_ActionChange_2(this, play))) {
if (func_801242B4(this)) {
func_808353DC(play, this);
@ -16898,7 +16904,7 @@ void Player_Action_63(Player* this, PlayState* play) {
if (actor != NULL) {
this->stateFlags1 &= ~PLAYER_STATE1_20000000;
this->csAction = PLAYER_CSACTION_NONE;
func_8085B28C(play, NULL, PLAYER_CSACTION_19);
Player_TryCsAction(play, NULL, PLAYER_CSACTION_19);
this->stateFlags1 |= PLAYER_STATE1_10000000 | PLAYER_STATE1_20000000;
} else {
func_80836A5C(this, play);
@ -16984,7 +16990,7 @@ void Player_Action_65(Player* this, PlayState* play) {
Player_StopCutscene(this);
func_80848250(play, this);
this->stateFlags1 &= ~PLAYER_STATE1_20000000;
func_8085B28C(play, NULL, PLAYER_CSACTION_93);
Player_TryCsAction(play, NULL, PLAYER_CSACTION_93);
} else {
s32 var_a2 = ((this->talkActor != NULL) && (this->exchangeItemAction <= PLAYER_IA_MINUS1)) ||
(this->stateFlags3 & PLAYER_STATE3_20);
@ -17515,10 +17521,10 @@ void Player_Action_73(Player* this, PlayState* play) {
void func_80859CE0(PlayState* play, Player* this, s32 arg2);
void Player_Action_74(Player* this, PlayState* play) {
if ((DECR(this->av2.actionVar2) == 0) && func_808387A0(play, this)) {
if ((DECR(this->av2.actionVar2) == 0) && Player_StartCsAction(play, this)) {
func_80859CE0(play, this, 0);
Player_SetAction(play, this, Player_Action_97, 0);
Player_Action_97(this, play);
Player_SetAction(play, this, Player_Action_CsAction, 0);
Player_Action_CsAction(this, play);
}
}
@ -19799,7 +19805,7 @@ void Player_CsAction_2(PlayState* play, Player* this, CsCmdActorCue* cue) {
}
if ((this->csAction == PLAYER_CSACTION_20) && (play->csCtx.state == CS_STATE_IDLE)) {
func_800B7298(play, NULL, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_END);
} else if (this->stateFlags1 & PLAYER_STATE1_8000000) {
func_80859300(play, this, 0);
this->actor.velocity.y = 0.0f;
@ -20358,7 +20364,7 @@ void Player_CsAction_48(PlayState* play, Player* this, CsCmdActorCue* cue) {
if (sPlayerCueToCsActionMap[this->cueId] != PLAYER_CSACTION_16) {
this->csAction = PLAYER_CSACTION_END;
func_800B7298(play, NULL, PLAYER_CSACTION_END);
Player_SetCsActionWithHaltedActors(play, NULL, PLAYER_CSACTION_END);
this->cueId = PLAYER_CUEID_NONE;
Player_StopHorizontalMovement(this);
return;
@ -20408,7 +20414,7 @@ void Player_CsAction_48(PlayState* play, Player* this, CsCmdActorCue* cue) {
}
}
void Player_Action_97(Player* this, PlayState* play) {
void Player_Action_CsAction(Player* this, PlayState* play) {
if (this->csAction != this->prevCsAction) {
D_80862B6C = this->skelAnime.moveFlags;
func_8082E794(this);
@ -20453,7 +20459,7 @@ s32 Player_GrabPlayer(PlayState* play, Player* this) {
return false;
}
s32 func_8085B28C(PlayState* play, Player* this, PlayerCsAction csAction) {
s32 Player_TryCsAction(PlayState* play, Player* this, PlayerCsAction csAction) {
Player* player = GET_PLAYER(play);
if (this != NULL) {
@ -20461,7 +20467,9 @@ s32 func_8085B28C(PlayState* play, Player* this, PlayerCsAction csAction) {
return Player_Action_36 == this->actionFunc;
}
// Specific to Kafei, any negative csAction works
if ((this->actor.id == ACTOR_EN_TEST3) && (csAction < 0)) {
// PLAYER_CSACTION_NEG1
func_8083B0E4(play, this, this->actor.home.rot.y);
return false;
}
@ -20473,7 +20481,7 @@ s32 func_8085B28C(PlayState* play, Player* this, PlayerCsAction csAction) {
if ((player->actor.id == ACTOR_EN_TEST3) || !Player_InBlockingCsMode(play, player)) {
func_8082DE50(play, player);
Player_SetAction(play, player, Player_Action_97, 0);
Player_SetAction(play, player, Player_Action_CsAction, 0);
player->csAction = csAction;
player->csActor = &this->actor;
func_8082DAD4(player);
@ -20522,7 +20530,7 @@ void Player_TalkWithPlayer(PlayState* play, Actor* actor) {
player->lockOnActor = actor;
if (actor->textId == 0xFFFF) {
func_800B7298(play, actor, PLAYER_CSACTION_1);
Player_SetCsActionWithHaltedActors(play, actor, PLAYER_CSACTION_1);
actor->flags |= ACTOR_FLAG_TALK_REQUESTED;
func_8082DE14(play, player);
} else {

View File

@ -744,8 +744,8 @@
0x800B71DC:("Actor_MountHorse",),
0x800B7200:("func_800B7200",),
0x800B722C:("Actor_SpawnHorse",),
0x800B724C:("func_800B724C",),
0x800B7298:("func_800B7298",),
0x800B724C:("Player_SetCsAction",),
0x800B7298:("Player_SetCsActionWithHaltedActors",),
0x800B72E0:("func_800B72E0",),
0x800B72F8:("func_800B72F8",),
0x800B7320:("Player_IsFacingActor",),
@ -4465,7 +4465,7 @@
0x8083827C:("func_8083827C",),
0x8083868C:("func_8083868C",),
0x80838760:("Player_StopCutscene",),
0x808387A0:("func_808387A0",),
0x808387A0:("Player_StartCsAction",),
0x80838830:("func_80838830",),
0x808388B8:("func_808388B8",),
0x808389BC:("func_808389BC",),
@ -4874,11 +4874,11 @@
0x8085AC9C:("func_8085AC9C",),
0x8085AD5C:("func_8085AD5C",),
0x8085ADA0:("Player_CsAction_48",),
0x8085B08C:("Player_Action_97",),
0x8085B08C:("Player_Action_CsAction",),
0x8085B134:("Player_StartFishing",),
0x8085B170:("func_8085B170",),
0x8085B1F0:("Player_GrabPlayer",),
0x8085B28C:("func_8085B28C",),
0x8085B28C:("Player_TryCsAction",),
0x8085B384:("func_8085B384",),
0x8085B3E0:("Player_InflictDamage",),
0x8085B460:("Player_TalkWithPlayer",),

View File

@ -114,6 +114,8 @@ wordReplace = {
"func_8012405C": "Player_HasMirrorShieldEquipped",
"func_80124088": "Player_IsHoldingMirrorShield",
"func_8012697C": "Player_DrawGetItem",
"func_800B724C": "Player_SetCsAction",
"func_800B7298": "Player_SetCsActionWithHaltedActors",
"Actor_SpawnWithParentAndCutscene": "Actor_SpawnAsChildAndCutscene",
"Actor_SpawnWithParent": "Actor_SpawnAsChild",
"Actor_IsLinkFacingActor": "Player_IsFacingActor",

View File

@ -258,8 +258,8 @@ asm/non_matchings/code/z_actor/Actor_SetCameraHorseSetting.s,Actor_SetCameraHors
asm/non_matchings/code/z_actor/Actor_MountHorse.s,Actor_MountHorse,0x800B71DC,0x9
asm/non_matchings/code/z_actor/func_800B7200.s,func_800B7200,0x800B7200,0xB
asm/non_matchings/code/z_actor/Actor_SpawnHorse.s,Actor_SpawnHorse,0x800B722C,0x8
asm/non_matchings/code/z_actor/func_800B724C.s,func_800B724C,0x800B724C,0x13
asm/non_matchings/code/z_actor/func_800B7298.s,func_800B7298,0x800B7298,0x12
asm/non_matchings/code/z_actor/Player_SetCsAction.s,Player_SetCsAction,0x800B724C,0x13
asm/non_matchings/code/z_actor/Player_SetCsActionWithHaltedActors.s,Player_SetCsActionWithHaltedActors,0x800B7298,0x12
asm/non_matchings/code/z_actor/func_800B72E0.s,func_800B72E0,0x800B72E0,0x6
asm/non_matchings/code/z_actor/func_800B72F8.s,func_800B72F8,0x800B72F8,0xA
asm/non_matchings/code/z_actor/Player_IsFacingActor.s,Player_IsFacingActor,0x800B7320,0x16

1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
258 asm/non_matchings/code/z_actor/Actor_MountHorse.s Actor_MountHorse 0x800B71DC 0x9
259 asm/non_matchings/code/z_actor/func_800B7200.s func_800B7200 0x800B7200 0xB
260 asm/non_matchings/code/z_actor/Actor_SpawnHorse.s Actor_SpawnHorse 0x800B722C 0x8
261 asm/non_matchings/code/z_actor/func_800B724C.s asm/non_matchings/code/z_actor/Player_SetCsAction.s func_800B724C Player_SetCsAction 0x800B724C 0x13
262 asm/non_matchings/code/z_actor/func_800B7298.s asm/non_matchings/code/z_actor/Player_SetCsActionWithHaltedActors.s func_800B7298 Player_SetCsActionWithHaltedActors 0x800B7298 0x12
263 asm/non_matchings/code/z_actor/func_800B72E0.s func_800B72E0 0x800B72E0 0x6
264 asm/non_matchings/code/z_actor/func_800B72F8.s func_800B72F8 0x800B72F8 0xA
265 asm/non_matchings/code/z_actor/Player_IsFacingActor.s Player_IsFacingActor 0x800B7320 0x16