diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 992281d86..077153817 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -356,18 +356,19 @@ public: void setGameoverStatus(u8 stts) { mGameoverStatus = stts; } + fopAc_ac_c* getPlayer(int idx) { return mPlayerInfo[idx].mpPlayer; } + void setPlayer(int idx, fopAc_ac_c* player) { mPlayerInfo[idx].mpPlayer = player; } + s8 getPlayerCameraID(int idx) { return mPlayerInfo[idx].mCameraID; } + void setPlayerInfo(int idx, fopAc_ac_c* player, int cam) { + mPlayerInfo[idx].mpPlayer = player; + mPlayerInfo[idx].mCameraID = cam; + } + fopAc_ac_c* getPlayerPtr(int idx) { return (fopAc_ac_c*)mpPlayerPtr[idx]; } - fopAc_ac_c* getPlayer(int idx) { return (fopAc_ac_c*)mpPlayer[idx * 2]; } - void setPlayer(int idx, fopAc_ac_c* player) { mpPlayer[idx] = (daPy_py_c*)player; } void setPlayerPtr(int idx, fopAc_ac_c* playerPtr) { mpPlayerPtr[idx] = playerPtr; } - s8 getPlayerCameraID(int idx) { return mCurCamera[idx]; } int getCameraPlayer1ID(int i) { return mCameraInfo[i].mCamP1Id; } int getCameraPlayer2ID(int i) { return mCameraInfo[i].mCamP2Id; } int getCameraWinID(int i) { return mCameraInfo[i].mDlstWindowIdx; } - void setPlayerInfo(int idx, fopAc_ac_c* player, int cam) { - mpPlayer[idx] = (daPy_py_c*)player; - mCurCamera[idx] = cam; - } int getItemTimer() { return mItemTimer; } void resetItemTimer(s16 timer) { @@ -737,9 +738,10 @@ public: /* 0x4842 */ u16 mStatus; /* 0x4844 */ dDlst_window_c mDlstWindow[1]; /* 0x4870 */ dComIfG_camera_info_class mCameraInfo[1]; - /* 0x48A4 */ daPy_py_c* mpPlayer[1]; - /* 0x48A8 */ s8 mCurCamera[1]; - /* 0x48A9 */ u8 field_0x48A9[0x48AC - 0x48A9]; + /* 0x48A4 */ struct { + /* 0x0 */ fopAc_ac_c* mpPlayer; + /* 0x4 */ s8 mCameraID; + } mPlayerInfo[1]; /* 0x48AC */ fopAc_ac_c* mpPlayerPtr[3]; // 0: Link, 1: Partner, 2: Ship /* 0x48B8 */ f32 field_0x48b8; /* 0x48BC */ f32 mItemLifeCount; diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index 2ed67b12b..1d6b4a9f3 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -1224,7 +1224,7 @@ bool dAttLook_c::request(fopAc_ac_c* reqActor, f32 horizontalDist, f32 upDist, f /* 800A009C-800A0270 .text requestF__10dAttLook_cFP10fopAc_ac_csi */ bool dAttLook_c::requestF(fopAc_ac_c* reqActor, s16 angle, int param_3) { // TODO: what is param_3? - fopAc_ac_c* player = g_dComIfG_gameInfo.play.mpPlayer[0]; + fopAc_ac_c* player = dComIfGp_getPlayer(0); if (param_3 > field_0x4) { return false; } diff --git a/src/d/d_com_inf_game.cpp b/src/d/d_com_inf_game.cpp index 7d600e9ad..f58a164a7 100644 --- a/src/d/d_com_inf_game.cpp +++ b/src/d/d_com_inf_game.cpp @@ -58,9 +58,9 @@ void dComIfG_play_c::ct() /* 800521A4-800521D4 .text init__14dComIfG_play_cFv */ void dComIfG_play_c::init() { - for (int i = 0; i < ARRAY_SIZE(mpPlayer); i++) { - mpPlayer[i] = NULL; - mCurCamera[i] = -1; + for (int i = 0; i < ARRAY_SIZE(mPlayerInfo); i++) { + mPlayerInfo[i].mpPlayer = NULL; + mPlayerInfo[i].mCameraID = -1; } for (int i = 0; i < ARRAY_SIZE(mpPlayerPtr); i++) {