Add camera attention status and algorythmn enums

This commit is contained in:
LagoLunatic
2026-05-12 23:20:55 -04:00
parent 10651a0c4e
commit e07ff45d80
22 changed files with 439 additions and 389 deletions
+1 -1
View File
@@ -1981,7 +1981,7 @@ public:
virtual fpc_ProcID getThrowBoomerangID() const { return mActorKeepThrow.getID(); }
virtual fpc_ProcID getGrabActorID() const { return mActorKeepGrab.getID(); }
virtual BOOL checkGrabBarrel() { return checkGrabBarrelSearch(1); }
virtual u32 checkPlayerNoDraw() { return dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 2) || checkNoResetFlg0(daPyFlg0_NO_DRAW); }
virtual u32 checkPlayerNoDraw() { return dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_SUBJECT_e) || checkNoResetFlg0(daPyFlg0_NO_DRAW); }
virtual BOOL checkRopeTag() { return mActorKeepEquip.getActor() == NULL; }
virtual BOOL checkRopeReadyAnime() const { return checkUpperAnime(LKANM_BCK_ROPETHROWWAIT); }
virtual void voiceStart(u32);
+23
View File
@@ -364,6 +364,29 @@ public:
/* 0x0E4 */ dCamBGChk_c mBGChk;
};
enum dCamAlgorythmn_e {
/* 0x00 */ dCamAlg_LET_CAMERA_e,
/* 0x01 */ dCamAlg_FOLLOW_CAMERA_e,
/* 0x02 */ dCamAlg_LOCKON_CAMERA_e,
/* 0x03 */ dCamAlg_TALKTO_CAMERA_e,
/* 0x04 */ dCamAlg_SUBJECT_CAMERA_e,
/* 0x05 */ dCamAlg_FIXED_POSITION_CAMERA_e,
/* 0x06 */ dCamAlg_FIXED_FRAME_CAMERA_e,
/* 0x07 */ dCamAlg_TOWER_CAMERA_e,
/* 0x08 */ dCamAlg_RIDE_CAMERA_e,
/* 0x09 */ dCamAlg_HUNG_CAMERA_e,
/* 0x0A */ dCamAlg_MANUAL_CAMERA_e,
/* 0x0B */ dCamAlg_EVENT_CAMERA_e,
/* 0x0C */ dCamAlg_CRAWL_CAMERA_e,
/* 0x0D */ dCamAlg_HOOKSHOT_CAMERA_e,
/* 0x0E */ dCamAlg_TORNADO_CAMERA_e,
/* 0x0F */ dCamAlg_VOMIT_CAMERA_e,
/* 0x10 */ dCamAlg_SHIELD_CAMERA_e,
/* 0x11 */ dCamAlg_NON_OWNER_CAMERA_e,
/* 0x12 */ dCamAlg_FOLLOW_CAMERA2_e,
/* 0x13 */ dCamAlg_DEMO_CAMERA_e,
};
class dCamParam_c {
public:
/* 0x0 */ const dCamera__Style* mpStyle;
+2 -9
View File
@@ -56,7 +56,6 @@ struct camSphChkdata {
field_0x4 = i_radius;
}
~camSphChkdata(){}
/* 0x00 */ cXyz* field_0x0;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ cXyz field_0x8;
@@ -64,10 +63,7 @@ struct camSphChkdata {
};
class dCamera_monitoring_things {
public:
dCamera_monitoring_things(){}
~dCamera_monitoring_things(){}
public:
/* 0x00 */ cXyz mPos;
/* 0x0C */ cXyz field_0x0C;
/* 0x18 */ int field_0x18;
@@ -75,10 +71,7 @@ class dCamera_monitoring_things {
};
class dCamera_DMC_system {
public:
dCamera_DMC_system(){}
~dCamera_DMC_system(){}
public:
/* 0x0 */ u8 field_0x0;
/* 0x1 */ u8 field_0x1;
/* 0x2 */ cSAngle field_0x2;
+19 -2
View File
@@ -46,7 +46,7 @@ enum daPy__PlayerStatus0 {
daPyStts0_UNK400_e = 0x00000400,
daPyStts0_UNK800_e = 0x00000800,
daPyStts0_BOW_AIM_e = 0x00001000,
daPyStts0_UNK2000_e = 0x00002000,
daPyStts0_SUBJECT_e = 0x00002000, // First person
daPyStts0_HOOKSHOT_AIM_e = 0x00004000,
daPyStts0_SWORD_SWING_e = 0x00008000,
daPyStts0_SHIP_RIDE_e = 0x00010000,
@@ -69,7 +69,7 @@ enum daPy__PlayerStatus0 {
// This is some combination of flags which is seemingly related to "judgement", used in dAttention_c
daPyStts0_UNK37a02371_e = daPyStts0_UNK1_e | daPyStts0_UNK10_e | daPyStts0_UNK20_e
| daPyStts0_UNK40_e | daPyStts0_UNK100_e | daPyStts0_UNK200_e
| daPyStts0_UNK2000_e| daPyStts0_TELESCOPE_LOOK_e
| daPyStts0_SUBJECT_e| daPyStts0_TELESCOPE_LOOK_e
| daPyStts0_UNK800000_e | daPyStts0_UNK1000000_e
| daPyStts0_UNK2000000_e | daPyStts0_UNK4000000_e
| daPyStts0_UNK10000000_e | daPyStts0_UNK20000000_e
@@ -98,6 +98,23 @@ enum daPy__PlayerStatus1 {
daPyStts1_UNK80000_e = 0x00080000,
};
enum dCamera__AttentionStatus {
dCamAttnStts_00000001_e = 0x00000001, // just locked on?
dCamAttnStts_SUBJECT_e = 0x00000002, // First person
dCamAttnStts_00000004_e = 0x00000004,
dCamAttnStts_TELESCOPE_LOOK_e = 0x00000008,
dCamAttnStts_00000010_e = 0x00000010,
dCamAttnStts_00000020_e = 0x00000020,
dCamAttnStts_PICTO_BOX_AIM_e = 0x00000040,
dCamAttnStts_00000080_e = 0x00000080,
dCamAttnStts_00000100_e = 0x00000100,
// dCamAttnStts_00000200_e = 0x00000200,
dCamAttnStts_00000400_e = 0x00000400, // manual camera control, as opposed to free camera control?
// dCamAttnStts_00000800_e = 0x00000800,
dCamAttnStts_00001000_e = 0x00001000, // just pressed c-stick up to enter first person?
dCamAttnStts_00002000_e = 0x00002000,
};
class __d_timer_info_c {
public:
__d_timer_info_c() {
+8 -2
View File
@@ -331,6 +331,12 @@ public:
virtual void draw();
};
enum {
dMapIconDisp_NONE_e = 0,
dMapIconDisp_FREE_e = 1,
dMapIconDisp_SELF_e = 2,
};
class dMap_c {
public:
static u8 getMapAlpha() { return mAlpha; }
@@ -349,11 +355,11 @@ public:
static void setMapDispPosLeftUpX(s16 x) { mDispPosLeftUpX = x; }
static s16 getMapDspPosLeftUpY() { return mDispPosLeftUpY; }
static void setMapDispPosLeftUpY(s16 y) { mDispPosLeftUpY = y; }
static s16 getMapDspSizeWidth() { return mDispSizeX; }
static s16 getMapDspSizeHeight() { return mDispSizeY; }
static void setIconFreeScale(f32 scale) { mIconFreeScale = scale; }
static void setIconSelfScale(f32 scale) { mIconSelfScale = scale; }
static void getMapDspSizeHeight() {}
static void getMapDspSizeWidth() {}
static void getNowRoom() {}
static void isMapDispTypeEnlargementSize() {}
static void isMapDispTypeRealSize() {}
+3 -3
View File
@@ -280,7 +280,7 @@ void daArrow_Lighteff_c::brk_play() {
mBtk.play();
int cam = dComIfGp_getPlayerCameraID(0);
if(!dComIfGp_checkCameraAttentionStatus(cam, 0x20)) {
if(!dComIfGp_checkCameraAttentionStatus(cam, dCamAttnStts_00000020_e)) {
if(field_0x2E0 < mBrk.getEndFrame()) {
field_0x2E0 += 1.0f;
if(field_0x2E0 > mBrk.getEndFrame()) {
@@ -372,13 +372,13 @@ bool daArrow_Lighteff_c::_execute() {
int cam = dComIfGp_getPlayerCameraID(0);
if(field_0x2E8 == 1) {
fopAcM_seStartCurrent(this, JA_SE_OBJ_FIRE_ARROW_AMB, 0);
if(!dComIfGp_checkCameraAttentionStatus(cam, 0x20)) {
if(!dComIfGp_checkCameraAttentionStatus(cam, dCamAttnStts_00000020_e)) {
dComIfGp_particle_setSimple(dPa_name::ID_AK_JP_O_KAGEROU00, &field_0x29C);
}
}
else if(field_0x2E8 == 2) {
fopAcM_seStartCurrent(this, JA_SE_OBJ_ICE_ARROW_AMB, 0);
if(dComIfGp_checkCameraAttentionStatus(cam, 0x20)) {
if(dComIfGp_checkCameraAttentionStatus(cam, dCamAttnStts_00000020_e)) {
if(field_0x2F4.getEmitter()) {
field_0x2F4.getEmitter()->setGlobalAlpha(0x64);
}
+1 -1
View File
@@ -842,7 +842,7 @@ static BOOL daKanban_Execute(kanban_class* i_this) {
{
if (i_this->actor.eventInfo.checkCommandTalk()) {
if (l_msgId == fpcM_ERROR_PROCESS_ID_e) {
if (dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), 4)) {
if (dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), dCamAttnStts_00000004_e)) {
l_msgId = fopMsgM_messageSet(fopAcM_GetParam(&i_this->actor), &i_this->actor.eyePos);
}
} else {
+2 -2
View File
@@ -2317,7 +2317,7 @@ BOOL daNpc_Ji1_c::reiAction(void*) {
field_0xC78++;
l_msgId = fpcM_ERROR_PROCESS_ID_e;
dComIfGp_onCameraAttentionStatus(0, 4);
dComIfGp_onCameraAttentionStatus(0, dCamAttnStts_00000004_e);
}
else if(field_0xC78 != -1) {
if(l_msgId == fpcM_ERROR_PROCESS_ID_e) {
@@ -2364,7 +2364,7 @@ BOOL daNpc_Ji1_c::reiAction(void*) {
setAnm(0, 16.0f, 0);
setAction(&daNpc_Ji1_c::normalAction, NULL);
dComIfGp_event_reset();
dComIfGp_offCameraAttentionStatus(0, 4);
dComIfGp_offCameraAttentionStatus(0, dCamAttnStts_00000004_e);
field_0xD74 = 0;
}
}
+1 -1
View File
@@ -219,7 +219,7 @@ namespace daObjPaper {
/* 000007A4-00000820 .text mode_talk0__Q210daObjPaper5Act_cFv */
void daObjPaper::Act_c::mode_talk0() {
if (mMsgId == fpcM_ERROR_PROCESS_ID_e && dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), 4)) {
if (mMsgId == fpcM_ERROR_PROCESS_ID_e && dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), dCamAttnStts_00000004_e)) {
mMsgId = fopMsgM_messageSet(prm_get_msgNo(), &eyePos);
mode_talk1_init();
+1 -1
View File
@@ -72,7 +72,7 @@ BOOL daPy_lk_c::returnBoomerang() {
/* 801497A4-8014984C .text checkNextActionBoomerangReady__9daPy_lk_cFv */
BOOL daPy_lk_c::checkNextActionBoomerangReady() {
if (!itemButton() && (mpAttnActorLockOn != NULL || dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x10))) {
if (!itemButton() && (mpAttnActorLockOn != NULL || dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000010_e))) {
setActAnimeUpper(
LKANM_BCK_BOOMTHROW,
UPPER_MOVE2_e,
+10 -10
View File
@@ -239,22 +239,22 @@ BOOL daPy_lk_c::checkCrawlSideWall(
/* 801392BC-80139424 .text setDoStatusCrawl__9daPy_lk_cFv */
void daPy_lk_c::setDoStatusCrawl() {
dComIfGp_setRStatus(dActStts_CROUCH_e);
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x80)) {
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000080_e)) {
dComIfGp_setAStatus(dActStts_RETURN_e);
if (checkSubjectEnd(1) || mWaterY > current.pos.y) {
dComIfGp_clearPlayerStatus0(0, daPyStts0_UNK2000_e);
if (checkSubjectEnd(TRUE) || mWaterY > current.pos.y) {
dComIfGp_clearPlayerStatus0(0, daPyStts0_SUBJECT_e);
} else {
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK2000_e);
dComIfGp_setPlayerStatus0(0, daPyStts0_SUBJECT_e);
}
} else if (dCam_getBody()->ChangeModeOK(4)) {
if (mWaterY <= current.pos.y) {
onResetFlg0(daPyRFlg0_SUBJECT_ACCEPT);
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000) && !dComIfGp_event_runCheck()) {
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00001000_e) && !dComIfGp_event_runCheck()) {
setSubjectMode();
}
}
}
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x80) &&
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000080_e) &&
(mCurProc != daPyProc_CRAWL_MOVE_e || mProcVar0.m3570 == 0))
{
setBodyAngleToCamera();
@@ -338,7 +338,7 @@ BOOL daPy_lk_c::procCrawlMove_init(s16 param_0, s16 param_1) {
var_r29 = 1;
}
BOOL var_r27;
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e)) {
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SUBJECT_e)) {
var_r27 = 1;
} else {
var_r27 = 0;
@@ -361,7 +361,7 @@ BOOL daPy_lk_c::procCrawlMove_init(s16 param_0, s16 param_1) {
m35E4 = 1.0f;
dComIfGp_setPlayerStatus0(0, daPyStts0_CRAWL_e);
if (var_r27 != 0) {
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK2000_e);
dComIfGp_setPlayerStatus0(0, daPyStts0_SUBJECT_e);
}
return true;
}
@@ -534,7 +534,7 @@ BOOL daPy_lk_c::procCrawlMove() {
/* 8013A004-8013A0F0 .text procCrawlAutoMove_init__9daPy_lk_cFiP4cXyz */
BOOL daPy_lk_c::procCrawlAutoMove_init(int param_0, cXyz* param_1) {
BOOL uVar1 = dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e) ? TRUE : FALSE;
BOOL uVar1 = dComIfGp_checkPlayerStatus0(0, daPyStts0_SUBJECT_e) ? TRUE : FALSE;
commonProcInit(daPyProc_CRAWL_AUTO_MOVE_e);
m370C = *param_1;
m35E4 = 1.0f;
@@ -549,7 +549,7 @@ BOOL daPy_lk_c::procCrawlAutoMove_init(int param_0, cXyz* param_1) {
mAcchCir[i].SetWallR(9.99f);
}
if (uVar1) {
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK2000_e);
dComIfGp_setPlayerStatus0(0, daPyStts0_SUBJECT_e);
}
return true;
}
+19 -14
View File
@@ -1697,7 +1697,7 @@ BOOL daPy_lk_c::draw() {
return TRUE;
}
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x20)) {
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000020_e)) {
offBodyEffect();
} else {
onBodyEffect();
@@ -1796,7 +1796,7 @@ BOOL daPy_lk_c::draw() {
mtl->getShape()->show();
}
}
} else if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x20)) {
} else if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000020_e)) {
for (int i = 0; i < ARRAY_SIZE(mpZOffBlendShape); i++) {
mpZOffBlendShape[i]->hide();
mpZOffNoneShape[i]->hide();
@@ -1905,7 +1905,7 @@ BOOL daPy_lk_c::draw() {
entryDLSetLight(mpHandsModel, checkFreezeState());
if (checkNoResetFlg1(daPyFlg1_CASUAL_CLOTHES) && !checkCaughtShapeHide()
#if VERSION > VERSION_DEMO
&& !dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x20)
&& !dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000020_e)
#endif
) {
entryDLSetLight(mpKatsuraModel, checkFreezeState());
@@ -1952,7 +1952,7 @@ BOOL daPy_lk_c::draw() {
}
mDoExt_modelUpdateDL(mpSuimenMunyaModel);
}
if (!r24 && !dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x20)) {
if (!r24 && !dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000020_e)) {
if (checkSwordEquip()
#if VERSION == VERSION_DEMO
&& !checkLastDemoSwordNoDraw(1)
@@ -2005,7 +2005,7 @@ BOOL daPy_lk_c::draw() {
updateDLSetLight(mpBottleCapModel, 0);
}
if (!dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x20)) {
if (!dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000020_e)) {
f32 frame = mYaura00rBrk.getBrkAnm()->getFrame();
if (frame > 0.0f) {
daPy_aura_c* auraEntry = &mMagicArmorAuraEntries[0];
@@ -2706,7 +2706,7 @@ BOOL daPy_lk_c::setBodyAngleToCamera() {
s16 local_16;
s16 local_18;
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x10) != 0) {
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000010_e) != 0) {
bVar1 = dCam_getBody()->CalcSubjectAngle(&local_16, &local_18);
if (bVar1 != 0) {
shape_angle.y = local_18;
@@ -4343,7 +4343,7 @@ BOOL daPy_lk_c::checkNextActionFromButton() {
#endif
) {
onResetFlg0(daPyRFlg0_SUBJECT_ACCEPT);
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000)) {
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00001000_e)) {
return procSubjectivity_init(0);
}
}
@@ -5706,7 +5706,7 @@ BOOL daPy_lk_c::checkScopeEnd() {
/* 80112100-8011215C .text setSubjectMode__9daPy_lk_cFv */
void daPy_lk_c::setSubjectMode() {
dComIfGp_setPlayerStatus0(0, daPyStts0_UNK2000_e);
dComIfGp_setPlayerStatus0(0, daPyStts0_SUBJECT_e);
seStartSystem(JA_SE_SUBJ_VIEW_IN);
}
@@ -5723,7 +5723,12 @@ BOOL daPy_lk_c::checkMaskDraw() {
/* 801121C8-80112280 .text checkSubjectEnd__9daPy_lk_cFi */
BOOL daPy_lk_c::checkSubjectEnd(BOOL i_playSound) {
// TODO: these trigger/button checks are likely inlines
if(dComIfGp_event_runCheck() || (mItemTrigger & (BTN_A | BTN_B)) || (mItemButton & BTN_L) || dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x2000)) {
if(
dComIfGp_event_runCheck() ||
(mItemTrigger & (BTN_A | BTN_B)) ||
(mItemButton & BTN_L) ||
dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00002000_e)
) {
if(i_playSound) {
seStartSystem(JA_SE_SUBJ_VIEW_OUT);
}
@@ -5960,7 +5965,7 @@ BOOL daPy_lk_c::procScope() {
if (checkScopeEnd()) {
procWait_init();
} else {
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x10)) {
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000010_e)) {
shape_angle.y = fopCamM_GetAngleY(dComIfGp_getCamera(mCameraInfoIdx));
current.angle.y = shape_angle.y;
}
@@ -6454,7 +6459,7 @@ BOOL daPy_lk_c::procCrouchDefense() {
dComIfGp_setRStatus(dActStts_DEFEND_e);
if (dCam_getBody()->ChangeModeOK(4) && current.pos.y >= mWaterY) {
onResetFlg0(daPyRFlg0_SUBJECT_ACCEPT);
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000) && !dComIfGp_event_runCheck()) {
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00001000_e) && !dComIfGp_event_runCheck()) {
return procSubjectivity_init(1);
}
}
@@ -6576,7 +6581,7 @@ BOOL daPy_lk_c::procCrouch() {
dComIfGp_setRStatus(dActStts_CROUCH_e);
if (dCam_getBody()->ChangeModeOK(4) && current.pos.y >= mWaterY) {
onResetFlg0(daPyRFlg0_SUBJECT_ACCEPT);
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000) && !dComIfGp_event_runCheck()) {
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00001000_e) && !dComIfGp_event_runCheck()) {
return procSubjectivity_init(1);
}
}
@@ -9722,7 +9727,7 @@ void daPy_lk_c::checkLightHit() {
}
resetCurse();
}
if (!dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e) &&
if (!dComIfGp_checkPlayerStatus0(0, daPyStts0_SUBJECT_e) &&
checkResetFlg0(daPyRFlg0_LIGHT_REFLECT))
{
if (m342C.getEmitter() == NULL) {
@@ -10279,7 +10284,7 @@ void daPy_lk_c::setAttentionPos() {
static const Vec offset = {0.0f, 30.0f, 20.0f};
mDoMtx_multVec(mpCLModel->getBaseTRMtx(), &offset, &attention_info.position);
}
} else if (dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e)) {
} else if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SUBJECT_e)) {
{
static const Vec offset = {0.0f, 70.0f, 0.0f};
mDoMtx_stack_c::ZXYrotS(mBodyAngle.x, shape_angle.y, 0);
+6 -6
View File
@@ -322,7 +322,7 @@ BOOL daPy_lk_c::changeShipEndProc() {
m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_FREEB) ||
m_anm_heap_under[UNDER_MOVE0_e].mIdx == LKANM_BCK_FREED)
{
if ((!dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e) && !spActionButton()) &&
if ((!dComIfGp_checkPlayerStatus0(0, daPyStts0_SUBJECT_e) && !spActionButton()) &&
(dComIfGp_getDoStatus() == dActStts_BLANK_e && mCurProc == daPyProc_SHIP_PADDLE_e))
{
if (!ship->checkForceMove()) {
@@ -649,14 +649,14 @@ BOOL daPy_lk_c::procShipPaddle() {
if (dComIfGp_getDoStatus() == dActStts_BLANK_e && dComIfGp_getShipActor()->speedF >= 3.0f) {
dComIfGp_setDoStatus(dActStts_STOP_e);
}
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e)) {
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SUBJECT_e)) {
dComIfGp_setAStatus(dActStts_RETURN_e);
if (checkSubjectEnd(1)) {
dComIfGp_clearPlayerStatus0(0, daPyStts0_UNK2000_e);
if (checkSubjectEnd(TRUE)) {
dComIfGp_clearPlayerStatus0(0, daPyStts0_SUBJECT_e);
}
} else {
onResetFlg0(daPyRFlg0_SUBJECT_ACCEPT);
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000) && !dComIfGp_event_runCheck()) {
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00001000_e) && !dComIfGp_event_runCheck()) {
setSubjectMode();
}
}
@@ -730,7 +730,7 @@ BOOL daPy_lk_c::procShipScope() {
}
if (checkScopeEnd()) {
procShipPaddle_init();
} else if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x10) && !dComIfGp_event_runCheck() &&
} else if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000010_e) && !dComIfGp_event_runCheck() &&
!checkPlayerDemoMode())
{
shape_angle.y = fopCamM_GetAngleY(dComIfGp_getCamera(mCameraInfoIdx));
+15 -7
View File
@@ -282,11 +282,19 @@ BOOL daShip_c::draw() {
m02A4->setTranslationX(m03D4);
}
if (!dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) || dComIfGp_getAttention().Lockon() || daPy_getPlayerLinkActorClass()->getBodyAngleX() > -0x1000) {
if (
!dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) ||
dComIfGp_getAttention().Lockon() ||
daPy_getPlayerLinkActorClass()->getBodyAngleX() > -0x1000
) {
mDoExt_modelEntryDL(model);
}
if (!dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) || daPy_getPlayerLinkActorClass()->checkNoControll() || !dComIfGp_checkCameraAttentionStatus(0, 0x22)) {
if (
!dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) ||
daPy_getPlayerLinkActorClass()->checkNoControll() ||
!dComIfGp_checkCameraAttentionStatus(0, dCamAttnStts_SUBJECT_e | dCamAttnStts_00000020_e)
) {
offStateFlg(daSFLG_HEAD_NO_DRAW_e);
mDoExt_modelEntryDL(model_00);
}
@@ -1394,7 +1402,7 @@ void daShip_c::setSelfMove(int param_1) {
cLib_addCalcAngleS(&m0366, sVar2, 4, l_HIO.tiller_speed, 0x100);
setMoveAngle(m0366);
if (!checkStateFlg(daSFLG_FLY_e)) {
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e) || dComIfGp_event_runCheck() || daPy_getPlayerLinkActorClass()->checkNoControll()) {
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SUBJECT_e) || dComIfGp_event_runCheck() || daPy_getPlayerLinkActorClass()->checkNoControll()) {
firstDecrementShipSpeed(0.0f);
}
else {
@@ -2493,7 +2501,7 @@ BOOL daShip_c::procTalk() {
firstDecrementShipSpeed(0.0f);
setMoveAngle(0);
if (m0430 == fpcM_ERROR_PROCESS_ID_e) {
if (dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), 4)) {
if (dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), dCamAttnStts_00000004_e)) {
m0430 = fopMsgM_messageSet(mNextMessageNo, &eyePos);
}
}
@@ -3484,7 +3492,7 @@ void daShip_c::setHeadAnm() {
}
}
else if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e)) {
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_BOW_AIM_e | daPyStts0_UNK2000_e | daPyStts0_HOOKSHOT_AIM_e | daPyStts0_BOOMERANG_AIM_e | daPyStts0_TELESCOPE_LOOK_e) ||
if (dComIfGp_checkPlayerStatus0(0, daPyStts0_BOW_AIM_e | daPyStts0_SUBJECT_e | daPyStts0_HOOKSHOT_AIM_e | daPyStts0_BOOMERANG_AIM_e | daPyStts0_TELESCOPE_LOOK_e) ||
dComIfGp_checkPlayerStatus1(0, daPyStts1_PICTO_BOX_AIM_e) ||
mCurMode == 9) {
newFileIndex = SHIP_BCK_KYAKKAN1;
@@ -3784,7 +3792,7 @@ BOOL daShip_c::execute() {
speedF = prev_speedF;
if (mTornadoActor) {
fVar4 = m0404 * 40.0f + 30.0f;
if (!dComIfGp_checkPlayerStatus0(0, daPyStts0_BOW_AIM_e) || !dComIfGp_checkCameraAttentionStatus(0, 0x20)) {
if (!dComIfGp_checkPlayerStatus0(0, daPyStts0_BOW_AIM_e) || !dComIfGp_checkCameraAttentionStatus(0, dCamAttnStts_00000020_e)) {
fVar4 *= 1.2f;
}
}
@@ -3819,7 +3827,7 @@ BOOL daShip_c::execute() {
}
else if (checkForceMove() && !dComIfGp_event_runCheck()) {
if (mTornadoActor) {
if (!dComIfGp_checkPlayerStatus0(0, daPyStts0_BOW_AIM_e) || !dComIfGp_checkCameraAttentionStatus(0, 0x20)) {
if (!dComIfGp_checkPlayerStatus0(0, daPyStts0_BOW_AIM_e) || !dComIfGp_checkCameraAttentionStatus(0, dCamAttnStts_00000020_e)) {
prev_speedF = 25.0f;
}
else {
+1 -1
View File
@@ -132,7 +132,7 @@ static BOOL daTag_Msg_actionEvent(daTag_Msg_c* a_this) {
int message = a_this->getMessage();
switch (msg_mode / 1) {
case 0:
if (dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), 4)) {
if (dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), dCamAttnStts_00000004_e)) {
msg_mode++;
}
break;
+2 -2
View File
@@ -892,9 +892,9 @@ bool dAttention_c::Run(u32 interactMask) {
runDrawProc();
runDebugDisp();
if (mLockOnState == LockState_LOCK) {
dComIfGp_onCameraAttentionStatus(mPadNo, 1);
dComIfGp_onCameraAttentionStatus(mPadNo, dCamAttnStts_00000001_e);
} else {
dComIfGp_offCameraAttentionStatus(mPadNo, 1);
dComIfGp_offCameraAttentionStatus(mPadNo, dCamAttnStts_00000001_e);
}
mHint.proc();
+147 -147
View File
File diff suppressed because it is too large Load Diff
+125 -120
View File
@@ -756,7 +756,7 @@ bool dCamera_c::Run() {
Att();
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, 0x3400);
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000400_e | dCamAttnStts_00001000_e | dCamAttnStts_00002000_e);
if (!dComIfGp_evmng_cameraPlay() && !chkFlag(0x20000000)) {
updatePad();
@@ -814,7 +814,7 @@ bool dCamera_c::Run() {
clrFlag(0x80000000);
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, 0x80);
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000080_e);
if (mCamParam.CheckFlag(dCamPrmFlg_UNK004) && !check_owner_action(mPadId, daPyStts0_UNK4000000_e) && !check_owner_action1(mPadId, daPyStts1_UNK40000_e)) {
m148 += (forwardCheckAngle() - m148) * mCamSetup.mBGChk.FwdCushion();
@@ -828,12 +828,12 @@ bool dCamera_c::Run() {
mTrimTypeForce = -1;
m068 = 9;
if (chkFlag(0x200000) && mCamParam.Algorythmn(mCurStyle) != 11) {
if (chkFlag(0x200000) && mCamParam.Algorythmn(mCurStyle) != dCamAlg_EVENT_CAMERA_e) {
if (push_any_key(mPadId) || mMonitor.field_0x0C.x > 10.0f || !m360 || m31C) {
clrFlag(0x200000);
}
}
else if (dComIfGp_demo_getCamera() && mCamParam.Algorythmn() != 11) {
else if (dComIfGp_demo_getCamera() && mCamParam.Algorythmn() != dCamAlg_EVENT_CAMERA_e) {
res = demoCamera(0);
}
else {
@@ -875,7 +875,7 @@ bool dCamera_c::Run() {
mCenter.x = mViewCache.mCenter.x;
mCenter.z = mViewCache.mCenter.z;
if ((mCamParam.Algorythmn(mCurStyle) == 4) && chkFlag(0x10000800)) {
if ((mCamParam.Algorythmn(mCurStyle) == dCamAlg_SUBJECT_CAMERA_e) && chkFlag(0x10000800)) {
m068 &= ~8;
mCenter.y = mViewCache.mCenter.y;
}
@@ -935,22 +935,22 @@ bool dCamera_c::Run() {
}
if (r3) {
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 0x10);
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000010_e);
}
else {
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, 0x10);
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000010_e);
}
if (chkFlag(0x40000)) {
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 2);
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_SUBJECT_e);
}
else if (mDirection.R() < mCamSetup.m048) {
if (chkFlag(0x800)) {
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 2);
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_SUBJECT_e);
}
if (chkFlag(0x10000000)) {
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 0x20);
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000020_e);
}
}
@@ -963,7 +963,7 @@ bool dCamera_c::NotRun() {
checkGroundInfo();
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, 0x80);
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000080_e);
if (dComIfGp_evmng_cameraPlay() || chkFlag(0x20000000)) {
if (mCurType != mCamTypeEvent) {
@@ -983,10 +983,10 @@ bool dCamera_c::NotRun() {
}
if (dComIfGp_event_runCheck()) {
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, 0x48);
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_TELESCOPE_LOOK_e | dCamAttnStts_PICTO_BOX_AIM_e);
}
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 0x14);
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000004_e | dCamAttnStts_00000010_e);
clrFlag(0x90080);
@@ -996,7 +996,7 @@ bool dCamera_c::NotRun() {
mPause = 0;
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 8)) {
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_TELESCOPE_LOOK_e)) {
if (chkFlag(0x400000)) {
setView(160.0f, 35.0f, 320.0f, 320.0f);
}
@@ -1077,35 +1077,32 @@ int dCamera_c::nextMode(s32 i_curMode) {
m144 = 1;
m184 = 0;
}
else {
if (mStickCPosYLast <= 0.0f && mStickCValueLast > mCamSetup.m09C) {
m144 = 0;
}
else {
if (i_curMode == 0 || i_curMode == 0x13) {
positionOf(mpPlayerActor);
if (
!(
mStickMainValueLast >= 0.5f ||
attn.LockonTruth() ||
check_owner_action(mPadId, daPyStts0_SWIM_e)
)
) {
if (m184 == 1) {
if (mStickCPosYLast < mCamSetup.mCstick.m00) {
m184 = 0;
}
}
else if (mStickCPosYLast > mCamSetup.mCstick.m04) {
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 0x1000);
m184 = 1;
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 0x400);
}
else {
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 0x400);
}
else if (mStickCPosYLast <= 0.0f && mStickCValueLast > mCamSetup.m09C) {
m144 = 0;
}
else if (i_curMode == 0 || i_curMode == 0x13) {
positionOf(mpPlayerActor);
if (
!(
mStickMainValueLast >= 0.5f ||
attn.LockonTruth() ||
check_owner_action(mPadId, daPyStts0_SWIM_e)
)
) {
if (m184 == 1) {
if (mStickCPosYLast < mCamSetup.mCstick.m00) {
m184 = 0;
}
}
else if (mStickCPosYLast > mCamSetup.mCstick.m04) {
// C-stick up.
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00001000_e);
m184 = 1;
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000400_e);
}
else {
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000400_e);
}
}
}
break;
@@ -1159,7 +1156,7 @@ int dCamera_c::nextMode(s32 i_curMode) {
else if (check_owner_action1(mPadId, daPyStts1_UNK10_e)) {
next_mode = 0xf;
}
else if (check_owner_action(mPadId, daPyStts0_UNK2000_e)) {
else if (check_owner_action(mPadId, daPyStts0_SUBJECT_e)) {
next_mode = 4;
}
else if (check_owner_action(mPadId, daPyStts0_ROPE_AIM_e | daPyStts0_HOOKSHOT_AIM_e | daPyStts0_BOW_AIM_e) && !attn.Lockon()) {
@@ -1272,7 +1269,7 @@ bool dCamera_c::onModeChange(s32 i_curMode, s32 i_nextMode) {
switch (i_curMode) {
case 3:
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, 4);
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000004_e);
break;
case 4:
case 10:
@@ -1426,11 +1423,11 @@ bool dCamera_c::onTypeChange(s32 i_curType, s32 i_nextType) {
s32 style = types[i_nextType].mStyles[0];
if (style >= 0) {
switch (mCamParam.Algorythmn(style)) {
case 5:
case 6:
case 11:
case 12:
case 13:
case dCamAlg_FIXED_POSITION_CAMERA_e:
case dCamAlg_FIXED_FRAME_CAMERA_e:
case dCamAlg_EVENT_CAMERA_e:
case dCamAlg_CRAWL_CAMERA_e:
case dCamAlg_HOOKSHOT_CAMERA_e:
mode = 0;
m144 = 1;
break;
@@ -1466,40 +1463,51 @@ bool dCamera_c::SetTypeForce(s32 param_0, fopAc_ac_c* param_1) {
bool dCamera_c::onStyleChange(s32 i_style1, s32 i_style2) {
m11C = 0;
#if VERSION > VERSION_JPN
bool bVar1 = false;
#endif
switch (mCamParam.Algorythmn(i_style1)) {
case 5:
case 6:
case dCamAlg_FIXED_POSITION_CAMERA_e:
case dCamAlg_FIXED_FRAME_CAMERA_e:
if (mDMCSystem.field_0x0 == 0) {
setDMCAngle();
}
#if VERSION > VERSION_JPN
bVar1 = true;
#endif
break;
case 4:
case dCamAlg_SUBJECT_CAMERA_e:
dComIfGp_setCameraZoomScale(mCameraInfoIdx, 1.0f);
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, 0x48);
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_TELESCOPE_LOOK_e | dCamAttnStts_PICTO_BOX_AIM_e);
break;
}
switch(mCamParam.Algorythmn(i_style2)) {
case 1:
case 8:
case dCamAlg_FOLLOW_CAMERA_e:
case dCamAlg_RIDE_CAMERA_e:
if (mCamParam.Algorythmn(i_style1) == mCamParam.Algorythmn(i_style2)) {
setFlag(0x8000);
}
break;
case 5:
case 6:
if (mDMCSystem.field_0x0 == 0 || bVar1) {
case dCamAlg_FIXED_POSITION_CAMERA_e:
case dCamAlg_FIXED_FRAME_CAMERA_e:
if (
mDMCSystem.field_0x0 == 0
#if VERSION > VERSION_JPN
|| bVar1
#endif
) {
setDMCAngle();
}
case 4:
case 12:
case 13:
// Fall-through
case dCamAlg_SUBJECT_CAMERA_e:
case dCamAlg_CRAWL_CAMERA_e:
case dCamAlg_HOOKSHOT_CAMERA_e:
if (m144 == 0) {
m144 = 1;
}
break;
}
return TRUE;
@@ -2321,7 +2329,7 @@ bool dCamera_c::bumpCheck(u32 i_flags) {
int engine_idx = mCamParam.Algorythmn();
if ((engine_idx == 1) || (engine_idx == 10)) {
if (engine_idx == dCamAlg_FOLLOW_CAMERA_e || engine_idx == dCamAlg_MANUAL_CAMERA_e) {
cXyz attn_pos = attentionPos(mpPlayerActor);
cSGlobe globe(mEye - attn_pos);
@@ -3841,7 +3849,7 @@ bool dCamera_c::CalcSubjectAngle(s16* param_1, s16* param_2) {
else {
dVar11 = dCamMath::rationalBezierRatio(f1, mCamSetup.CurveWeight());
dVar12 = dCamMath::rationalBezierRatio(fVar5, mCamSetup.CurveWeight());
if (check_owner_action(mPadId, daPyStts0_UNK2000_e)) {
if (check_owner_action(mPadId, daPyStts0_SUBJECT_e)) {
mWork.subject.m384 = -dVar11 * fVar3;
mWork.subject.m388 += dVar12 * fVar3;
}
@@ -3923,7 +3931,7 @@ bool dCamera_c::subjectCamera(s32 param_1) {
if (dComIfGp_getMiniGameType() == 3) {
mWork.subject.m3C0 = 2;
} else if (dComIfGp_checkPlayerStatus0(mPadId, daPyStts0_UNK2000_e) == 0 && (mCamParam.Flag(param_1, 0x10) == 0)) {
} else if (dComIfGp_checkPlayerStatus0(mPadId, daPyStts0_SUBJECT_e) == 0 && (mCamParam.Flag(param_1, dCamPrmFlg_UNK010) == 0)) {
mWork.subject.m3C0 = 1;
}
@@ -3947,15 +3955,15 @@ bool dCamera_c::subjectCamera(s32 param_1) {
camRel.set(p1, p5, p0);
if (mCamParam.Flag(param_1, 0x80)) {
if (mCamParam.Flag(param_1, dCamPrmFlg_UNK080)) {
setFlag(0x800);
}
if (mCamParam.Flag(param_1, 0x100)) {
if (mCamParam.Flag(param_1, dCamPrmFlg_UNK100)) {
setFlag(0x10000000);
}
if (!m100) {
if (check_owner_action(mPadId, daPyStts0_UNK2000_e)) {
if (check_owner_action(mPadId, daPyStts0_SUBJECT_e)) {
end = 7;
}
else {
@@ -3997,15 +4005,15 @@ bool dCamera_c::subjectCamera(s32 param_1) {
mViewCache.mEye = mViewCache.mCenter + mViewCache.mDirection.Xyz();
if (!mCamParam.CheckFlag(0x10)) {
if (!mCamParam.CheckFlag(dCamPrmFlg_UNK010)) {
mViewCache.mFovy += t * (p25 - mViewCache.mFovy);
} else {
if (m108 >= (u32)(end - 6)) {
if (check_owner_action(mPadId, daPyStts0_TELESCOPE_LOOK_e)) {
setComStat(8);
setComStat(dCamAttnStts_TELESCOPE_LOOK_e);
}
if (check_owner_action1(mPadId, daPyStts1_PICTO_BOX_AIM_e)) {
setComStat(0x40);
setComStat(dCamAttnStts_PICTO_BOX_AIM_e);
}
setComZoomScale(1.0f);
@@ -4026,10 +4034,10 @@ bool dCamera_c::subjectCamera(s32 param_1) {
} else {
if (m108 < (u32)(end - 7)) {
if (check_owner_action(mPadId, daPyStts0_TELESCOPE_LOOK_e)) {
setComStat(8);
setComStat(dCamAttnStts_TELESCOPE_LOOK_e);
}
if (check_owner_action1(mPadId, daPyStts1_PICTO_BOX_AIM_e)) {
setComStat(0x40);
setComStat(dCamAttnStts_PICTO_BOX_AIM_e);
}
setComZoomScale(1.0f);
@@ -4060,7 +4068,7 @@ bool dCamera_c::subjectCamera(s32 param_1) {
}
if (check_owner_action(mPadId, daPyStts0_CRAWL_e)) {
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 0x80);
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000080_e);
}
if (dComIfGs_getTime() || check_owner_action1(mPadId, daPyStts1_PICTO_BOX_AIM_e)) {
@@ -4131,47 +4139,45 @@ bool dCamera_c::subjectCamera(s32 param_1) {
mWork.subject.m384 = dy.Degree() / p24;
mWork.subject.m388 = ax.Degree() / p19;
mWork.subject.m3A8 = 0;
mWork.subject.m37C = 0;
} else if (!mWork.subject.m3BC || ((mEventFlags & 0x2000000) == 0)) {
cSGlobe g;
g.Val(mExtendedPos - mViewCache.mCenter);
mViewCache.mDirection.R(mViewCache.mDirection.R() + (p10 - mViewCache.mDirection.R()) * 0.05f);
g.R(p10);
mViewCache.mDirection.U(mViewCache.mDirection.U() + (g.U() - mViewCache.mDirection.U()) * 0.05f);
mViewCache.mDirection.V(mViewCache.mDirection.V() + (g.V() - mViewCache.mDirection.V()) * 0.05f);
cSAngle dy;
cSAngle ax;
dy = mViewCache.mDirection.V() - baseYaw;
ax = mViewCache.mDirection.U();
mWork.subject.m384 = dy.Degree() / p24;
mWork.subject.m388 = ax.Degree() / p19;
mWork.subject.m3A8 = 0;
mWork.subject.m37C = 0;
} else {
if (!mWork.subject.m3BC || ((mEventFlags & 0x2000000) == 0)) {
cSGlobe g;
g.Val(mExtendedPos - mViewCache.mCenter);
cSGlobe g;
g.Val(p10, angX, baseYaw + angY);
mViewCache.mDirection.R(mViewCache.mDirection.R() + (p10 - mViewCache.mDirection.R()) * 0.05f);
g.R(p10);
mViewCache.mDirection.R(mViewCache.mDirection.R() + (g.R() - mViewCache.mDirection.R()) * p20);
mViewCache.mDirection.U(mViewCache.mDirection.U() + (g.U() - mViewCache.mDirection.U()) * p20);
mViewCache.mDirection.V(mViewCache.mDirection.V() + (g.V() - mViewCache.mDirection.V()) * p20);
mViewCache.mDirection.U(mViewCache.mDirection.U() + (g.U() - mViewCache.mDirection.U()) * 0.05f);
mViewCache.mDirection.V(mViewCache.mDirection.V() + (g.V() - mViewCache.mDirection.V()) * 0.05f);
cSAngle dy;
cSAngle ax;
dy = mViewCache.mDirection.V() - baseYaw;
ax = mViewCache.mDirection.U();
mWork.subject.m384 = dy.Degree() / p24;
mWork.subject.m388 = ax.Degree() / p19;
mWork.subject.m3A8 = 0;
mWork.subject.m37C = 0;
} else {
cSGlobe g;
g.Val(p10, angX, baseYaw + angY);
mViewCache.mDirection.R(mViewCache.mDirection.R() + (g.R() - mViewCache.mDirection.R()) * p20);
mViewCache.mDirection.U(mViewCache.mDirection.U() + (g.U() - mViewCache.mDirection.U()) * p20);
mViewCache.mDirection.V(mViewCache.mDirection.V() + (g.V() - mViewCache.mDirection.V()) * p20);
if (mWork.subject.m3A8 < 10) {
mWork.subject.m3A8++;
}
mWork.subject.m37C = 1;
if (mWork.subject.m3A8 < 10) {
mWork.subject.m3A8++;
}
mWork.subject.m37C = 1;
}
mViewCache.mEye = mViewCache.mCenter + mViewCache.mDirection.Xyz();
if (mCamParam.CheckFlag(0x10)) {
if (mCamParam.CheckFlag(dCamPrmFlg_UNK010)) {
// zoom control block
f32 a = 0.0f;
f32 stick = mStickCPosYLast;
@@ -4201,10 +4207,10 @@ bool dCamera_c::subjectCamera(s32 param_1) {
dComIfGp_setCameraZoomScale(mCameraInfoIdx, scale);
if (check_owner_action(mPadId, daPyStts0_TELESCOPE_LOOK_e)) {
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 8);
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_TELESCOPE_LOOK_e);
}
if (check_owner_action1(mPadId, daPyStts1_PICTO_BOX_AIM_e)) {
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 0x40);
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_PICTO_BOX_AIM_e);
}
const f32 focus = 1.0f - (std::fabsf(a - b) * 511.0f);
@@ -4217,14 +4223,14 @@ bool dCamera_c::subjectCamera(s32 param_1) {
mWork.subject.m37D = 1;
// C-stick down behavior block
if (check_owner_action(mPadId, daPyStts0_UNK2000_e)) {
// "C-stick down" behavior block
if (check_owner_action(mPadId, daPyStts0_SUBJECT_e)) {
if (mWork.subject.m3C4 == 2 && mStickCPosYLast >= -0.001f) {
mWork.subject.m3C4 = 0;
}
else if (mWork.subject.m3C4 == 1 && mStickCPosYLast < -0.74f) {
mWork.subject.m3C4 = 2;
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 0x2000);
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00002000_e);
}
else if (mStickCPosYLast < -0.001f) {
mWork.subject.m3C4 = 1;
@@ -4260,7 +4266,7 @@ bool dCamera_c::crawlCamera(s32 param_1) {
if (m108 == 0) {
mWork.crawl.m378 = 'CRWL';
mWork.crawl.m398 = mCamParam.Flag(param_1, 0x80) ? 1 : 0;
mWork.crawl.m398 = mCamParam.Flag(param_1, dCamPrmFlg_UNK080) ? 1 : 0;
mWork.crawl.m399 = 0;
mWork.crawl.m37C = 10;
@@ -4272,7 +4278,7 @@ bool dCamera_c::crawlCamera(s32 param_1) {
mWork.crawl.m39C = 0x5;
mWork.crawl.m380 = mWork.crawl.m37C * (mWork.crawl.m37C + 1) >> 1;
if (mCamParam.Flag(param_1, 0x40) == 0) {
if (mCamParam.Flag(param_1, dCamPrmFlg_UNK040) == 0) {
mWork.crawl.m388 = 1;
}
else if (local_118 > cSAngle::_270 && local_118 < cSAngle::_90) {
@@ -4282,7 +4288,7 @@ bool dCamera_c::crawlCamera(s32 param_1) {
mWork.crawl.m388 = 1;
}
}
else if (mCamParam.Flag(param_1, 0x40) == 0) {
else if (mCamParam.Flag(param_1, dCamPrmFlg_UNK040) == 0) {
mWork.crawl.m388 = 1;
}
else if (local_118 > cSAngle(-75.0f) && local_118 < cSAngle(75.0f)) {
@@ -4294,10 +4300,10 @@ bool dCamera_c::crawlCamera(s32 param_1) {
}
if (m1AE) {
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 0x80);
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000080_e);
}
if (mCamParam.Flag(param_1, 0x40) && mCurArrowIdx != 0xff && mCurRoomCamEntry.field_0x12 != 0xff) {
if (mCamParam.Flag(param_1, dCamPrmFlg_UNK040) && mCurArrowIdx != 0xff && mCurRoomCamEntry.field_0x12 != 0xff) {
local_118 = mViewCache.mDirection.U() - mCurRoomArrowEntry.angle.y;
if (local_118 > cSAngle::_270 && local_118 < cSAngle::_90) {
mWork.crawl.m38C = mCurRoomArrowEntry.position;
@@ -4318,7 +4324,7 @@ bool dCamera_c::crawlCamera(s32 param_1) {
sp128 = relationalPos(mpPlayerActor, &sp134);
mViewCache.mCenter += (sp128 - mViewCache.mCenter) * f28;
if (mCamParam.Flag(param_1, 0x80)) {
if (mCamParam.Flag(param_1, dCamPrmFlg_UNK080)) {
f30 = 2.0f;
}
@@ -4606,7 +4612,7 @@ bool dCamera_c::fixedPositionCamera(s32 param_1) {
mWork.fixedPos.m39C = 0;
if (mCamParam.Flag(param_1, 0x40) && mCurArrowIdx != 0xff) {
if (mCamParam.Flag(param_1, dCamPrmFlg_UNK040) && mCurArrowIdx != 0xff) {
local_d0 = mCurRoomArrowEntry.position;
if (mWork.fixedPos.m390 != local_d0) {
@@ -4916,13 +4922,12 @@ bool dCamera_c::eventCamera(s32) {
bVar5 = true;
}
if (bVar5) {
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, 4);
dComIfGp_onCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000004_e);
}
else {
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, 4);
dComIfGp_offCameraAttentionStatus(mCameraInfoIdx, dCamAttnStts_00000004_e);
}
//Runtime.PPCEABI.H::__ptmf_scall(&local_170 + (int)((ulonglong)lVar12 >> 0x20),this,pvVar8);
if ((this->*l_func[lVar12])()) {
dComIfGp_evmng_cutEnd(mEventData.mStaffIdx);
}
@@ -5387,7 +5392,7 @@ void preparation(camera_process_class* i_this) {
camera->SetWindow(viewport->mWidth, viewport->mHeight);
fopCamM_SetAspect(a_this, aspect);
dComIfGp_offCameraAttentionStatus(camera_id, 0x23);
dComIfGp_offCameraAttentionStatus(camera_id, dCamAttnStts_00000001_e | dCamAttnStts_SUBJECT_e | dCamAttnStts_00000020_e);
}
/* 8017BEB0-8017BFAC .text view_setup__FP20camera_process_class */
@@ -5474,7 +5479,7 @@ void store(camera_process_class* i_this) {
fopCamM_SetBank(a_this, bank);
fopCamM_SetFovy(a_this, fovy);
if (dComIfGp_checkCameraAttentionStatus(camera_id, 8)) {
if (dComIfGp_checkCameraAttentionStatus(camera_id, dCamAttnStts_TELESCOPE_LOOK_e)) {
fopCamM_SetNear(a_this, 30.0f);
}
else {
+3 -3
View File
@@ -905,7 +905,7 @@ void dMap_c::create() {
mTboxNum = 0;
mAGBMapSendStatus = 0;
mSetCursorFlg = 0;
mIconDispMode = 0;
mIconDispMode = dMapIconDisp_NONE_e;
mIconFreeAlpha = 0;
mIconSelfAlpha = 0;
mAGBMapSendStopFlg = 0;
@@ -1597,9 +1597,9 @@ void dMap_c::mapDrawAll(f32 param_1, f32 param_2, int param_3, f32 param_4) {
/* 8004A760-8004A7B4 .text mapDrawIcon__6dMap_cFv */
void dMap_c::mapDrawIcon() {
if (mIconDispMode == 2) {
if (mIconDispMode == dMapIconDisp_SELF_e) {
mapDrawIconSelf(mIconFreePosX, mIconFreePosY, mIconSelfAlpha);
} else if (mIconDispMode == 1) {
} else if (mIconDispMode == dMapIconDisp_FREE_e) {
mapDrawIconFree(mIconFreePosX, mIconFreePosY, mIconFreeAlpha);
}
}
+12 -16
View File
@@ -737,19 +737,15 @@ void dMs_childHeap_freeAll(sub_ms_screen_class* i_Ms) {
void dMs_telescopeMove(sub_ms_screen_class* i_Ms) {
if (dComIfGp_isHeapLockFlag() == 0) {
dComIfGp_event_photoCheck();
if (dComIfGp_checkCameraAttentionStatus(0, 8)) {
if (dComIfGp_checkCameraAttentionStatus(0, dCamAttnStts_TELESCOPE_LOOK_e)) {
i_Ms->field_0x1B0 = 99;
} else {
if (dComIfGp_checkCameraAttentionStatus(0, 0x40)) {
i_Ms->field_0x1B0 = 89;
} else {
if (dComIfGp_getScopeType() == 2) {
i_Ms->field_0x1B0 = 98;
} else if (dComIfGp_getPictureStatus() == 2 || dComIfGp_getPictureStatus() == 3) {
i_Ms->field_0x1B0 = 89;
dMenu_flagSet(1);
}
}
} else if (dComIfGp_checkCameraAttentionStatus(0, dCamAttnStts_PICTO_BOX_AIM_e)) {
i_Ms->field_0x1B0 = 89;
} else if (dComIfGp_getScopeType() == 2) {
i_Ms->field_0x1B0 = 98;
} else if (dComIfGp_getPictureStatus() == 2 || dComIfGp_getPictureStatus() == 3) {
i_Ms->field_0x1B0 = 89;
dMenu_flagSet(1);
}
if (i_Ms->field_0x1B0 == 99 || i_Ms->field_0x1B0 == 89 || i_Ms->field_0x1B0 == 98) {
@@ -936,13 +932,13 @@ static BOOL dMs_Execute(sub_ms_screen_class* i_Ms) {
} else if (dMenu_flag() == 0 && !fopOvlpM_IsDoingReq() && !(CPad_CHECK_TRIG_A(0) || CPad_CHECK_TRIG_B(0) || CPad_CHECK_TRIG_Z(0))) {
if (event_wait_frame == 0 || daPy_getPlayerLinkActorClass()->getTactNormalWait() && CPad_CHECK_TRIG_START(0) ||
dComIfGp_getOperateWind() == 2 && CPad_CHECK_TRIG_UP(0) && dStage_stagInfo_GetUpButton(dComIfGp_getStageStagInfo()) == 0 &&
dComIfGs_isEventBit(dSv_event_flag_c::UNK_0908))
if (event_wait_frame == 0 || (daPy_getPlayerLinkActorClass()->getTactNormalWait() && CPad_CHECK_TRIG_START(0)) ||
(dComIfGp_getOperateWind() == 2 && CPad_CHECK_TRIG_UP(0) && dStage_stagInfo_GetUpButton(dComIfGp_getStageStagInfo()) == 0 &&
dComIfGs_isEventBit(dSv_event_flag_c::UNK_0908)))
{
if (dComIfGp_getMesgStatus() == 0 && dComIfGp_getScopeMesgStatus() == 0) {
if (!dComIfGp_checkCameraAttentionStatus(0, 8) && !dComIfGp_checkCameraAttentionStatus(0, 0x40) &&
if (!dComIfGp_checkCameraAttentionStatus(0, dCamAttnStts_TELESCOPE_LOOK_e) && !dComIfGp_checkCameraAttentionStatus(0, dCamAttnStts_PICTO_BOX_AIM_e) &&
!dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK800000_e))
{
+36 -39
View File
@@ -787,18 +787,18 @@ void dMeter_statusCheck(sub_meter_class* i_Meter) {
dComIfGp_setAStatus(dActStts_BLANK_e);
}
} else if (
dComIfGp_checkPlayerStatus0(0, daPyStts0_UNK2000_e) ||
dComIfGp_checkPlayerStatus0(0, daPyStts0_SUBJECT_e) ||
// @bug Out of bounds array read.
// It seems like the developers probably intended to have a check like this:
// dComIfGp_checkCameraAttentionStatus(0, 0x100)
// dComIfGp_checkCameraAttentionStatus(0, dCamAttnStts_00000100_e)
// Which would have checked if bit 0x100 of camera 0's attention statuses is set.
// But made a mistake and instead typed:
// dComIfGp_getCameraAttentionStatus(0x100)
// dComIfGp_getCameraAttentionStatus(dCamAttnStts_00000100_e)
// Which checks if any of camera 0x100's attention statuses are set.
// As there is only a single camera, this mistake causes an OoB read 256 elements past the end of the array.
// This winds up reading one of the matrix floats of a shadow as an integer, equivalent to the following check:
// *(u32*)&g_dComIfG_gameInfo.drawlist.mShadowControl.mSimple[117].mVolumeMtx[1][2] != 0
(dComIfGp_getCameraAttentionStatus(0x100) && dComIfGp_checkPlayerStatus0(0, daPyStts0_CRAWL_e))
(dComIfGp_getCameraAttentionStatus(dCamAttnStts_00000100_e) && dComIfGp_checkPlayerStatus0(0, daPyStts0_CRAWL_e))
) {
i_Meter->mStatusFlags |= dMtrStts_UNK100000_e;
}
@@ -4344,7 +4344,6 @@ void dMeter_menuLRMove(sub_meter_class* i_Meter) {
/* 801FA918-801FBB28 .text dMeter_menuPlusMove__FP15sub_meter_class */
void dMeter_menuPlusMove(sub_meter_class* i_Meter) {
/* Nonmatching */
f32 fVar1;
int iVar3;
f32 x;
@@ -4549,12 +4548,12 @@ void dMeter_menuPlusMove(sub_meter_class* i_Meter) {
switch (moveStatus) {
case 2:
case 3:
case 6:
case 7:
x = g_meterHIO.field_0x9c;
y = g_meterHIO.field_0x9e;
break;
case 4:
case 6:
case 7:
x = g_meterHIO.field_0x9c + 0x52;
y = g_meterHIO.field_0x9e;
break;
@@ -4580,16 +4579,16 @@ void dMeter_menuPlusMove(sub_meter_class* i_Meter) {
((i_Meter->field_0x1948.mPosCenter.x + i_Meter->field_0x16e0.mSize.x / 2.0f) - i_Meter->field_0x0100[2].mPosCenterOrig.x);
local_98_y[2] = i_Meter->field_0x1948.mPosCenter.y - i_Meter->field_0x0100[2].mPosCenterOrig.y;
} else {
s16 tmp3 = dMap_c::mDispSizeX;
s16 tmp2 = dMap_getMapDispPosLeftUpX();
local_98_x[2] = (tmp2 + tmp3 / 2.0f) - i_Meter->field_0x0100[1].mPosCenterOrig.x;
local_98_x[1] = (tmp2 + tmp3 / 2.0f) - i_Meter->field_0x0100[1].mPosCenterOrig.x;
local_98_x[0] = (tmp2 + tmp3 / 2.0f) - i_Meter->field_0x0100[1].mPosCenterOrig.x;
tmp3 = dMap_c::mDispSizeY;
tmp2 = dMap_getMapDispPosLeftUpY();
local_98_y[2] = (tmp2 + tmp3 / 2.0f) - i_Meter->field_0x0100[0].mPosCenterOrig.y;
local_98_y[1] = (tmp2 + tmp3 / 2.0f) - i_Meter->field_0x0100[0].mPosCenterOrig.y;
local_98_y[0] = (tmp2 + tmp3 / 2.0f) - i_Meter->field_0x0100[0].mPosCenterOrig.y;
s16 width = dMap_c::getMapDspSizeWidth();
s16 left = dMap_getMapDispPosLeftUpX();
local_98_x[2] = (left + width / 2.0f) - i_Meter->field_0x0100[1].mPosCenterOrig.x;
local_98_x[1] = (left + width / 2.0f) - i_Meter->field_0x0100[1].mPosCenterOrig.x;
local_98_x[0] = (left + width / 2.0f) - i_Meter->field_0x0100[1].mPosCenterOrig.x;
s16 height = dMap_c::getMapDspSizeHeight();
s16 top = dMap_getMapDispPosLeftUpY();
local_98_y[2] = (top + height / 2.0f) - i_Meter->field_0x0100[0].mPosCenterOrig.y;
local_98_y[1] = (top + height / 2.0f) - i_Meter->field_0x0100[0].mPosCenterOrig.y;
local_98_y[0] = (top + height / 2.0f) - i_Meter->field_0x0100[0].mPosCenterOrig.y;
}
dVar13 = dMap_getMapDispPosLeftUpX() - 0x19;
dVar12 = dMap_getMapDispPosLeftUpY() - 0x152;
@@ -4605,7 +4604,7 @@ void dMeter_menuPlusMove(sub_meter_class* i_Meter) {
}
dVar13 = fopMsgM_valueIncrease(5, 5 - i_Meter->field_0x02c0.mUserArea, 0);
fopMsgM_setNowAlpha(&i_Meter->field_0x02c0, dVar13);
dMap_c::mAlpha = dVar13 * 255.0f;
dMap_c::setMapAlpha(dVar13 * 255.0f);
if (!(dKyw_gbwind_use_check()) || (dMenu_flag())) {
fopMsgM_setNowAlphaZero(&i_Meter->field_0x02f8);
} else {
@@ -5418,9 +5417,9 @@ void dMeter_compassMove(sub_meter_class* i_Meter) {
dMeter_compassGetOnProc(i_Meter);
dMeter_compassAlpha(i_Meter);
if (i_Meter->field_0x3027 == 0) {
dMap_c::mMapDispMode = 1;
dMap_c::setMapDispMode(1);
} else {
dMap_c::mMapDispMode = 0;
dMap_c::setMapDispMode(0);
}
} else {
dMeter_compassGetOffProc(i_Meter);
@@ -5726,7 +5725,7 @@ void dMeter_mapMove(sub_meter_class* i_Meter) {
((CPad_CHECK_TRIG_LEFT(0) != 0) || (CPad_CHECK_TRIG_RIGHT(0))))
{
if (CPad_CHECK_TRIG_LEFT(0) != 0) {
if ((dMap_c::mAlpha != 0) && ((s32)dMeter_mMapCtrlDisp.field_0x0 != 0)) {
if ((dMap_c::getMapAlpha() != 0) && ((s32)dMeter_mMapCtrlDisp.field_0x0 != 0)) {
if (dMap_isEnableDispMap()) {
dMeter_mMapCtrlDisp.field_0x0 = 0;
dMeter_mMapCtrlDisp.field_0x1 = 0;
@@ -5734,7 +5733,7 @@ void dMeter_mapMove(sub_meter_class* i_Meter) {
i_Meter->field_0x3029 = 0;
mDoAud_seStart(JA_SE_MAP_CANCEL);
}
} else if ((CPad_CHECK_TRIG_RIGHT(0) != 0) && (dMap_c::mAlpha != 0)) {
} else if ((CPad_CHECK_TRIG_RIGHT(0) != 0) && (dMap_c::getMapAlpha() != 0)) {
if ((s32)dMeter_mMapCtrlDisp.field_0x0 == 0) {
if (dMap_isEnableDispMap()) {
dMeter_mMapCtrlDisp.field_0x0 = 1;
@@ -5770,9 +5769,9 @@ void dMeter_mapMove(sub_meter_class* i_Meter) {
i_Meter->field_0x3027 = 0;
}
if (i_Meter->field_0x3027 == 0) {
dMap_c::mMapDispMode = 1;
dMap_c::setMapDispMode(1);
} else {
dMap_c::mMapDispMode = 0;
dMap_c::setMapDispMode(0);
}
if (((s32)dMeter_mMapCtrlDisp.field_0x0 != 0) && (mapTimer != 6)) {
mapTimer = 6;
@@ -7429,9 +7428,7 @@ void mapCtrlDisp_c::initMapCtrlDisp() {
/* 80205A44-80205D24 .text moveMapCtrlDisp__13mapCtrlDisp_cFv */
void mapCtrlDisp_c::moveMapCtrlDisp() {
f32 fVar1;
s8 uVar6;
f32 dVar7;
if (dCam_isManual(dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0))) != 0) {
if (field_0x2 < 9) {
field_0x2++;
@@ -7457,23 +7454,23 @@ void mapCtrlDisp_c::moveMapCtrlDisp() {
dVar7 = fopMsgM_valueIncrease(5, field_0x2, 2);
fVar1 = 1.1f;
}
dMap_c::mIconDispMode = 0;
uVar6 = (u8)((dVar7 * 255.0f) * (g_meter_mapHIO.field_0x6 / 255.0f));
dMap_c::mIconFreeAlpha = (u8)uVar6;
dMap_c::mIconFreeScale = fVar1 * g_meter_mapHIO.field_0x10;
if ((u8)uVar6 != 0) {
dMap_c::mIconDispMode = 1;
dMap_c::setIconDispMode(dMapIconDisp_NONE_e);
s8 alpha = (u8)((dVar7 * 255.0f) * (g_meter_mapHIO.field_0x6 / 255.0f));
dMap_c::setIconFreeAlpha(alpha);
dMap_c::setIconFreeScale(fVar1 * g_meter_mapHIO.field_0x10);
if ((u8)alpha != 0) {
dMap_c::setIconDispMode(dMapIconDisp_FREE_e);
}
if (dComIfGp_checkCameraAttentionStatus(0, 0x400)) {
if (dComIfGp_checkCameraAttentionStatus(0, dCamAttnStts_00000400_e)) {
daPy_py_c* player = daPy_getPlayerActorClass();
BOOL temp = player->checkSubjectAccept() && !dComIfGp_event_runCheck();
if (temp) {
dMap_c::mIconSelfAlpha = 0xcc;
dMap_c::mIconDispMode = 2;
dMap_c::setIconSelfAlpha(0xCC);
dMap_c::setIconDispMode(dMapIconDisp_SELF_e );
}
}
if (dCam_getBody()->mCurMode == 4) {
dMap_c::mIconDispMode = 0;
dMap_c::setIconDispMode(dMapIconDisp_NONE_e);
}
if (field_0x0 != 0) {
if (((field_0x4 != 0) && (cLib_addCalcAngleS(&field_0x4, 0, 2, 0x3c, 10) == 0)) && ((field_0x1 & 4) == 0)) {
@@ -7483,10 +7480,10 @@ void mapCtrlDisp_c::moveMapCtrlDisp() {
cLib_addCalcAngleS(&field_0x4, g_meter_mapHIO.field_0xc - g_meter_mapHIO.field_0x8, 2, 0x3c, 10);
}
int uVar6_2 = ((dComIfGp_getWindow(0)->getScissor()->mYOrig + dComIfGp_getWindow(0)->getScissor()->mHeight) - 452.0f);
dMap_c::mDispPosLeftUpX = g_meter_mapHIO.field_0x8 + field_0x4;
dMap_c::mDispPosLeftUpY = g_meter_mapHIO.field_0xa;
dMap_c::setMapDispPosLeftUpX(g_meter_mapHIO.field_0x8 + field_0x4);
dMap_c::setMapDispPosLeftUpY(g_meter_mapHIO.field_0xa);
if ((f32)(uVar6_2) < 0.0f) {
dMap_c::mDispPosLeftUpY = uVar6_2 + g_meter_mapHIO.field_0xa;
dMap_c::setMapDispPosLeftUpY(uVar6_2 + g_meter_mapHIO.field_0xa);
}
}
+2 -2
View File
@@ -2695,7 +2695,7 @@ s32 dMsg_initProc(sub_msg_class* i_Msg) {
const char* pcVar3;
char acStack_28[24];
if ((dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), 4)) || (fopMsgM_demoMsgFlagCheck())) {
if ((dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), dCamAttnStts_00000004_e)) || (fopMsgM_demoMsgFlagCheck())) {
pcVar3 = i_Msg->mpMesgStr;
if (((u8)pcVar3[0] == 0x1A) && ((u8)pcVar3[2] == 0x02)) {
dComIfGp_setMesgCameraTagInfo((s32)(u16)((((u8)pcVar3[3] << 8) & ~0xFFFF00FF) | (((u8)pcVar3[4]) & ~0xFF00)));
@@ -2751,7 +2751,7 @@ s32 dMsg_outnowProc(sub_msg_class* i_Msg) {
u32 iVar3;
if (i_Msg->mMesgCameraTagInfo != dComIfGp_getMesgCameraTagInfo()) {
if ((dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), 4)) || (fopMsgM_demoMsgFlagCheck())) {
if ((dComIfGp_checkCameraAttentionStatus(dComIfGp_getPlayerCameraID(0), dCamAttnStts_00000004_e)) || (fopMsgM_demoMsgFlagCheck())) {
dMsg_mesgOutPos(i_Msg);
i_Msg->m10D8 = (int)i_Msg->m049C.mPosCenter.x;
i_Msg->m10DC = (int)i_Msg->m049C.mPosCenter.y;