player unions (#1453)

This commit is contained in:
engineer124
2023-10-28 00:13:44 +11:00
committed by GitHub
parent cf41eeb3ac
commit 4422df3ef6
20 changed files with 472 additions and 461 deletions
+2 -2
View File
@@ -1412,7 +1412,7 @@ s32 func_800B724C(PlayState* play, Actor* actor, u8 csAction) {
player->csAction = csAction;
player->csActor = actor;
player->unk_3BA = false;
player->cv.haltActorsDuringCsAction = false;
return true;
}
@@ -1420,7 +1420,7 @@ s32 func_800B7298(PlayState* play, Actor* actor, u8 csAction) {
Player* player = GET_PLAYER(play);
if (func_800B724C(play, actor, csAction)) {
player->unk_3BA = true;
player->cv.haltActorsDuringCsAction = true;
return true;
}
return false;
+8 -7
View File
@@ -369,13 +369,14 @@ void func_80122F28(Player* player) {
s32 func_80122F9C(PlayState* play) {
Player* player = GET_PLAYER(play);
return (player->stateFlags2 & PLAYER_STATE2_80000) && (player->actionVar1 == 2);
return (player->stateFlags2 & PLAYER_STATE2_80000) && (player->av1.actionVar1 == 2);
}
s32 func_80122FCC(PlayState* play) {
Player* player = GET_PLAYER(play);
return (player->stateFlags2 & PLAYER_STATE2_80000) && ((player->actionVar1 == 1) || (player->actionVar1 == 3));
return (player->stateFlags2 & PLAYER_STATE2_80000) &&
((player->av1.actionVar1 == 1) || (player->av1.actionVar1 == 3));
}
void func_8012300C(PlayState* play, s32 arg1) {
@@ -389,15 +390,15 @@ void func_8012301C(Actor* thisx, PlayState* play2) {
PlayState* play = play2;
Player* this = (Player*)thisx;
this->actionVar1++;
this->av1.actionVar1++;
if (this->actionVar1 == 2) {
if (this->av1.actionVar1 == 2) {
s16 objectId = gPlayerFormObjectIds[GET_PLAYER_FORM];
gActorOverlayTable[ACTOR_PLAYER].initInfo->objectId = objectId;
func_8012F73C(&play->objectCtx, this->actor.objectSlot, objectId);
this->actor.objectSlot = Object_GetSlot(&play->objectCtx, GAMEPLAY_KEEP);
} else if (this->actionVar1 >= 3) {
} else if (this->av1.actionVar1 >= 3) {
s32 objectSlot = Object_GetSlot(&play->objectCtx, gActorOverlayTable[ACTOR_PLAYER].initInfo->objectId);
if (Object_IsLoaded(&play->objectCtx, objectSlot)) {
@@ -3750,7 +3751,7 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList1, G
}
}
if ((player->stateFlags1 & (PLAYER_STATE1_2 | PLAYER_STATE1_100)) && (player->actionVar2 != 0)) {
if ((player->stateFlags1 & (PLAYER_STATE1_2 | PLAYER_STATE1_100)) && (player->av2.actionVar2 != 0)) {
static Vec3f D_801C0E40[PLAYER_FORM_MAX] = {
{ 0.0f, 0.0f, 0.0f }, // PLAYER_FORM_FIERCE_DEITY
{ -578.3f, -1100.9f, 0.0f }, // PLAYER_FORM_GORON
@@ -3770,7 +3771,7 @@ void Player_PostLimbDrawGameplay(PlayState* play, s32 limbIndex, Gfx** dList1, G
}
gSPMatrix(POLY_XLU_DISP++, Matrix_NewMtx(play->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 255, (u8)player->actionVar2);
gDPSetEnvColor(POLY_XLU_DISP++, 0, 0, 255, (u8)player->av2.actionVar2);
gSPDisplayList(POLY_XLU_DISP++, gameplay_keep_DL_054C90);
Matrix_Pop();