From e07ff45d8079b6a1c95dbe2c79ba6d229b8c0e26 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Tue, 12 May 2026 23:20:55 -0400 Subject: [PATCH] Add camera attention status and algorythmn enums --- include/d/actor/d_a_player_main.h | 2 +- include/d/d_cam_param.h | 23 +++ include/d/d_camera.h | 11 +- include/d/d_com_inf_game.h | 21 +- include/d/d_map.h | 10 +- src/d/actor/d_a_arrow_lighteff.cpp | 6 +- src/d/actor/d_a_kanban.cpp | 2 +- src/d/actor/d_a_npc_ji1.cpp | 4 +- src/d/actor/d_a_obj_paper.cpp | 2 +- src/d/actor/d_a_player_boomerang.inc | 2 +- src/d/actor/d_a_player_crawl.inc | 20 +- src/d/actor/d_a_player_main.cpp | 33 +-- src/d/actor/d_a_player_ship.inc | 12 +- src/d/actor/d_a_ship.cpp | 22 +- src/d/actor/d_a_tag_msg.cpp | 2 +- src/d/d_attention.cpp | 4 +- src/d/d_cam_style.cpp | 294 +++++++++++++-------------- src/d/d_camera.cpp | 245 +++++++++++----------- src/d/d_map.cpp | 6 +- src/d/d_menu_window.cpp | 28 ++- src/d/d_meter.cpp | 75 ++++--- src/d/d_msg.cpp | 4 +- 22 files changed, 439 insertions(+), 389 deletions(-) diff --git a/include/d/actor/d_a_player_main.h b/include/d/actor/d_a_player_main.h index dcbfb3271..b9c1ba1c9 100644 --- a/include/d/actor/d_a_player_main.h +++ b/include/d/actor/d_a_player_main.h @@ -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); diff --git a/include/d/d_cam_param.h b/include/d/d_cam_param.h index 91824a65f..c4209982d 100644 --- a/include/d/d_cam_param.h +++ b/include/d/d_cam_param.h @@ -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; diff --git a/include/d/d_camera.h b/include/d/d_camera.h index 56fa162b2..d7a7913b5 100644 --- a/include/d/d_camera.h +++ b/include/d/d_camera.h @@ -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; diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 18c10f0c3..549808159 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -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() { diff --git a/include/d/d_map.h b/include/d/d_map.h index 3d7680dc9..0c91de6c3 100644 --- a/include/d/d_map.h +++ b/include/d/d_map.h @@ -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() {} diff --git a/src/d/actor/d_a_arrow_lighteff.cpp b/src/d/actor/d_a_arrow_lighteff.cpp index 0836a57b6..a204fe381 100644 --- a/src/d/actor/d_a_arrow_lighteff.cpp +++ b/src/d/actor/d_a_arrow_lighteff.cpp @@ -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); } diff --git a/src/d/actor/d_a_kanban.cpp b/src/d/actor/d_a_kanban.cpp index 242699172..5165fc396 100644 --- a/src/d/actor/d_a_kanban.cpp +++ b/src/d/actor/d_a_kanban.cpp @@ -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 { diff --git a/src/d/actor/d_a_npc_ji1.cpp b/src/d/actor/d_a_npc_ji1.cpp index 39d2f5dd1..0dbe3e6ca 100644 --- a/src/d/actor/d_a_npc_ji1.cpp +++ b/src/d/actor/d_a_npc_ji1.cpp @@ -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; } } diff --git a/src/d/actor/d_a_obj_paper.cpp b/src/d/actor/d_a_obj_paper.cpp index 19fcb0e83..2a2666f06 100644 --- a/src/d/actor/d_a_obj_paper.cpp +++ b/src/d/actor/d_a_obj_paper.cpp @@ -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(); diff --git a/src/d/actor/d_a_player_boomerang.inc b/src/d/actor/d_a_player_boomerang.inc index 40e6d7601..37abcedf5 100644 --- a/src/d/actor/d_a_player_boomerang.inc +++ b/src/d/actor/d_a_player_boomerang.inc @@ -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, diff --git a/src/d/actor/d_a_player_crawl.inc b/src/d/actor/d_a_player_crawl.inc index 1e0bc3e5f..08be62f6c 100644 --- a/src/d/actor/d_a_player_crawl.inc +++ b/src/d/actor/d_a_player_crawl.inc @@ -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; } diff --git a/src/d/actor/d_a_player_main.cpp b/src/d/actor/d_a_player_main.cpp index eeefc918a..4a27ada33 100644 --- a/src/d/actor/d_a_player_main.cpp +++ b/src/d/actor/d_a_player_main.cpp @@ -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); diff --git a/src/d/actor/d_a_player_ship.inc b/src/d/actor/d_a_player_ship.inc index 41f056669..406c8677e 100644 --- a/src/d/actor/d_a_player_ship.inc +++ b/src/d/actor/d_a_player_ship.inc @@ -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)); diff --git a/src/d/actor/d_a_ship.cpp b/src/d/actor/d_a_ship.cpp index acda672c5..d300d8358 100644 --- a/src/d/actor/d_a_ship.cpp +++ b/src/d/actor/d_a_ship.cpp @@ -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 { diff --git a/src/d/actor/d_a_tag_msg.cpp b/src/d/actor/d_a_tag_msg.cpp index 012b6efcc..52b47c247 100644 --- a/src/d/actor/d_a_tag_msg.cpp +++ b/src/d/actor/d_a_tag_msg.cpp @@ -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; diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index eb2e25c73..32321a215 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -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(); diff --git a/src/d/d_cam_style.cpp b/src/d/d_cam_style.cpp index 6c22b0d9c..3ae82dd35 100644 --- a/src/d/d_cam_style.cpp +++ b/src/d/d_cam_style.cpp @@ -11,888 +11,888 @@ const dCamera__Style dCamParam_c::styles[] = { { 'NN00', - 0, + dCamAlg_LET_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f}, 0, }, { 'FN08', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 5.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 450.0f, 300.0f, -99999.99f, 0.66f, 0.05f, 25.0f, -40.0f, 60.0f, 2.0f, 0.05f, 0.2f, -99999.99f, -99999.99f, 1.0f, 0.2f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'PN05', - 0x5, + dCamAlg_FIXED_POSITION_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, -20.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 1000.0f, 50.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 0.75f, 0.0f, 50.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK040, }, { 'PN12', - 0x5, + dCamAlg_FIXED_POSITION_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, -20.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 1000.0f, 50.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 0.75f, 10.0f, 50.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK040, }, { 'EN00', - 0xB, + dCamAlg_EVENT_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f}, 0, }, { 'FN12', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, -15.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 220.0f, 180.0f, -99999.99f, 0.66f, 0.05f, 12.0f, -40.0f, 60.0f, 2.0f, 0.08f, 1.0f, -99999.99f, -99999.99f, 1.0f, 0.2f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'TT01', - 0x3, + dCamAlg_TALKTO_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.75f, 0.0f, -40.0f, 0.0f, 0.0f, 0.0f, 0.0f, 300.0f, 80.0f, 0.0f, 0.0f, 0.0f, 10.0f, 0.0f, 0.0f, -15.0f, 35.0f, 0.0f, 0.0f, -99999.99f, 0.0f, 30.0f, 40.0f, 45.0f, 0.0f, 0.0f, 0.0f}, dCamPrmFlg_UNK001, }, { 'TT02', - 0x3, + dCamAlg_TALKTO_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.6f, 0.0f, -30.0f, 0.0f, 0.0f, 0.0f, 0.0f, 280.0f, 80.0f, 0.0f, 0.0f, 0.0f, 10.0f, 0.0f, 0.0f, -15.0f, 40.0f, 0.0f, 0.0f, -99999.99f, 0.0f, 30.0f, 40.0f, 45.0f, 0.0f, 0.0f, 0.0f}, dCamPrmFlg_UNK001, }, { 'TT03', - 0x3, + dCamAlg_TALKTO_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.6f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 300.0f, 80.0f, 0.0f, 0.0f, 0.0f, 10.0f, 0.0f, 0.0f, 0.0f, 40.0f, 0.0f, 0.0f, -99999.99f, 0.0f, 30.0f, 40.0f, 45.0f, 0.0f, 0.0f, 0.0f}, dCamPrmFlg_UNK001, }, { 'LA03', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.2f, 0.4f, 0.0f, -17.5f, 20.0f, -17.5f, 0.0f, 375.0f, 125.0f, 750.0f, 425.0f, 350.0f, 18.0f, -40.0f, 40.0f, 20.0f, 15.0f, 0.03f, 0.0f, -99999.99f, 40.0f, 40.0f, 55.0f, 52.5f, 54.5f, 50.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LP01', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.05f, 0.2f, -30.0f, 12.5f, 20.0f, -30.0f, -30.0f, 220.0f, 125.0f, 625.0f, 220.0f, 220.0f, 0.0f, -40.0f, 30.0f, -10.0f, 10.0f, 0.1f, 0.05f, -99999.99f, 0.0f, 0.0f, 55.0f, 55.0f, 55.0f, 50.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LA02', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.3f, 0.1f, -7.5f, -17.5f, 20.0f, -22.5f, -2.5f, 400.0f, 125.0f, 750.0f, 450.0f, 350.0f, 30.0f, -40.0f, 40.0f, 35.0f, 10.0f, 0.04f, 0.0f, -99999.99f, 80.0f, 40.0f, 55.0f, 52.5f, 54.5f, 50.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'FN13', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.2f, 0.4f, 7.5f, -17.5f, 20.0f, -22.5f, -2.5f, 400.0f, 125.0f, 750.0f, 450.0f, 350.0f, 0.0f, -40.0f, 40.0f, 30.0f, -5.0f, 0.0f, 0.0f, -99999.99f, 80.0f, 60.0f, 55.0f, 52.5f, 54.5f, 50.0f, 60.0f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK002, }, { 'LH01', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.9f, 0.1f, -50.0f, 3.8f, 20.0f, -50.0f, -50.0f, 350.0f, 125.0f, 875.0f, 325.0f, 375.0f, 50.0f, -20.0f, 60.0f, 55.0f, 20.0f, 0.2f, 0.05f, -99999.99f, 10.0f, 5.0f, 55.0f, 55.0f, 55.0f, 50.0f, 65.0f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK002, }, { 'LH02', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.9f, 0.1f, -50.0f, 3.8f, 20.0f, -50.0f, -50.0f, 350.0f, 125.0f, 375.0f, 350.0f, 350.0f, 50.0f, -20.0f, 60.0f, 55.0f, 23.0f, 0.2f, 0.05f, -99999.99f, 10.0f, 5.0f, 55.0f, 50.0f, 65.0f, 50.0f, 65.0f}, dCamPrmFlg_UNK002, }, { 'LB02', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.2f, 0.4f, -12.5f, -17.5f, 20.0f, -17.5f, -7.5f, 400.0f, 125.0f, 750.0f, 450.0f, 350.0f, 0.0f, -40.0f, 40.0f, 10.0f, -5.0f, 0.01f, 0.0f, -99999.99f, 170.0f, 160.0f, 55.0f, 52.5f, 54.5f, 50.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LP02', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.05f, 0.2f, -30.0f, 12.5f, 20.0f, -30.0f, -30.0f, 200.0f, 125.0f, 750.0f, 200.0f, 200.0f, 0.0f, -40.0f, 40.0f, -10.0f, 10.0f, 0.1f, 0.05f, -99999.99f, 0.0f, 0.0f, 52.5f, 52.5f, 52.5f, 50.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LP03', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.1f, 0.4f, -30.0f, 12.5f, 20.0f, -30.0f, -30.0f, 220.0f, 125.0f, 220.0f, 220.0f, 220.0f, 5.0f, -40.0f, 30.0f, -10.0f, 10.0f, 0.1f, 0.05f, -99999.99f, 0.0f, 0.0f, 55.0f, 55.0f, 55.0f, 55.0f, 55.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LP04', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-100000.0f, -100000.0f, -99999.99f, 0.1f, 0.4f, -25.0f, 15.0f, 20.0f, -25.0f, -25.0f, 200.0f, 200.0f, 320.0f, 250.0f, 350.0f, 5.0f, -10.0f, 20.0f, 5.0f, 5.0f, 0.2f, 0.05f, -99999.99f, 0.0f, 0.0f, 45.0f, 45.0f, 45.0f, 45.0f, 45.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'CC01', - 0xC, + dCamAlg_CRAWL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.6f, 0.2f, 10.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 145.0f, 145.0f, 145.0f, 0.1f, 0.25f, 0.0f, -99999.99f, -99999.99f, 0.25f, 0.25f, -99999.99f, -99999.99f, -99999.99f, 0.1f, 0.8f, 50.0f, -99999.99f, -99999.99f, 0.5f, 0.5f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK080, }, { 'CC02', - 0xC, + dCamAlg_CRAWL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.6f, 0.2f, 10.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 145.0f, 145.0f, 145.0f, 0.1f, 0.25f, 0.0f, -99999.99f, -99999.99f, 0.25f, 0.25f, -99999.99f, -99999.99f, -99999.99f, 0.1f, 0.8f, 50.0f, -99999.99f, -99999.99f, 0.5f, 0.5f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK040 | dCamPrmFlg_UNK080, }, { 'LL06', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.5f, 0.25f, 0.0f, -17.5f, 20.0f, -17.5f, 0.0f, 375.0f, 125.0f, 750.0f, 425.0f, 350.0f, 15.0f, -70.0f, 70.0f, 20.0f, 12.0f, 0.01f, 0.0f, -99999.99f, 70.0f, 50.0f, 55.0f, 52.5f, 54.5f, 50.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL08', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.4f, 0.2f, 6.5f, -17.5f, 20.0f, -5.0f, 5.0f, 420.0f, 125.0f, 350.0f, 380.0f, 280.0f, 2.0f, -70.0f, 70.0f, -5.0f, 0.0f, 0.08f, 0.0f, -99999.99f, 60.0f, 5.0f, 55.0f, 52.5f, 54.5f, 52.0f, 56.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL07', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.4f, 0.2f, 7.5f, -17.5f, 20.0f, -22.5f, 5.0f, 450.0f, 125.0f, 750.0f, 480.0f, 420.0f, 0.0f, -70.0f, 70.0f, 25.0f, 10.0f, 0.04f, 0.0f, -99999.99f, 75.0f, 20.0f, 55.0f, 52.5f, 54.5f, 48.0f, 62.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LP10', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-10000.0f, -10000.0f, -99999.99f, 0.05f, 0.2f, -30.0f, 12.5f, 20.0f, -30.0f, 0.0f, 320.0f, 200.0f, 750.0f, 200.0f, 200.0f, 0.0f, -40.0f, 40.0f, -10.0f, -20.0f, 0.1f, 0.05f, -99999.99f, 0.0f, 0.0f, 52.5f, 52.5f, 52.5f, 50.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'SN15', - 0x4, + dCamAlg_SUBJECT_CAMERA_e, {20.0f, 0.0f, -99999.99f, -99999.99f, -99999.99f, 0.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 20.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 70.0f, 0.75f, 0.04f, -99999.99f, -99999.99f, 90.0f, 50.0f, 0.2f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK010 | dCamPrmFlg_UNK080, }, { 'BW07', - 0x8, + dCamAlg_RIDE_CAMERA_e, {120.0f, 80.0f, -99999.99f, 0.2f, 0.15f, 40.0f, -99999.99f, -99999.99f, -60.0f, -99999.99f, 800.0f, -99999.99f, -99999.99f, -500.0f, 40.0f, 40.0f, 30.0f, 50.0f, -10.0f, -99999.99f, 1.0f, 0.1f, -99999.99f, -99999.99f, -99999.99f, 50.0f, -99999.99f, -99999.99f, 20.0f, -5.0f}, dCamPrmFlg_UNK001, }, { 'FN18', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, -25.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 900.0f, 800.0f, -99999.99f, 0.66f, 0.05f, 78.0f, 75.0f, 80.0f, 2.0f, 0.05f, 0.01f, 0.01f, -99999.99f, 0.8f, 0.1f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'JN05', - 0xD, + dCamAlg_HOOKSHOT_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, -20.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 900.0f, 50.0f, -99999.99f, -99999.99f, 1000.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 0.75f, 0.0f, 50.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004, }, { 'XN06', - 0x6, + dCamAlg_FIXED_FRAME_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 0.0f, 50.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK040, }, { 'LB01', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.2f, 0.4f, -12.5f, -17.5f, 20.0f, -17.5f, -7.5f, 400.0f, 125.0f, 750.0f, 460.0f, 400.0f, 0.0f, -40.0f, 40.0f, 10.0f, -5.0f, 0.01f, 0.0f, -99999.99f, 170.0f, 160.0f, 55.0f, 52.5f, 54.5f, 48.0f, 62.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LA01', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.3f, 0.1f, -7.5f, -17.5f, 20.0f, -22.5f, -2.5f, 400.0f, 125.0f, 750.0f, 480.0f, 420.0f, 30.0f, -40.0f, 40.0f, 30.0f, 20.0f, 0.06f, 0.0f, -99999.99f, 60.0f, 40.0f, 55.0f, 52.5f, 54.5f, 55.0f, 65.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'BP07', - 0x8, + dCamAlg_RIDE_CAMERA_e, {120.0f, 200.0f, -99999.99f, 0.75f, 0.15f, 40.0f, -99999.99f, -99999.99f, -60.0f, -99999.99f, 900.0f, -99999.99f, -99999.99f, -500.0f, 40.0f, 10.0f, -5.0f, 30.0f, -10.0f, -99999.99f, 1.0f, 0.1f, -99999.99f, -99999.99f, -99999.99f, 60.0f, -99999.99f, -99999.99f, 20.0f, -5.0f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004, }, { 'LW02', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.3f, 0.1f, -20.0f, -20.0f, 0.0f, -20.0f, -60.0f, 250.0f, 125.0f, 450.0f, 650.0f, 650.0f, 0.0f, -20.0f, 40.0f, -10.0f, 45.0f, 0.2f, 0.05f, -99999.99f, 0.0f, 0.0f, 60.0f, 60.0f, 60.0f, 60.0f, 60.0f}, dCamPrmFlg_UNK002, }, { 'HP16', - 0x9, + dCamAlg_HUNG_CAMERA_e, {20.0f, 10.0f, -99999.99f, 0.75f, 0.25f, -70.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 200.0f, 200.0f, -99999.99f, 1.0f, 1.0f, 60.0f, 60.0f, -99999.99f, 0.05f, 1.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.25f}, dCamPrmFlg_UNK002, }, { 'HN16', - 0x9, + dCamAlg_HUNG_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.5f, 0.25f, -60.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 350.0f, 320.0f, -99999.99f, 0.3f, 0.3f, 25.0f, 25.0f, -99999.99f, 0.5f, 0.25f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 62.5f, -99999.99f, -99999.99f, -99999.99f, 0.25f}, dCamPrmFlg_UNK002, }, { 'BN07', - 0x8, + dCamAlg_RIDE_CAMERA_e, {90.0f, 150.0f, -99999.99f, 0.65f, 0.15f, 10.0f, -99999.99f, -99999.99f, 5.0f, -99999.99f, 800.0f, -99999.99f, -99999.99f, -430.0f, 40.0f, 5.0f, -10.0f, 30.0f, -5.0f, -99999.99f, 0.2f, 0.1f, -99999.99f, -99999.99f, -99999.99f, 70.0f, -99999.99f, -99999.99f, 20.0f, -5.0f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004, }, { 'LP05', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.05f, 0.2f, 0.0f, 12.5f, 20.0f, 0.0f, 0.0f, 220.0f, 125.0f, 625.0f, 220.0f, 220.0f, 0.0f, -40.0f, 30.0f, -10.0f, 10.0f, 0.1f, 0.05f, -99999.99f, 0.0f, 0.0f, 55.0f, 55.0f, 55.0f, 50.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LP06', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 32.0f, 32.0f, 32.0f, 32.0f, 32.0f, 1250.0f, 1000.0f, 1100.0f, 1250.0f, 1250.0f, 0.0f, -10.0f, 10.0f, 2.0f, 0.5f, 0.01f, 0.1f, -99999.99f, 0.1f, 0.1f, 55.0f, 52.5f, 54.5f, 60.0f, 70.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'HN18', - 0xF, + dCamAlg_VOMIT_CAMERA_e, {80.0f, 0.0f, -99999.99f, 0.8f, 0.15f, 150.0f, -99999.99f, 500.0f, -99999.99f, -99999.99f, 520.0f, 80.0f, -99999.99f, 0.25f, 0.7f, 50.0f, 5.0f, -99999.99f, 0.75f, 0.15f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 90.0f, -99999.99f, -99999.99f, -99999.99f, 0.25f}, dCamPrmFlg_UNK002, }, { 'FN25', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {0.5f, 0.0f, -99999.99f, 0.75f, 0.25f, 80.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 850.0f, 500.0f, -99999.99f, 0.66f, 0.05f, 30.0f, 0.0f, 60.0f, 2.0f, 0.05f, 0.1f, -99999.99f, -99999.99f, 1.0f, 0.2f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001, }, { 'BP08', - 0x8, + dCamAlg_RIDE_CAMERA_e, {90.0f, 250.0f, -99999.99f, 0.75f, 0.15f, 120.0f, -99999.99f, -99999.99f, 1.0f, -99999.99f, 1000.0f, -99999.99f, -99999.99f, 0.0f, 40.0f, 20.0f, -5.0f, 30.0f, 0.0f, -99999.99f, 1.0f, 0.1f, -99999.99f, -99999.99f, -99999.99f, 60.0f, -99999.99f, -99999.99f, 0.0f, -5.0f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004, }, { 'BN08', - 0x8, + dCamAlg_RIDE_CAMERA_e, {90.0f, 250.0f, -99999.99f, 0.75f, 0.15f, 120.0f, -99999.99f, -99999.99f, 10.0f, -99999.99f, 1000.0f, -99999.99f, -99999.99f, 0.0f, 40.0f, 20.0f, -5.0f, 30.0f, 0.0f, -99999.99f, 0.2f, 0.1f, -99999.99f, -99999.99f, -99999.99f, 60.0f, -99999.99f, -99999.99f, 0.0f, -5.0f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004, }, { 'FN29', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 10.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 550.0f, 450.0f, -99999.99f, 0.66f, 0.05f, 40.0f, -50.0f, 70.0f, 2.0f, 0.05f, 0.16f, -99999.99f, -99999.99f, 1.0f, 0.2f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'SX01', - 0x4, + dCamAlg_SUBJECT_CAMERA_e, {20.0f, 0.0f, -99999.99f, -99999.99f, -99999.99f, -2.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 40.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 70.0f, 0.45f, 0.04f, -99999.99f, -99999.99f, 90.0f, 50.0f, 50.0f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK100, }, { 'SY01', - 0x4, + dCamAlg_SUBJECT_CAMERA_e, {0.0f, 30.0f, -99999.99f, -99999.99f, -99999.99f, 30.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 120.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 70.0f, 0.6f, 0.04f, -99999.99f, -99999.99f, 90.0f, 60.0f, 60.0f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK002, }, { 'SX02', - 0x4, + dCamAlg_SUBJECT_CAMERA_e, {20.0f, 0.0f, -99999.99f, -99999.99f, -99999.99f, -2.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 40.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 60.0f, 0.45f, 0.04f, -99999.99f, -99999.99f, 90.0f, 60.0f, 60.0f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK100, }, { 'MM06', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.8f, 0.8f, 80.0f, 80.0f, 20.0f, 0.0f, 1.92f, 250.0f, 200.0f, 800.0f, 0.0f, 16.0f, 0.0f, -55.0f, 70.0f, 0.0f, 2.0f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 90.0f, 80.0f, 90.0f, 0.0f, 0.48f}, dCamPrmFlg_UNK002, }, { 'MM05', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, -20.0f, -20.0f, 20.0f, 0.0f, 1.92f, 250.0f, 150.0f, 320.0f, 0.0f, 15.0f, 0.0f, -40.0f, 40.0f, 0.0f, 2.0f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 55.0f, 60.0f, 70.0f, 0.0f, 0.48f}, dCamPrmFlg_UNK002, }, { 'MM09', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 40.0f, 50.0f, 40.0f, 0.0f, 0.2f, 320.0f, 150.0f, 800.0f, 0.0f, 30.0f, 0.0f, -30.0f, 10.0f, 0.0f, 1.8f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 60.0f, 65.0f, 60.0f, 0.0f, 0.2f}, dCamPrmFlg_UNK002, }, { 'MM04', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, -20.0f, -20.0f, -40.0f, 0.0f, 1.0f, 320.0f, 150.0f, 950.0f, 0.0f, 29.0f, 0.0f, 0.0f, 5.0f, 0.0f, 0.2f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 55.0f, 50.0f, 60.0f, 0.0f, 0.48f}, dCamPrmFlg_UNK002, }, { 'LN17', - 0xC, + dCamAlg_CRAWL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.6f, 0.2f, 10.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 145.0f, 145.0f, 145.0f, 0.1f, 0.25f, 0.0f, -99999.99f, -99999.99f, 0.25f, 0.25f, -99999.99f, -99999.99f, -99999.99f, 0.1f, 0.8f, 50.0f, -99999.99f, -99999.99f, 0.5f, 0.5f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK040, }, { 'QN07', - 0xE, + dCamAlg_TORNADO_CAMERA_e, {-120.0f, 0.0f, -99999.99f, 0.75f, 0.15f, 50.0f, -99999.99f, -99999.99f, 80.0f, -99999.99f, 800.0f, -99999.99f, -99999.99f, 200.0f, 40.0f, 0.0f, -5.0f, 60.0f, 20.0f, -99999.99f, 0.1f, 0.1f, -99999.99f, -99999.99f, -99999.99f, 60.0f, -99999.99f, -99999.99f, -15.0f, -5.0f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'LE01', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {0.0f, 75.0f, -99999.99f, 0.15f, 0.15f, -30.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 300.0f, 250.0f, -99999.99f, 0.66f, 0.05f, 5.0f, -40.0f, 60.0f, 2.0f, 0.15f, 0.3f, 0.05f, -99999.99f, 0.8f, 0.15f, 40.0f, -99999.99f, -99999.99f, -99999.99f, 0.15f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK200 | dCamPrmFlg_UNK400, }, { 'LN01', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.25f, 0.2f, -15.0f, -17.5f, 20.0f, -22.5f, -10.0f, 450.0f, 125.0f, 750.0f, 480.0f, 420.0f, 7.5f, -60.0f, 60.0f, 10.0f, 5.0f, 0.08f, 0.0f, -99999.99f, 40.0f, 5.0f, 42.5f, 52.5f, 54.5f, 40.0f, 45.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LW01', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.15f, 0.15f, -25.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 450.0f, 400.0f, -99999.99f, 0.5f, 0.15f, 20.0f, -40.0f, 60.0f, 2.0f, 0.15f, 0.3f, 0.05f, -99999.99f, 0.8f, 0.15f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.15f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK200 | dCamPrmFlg_UNK400, }, { 'GN01', - 0x12, + dCamAlg_FOLLOW_CAMERA2_e, {5.0f, 0.0f, -99999.99f, 0.5f, 0.25f, 30.0f, 50.0f, -99999.99f, -99999.99f, -99999.99f, 400.0f, 400.0f, -99999.99f, 0.66f, 0.05f, 10.0f, -60.0f, 60.0f, 2.0f, 0.05f, 0.0f, -99999.99f, -99999.99f, 1.0f, 0.18f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK400, }, { 'MM01', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 0.0f, 0.0f, 30.0f, 0.0f, 1.0f, 320.0f, 240.0f, 700.0f, 0.0f, 20.0f, 0.0f, 0.0f, 30.0f, 0.0f, 0.6f, 0.33f, 0.66f, -99999.99f, 0.0f, 8.0f, 55.0f, 50.0f, 60.0f, 0.0f, 0.4f}, dCamPrmFlg_UNK002, }, #if VERSION <= VERSION_JPN { 'MM03', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 10.0f, 0.0f, 40.0f, 0.0f, 2.0f, 320.0f, 250.0f, 700.0f, 0.0f, 27.0f, 0.0f, -5.0f, 30.0f, 0.0f, 0.6f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 55.0f, 50.0f, 62.0f, 0.0f, 0.45f}, dCamPrmFlg_UNK002, }, #endif { 'MM02', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 0.0f, 10.0f, 35.0f, 0.0f, 1.92f, 320.0f, 250.0f, 950.0f, 0.0f, 27.0f, 0.0f, -5.0f, 30.0f, 0.0f, 0.9f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 55.0f, 52.5f, 60.0f, 0.0f, 0.4f}, dCamPrmFlg_UNK002, }, { 'MM10', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 15.0f, 10.0f, 20.0f, 0.0f, 0.45f, 320.0f, 300.0f, 2000.0f, 0.0f, 45.0f, 10.0f, 5.0f, 35.0f, 0.0f, 0.42f, 0.33f, 0.5f, -99999.99f, 0.0f, 4.0f, 55.0f, 52.0f, 62.0f, 0.0f, 0.48f}, dCamPrmFlg_UNK002, }, { 'MM08', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, -20.0f, 50.0f, 50.0f, 0.0f, 0.0f, 400.0f, 350.0f, 800.0f, 0.0f, 34.0f, 0.0f, -20.0f, 50.0f, 0.0f, 3.6f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 55.0f, 55.0f, 55.0f, 0.0f, 0.0f}, dCamPrmFlg_UNK002, }, { 'MM83', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 0.0f, 20.0f, 300.0f, 0.0f, 5.0f, 320.0f, 350.0f, 1500.0f, 0.0f, 40.0f, 0.0f, 0.0f, 15.0f, 0.0f, 1.0f, 0.33f, 0.2f, -99999.99f, 0.0f, 8.0f, 55.0f, 65.0f, 55.0f, 0.0f, 1.0f}, dCamPrmFlg_UNK002, }, { 'FP01', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 50.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 480.0f, 280.0f, -99999.99f, 0.66f, 0.05f, 10.0f, -60.0f, 60.0f, 2.0f, 0.05f, 0.2f, -99999.99f, -99999.99f, 1.0f, 0.18f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'ZZ00', - 0x11, + dCamAlg_NON_OWNER_CAMERA_e, {10.0f, 0.0f, -99999.99f, -99999.99f, -99999.99f, 200.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 320.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 3.0f, -99999.99f, -99999.99f, 0.3f, -99999.99f, 0.33f, -99999.99f, -99999.99f, 1.0f, -99999.99f, 60.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f}, 0, }, { 'PN13', - 0x5, + dCamAlg_FIXED_POSITION_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.15f, 0.15f, -20.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 1000.0f, 50.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 0.75f, 10.0f, 50.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK040, }, { 'FN82', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 30.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 1200.0f, 350.0f, -99999.99f, 0.66f, 0.05f, 15.0f, -40.0f, 60.0f, 2.0f, 0.05f, 0.1f, -99999.99f, -99999.99f, 1.0f, 0.01f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK400, }, { 'IN01', - 0x7, + dCamAlg_TOWER_CAMERA_e, {50.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 20.0f, 20.0f, -99999.99f, -99999.99f, -99999.99f, 680.0f, 250.0f, -99999.99f, 0.66f, 0.05f, 12.0f, -40.0f, 60.0f, -99999.99f, 0.05f, 0.4f, 0.05f, -99999.99f, 45.0f, 45.0f, 62.0f, -99999.99f, 2.5f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'IN02', - 0x7, + dCamAlg_TOWER_CAMERA_e, {50.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 20.0f, 20.0f, -99999.99f, -99999.99f, -99999.99f, 750.0f, 450.0f, -99999.99f, 0.66f, 0.05f, 35.0f, -40.0f, 60.0f, -99999.99f, 0.05f, 0.4f, 0.05f, -99999.99f, 10.0f, 10.0f, 65.0f, -99999.99f, 2.0f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'MM82', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 0.0f, 20.0f, 100.0f, 0.0f, 45.0f, 320.0f, 200.0f, 1500.0f, 30.0f, 50.0f, 30.0f, -10.0f, 30.0f, 0.0f, 1.5f, 0.33f, 0.2f, -99999.99f, 0.0f, 6.0f, 55.0f, 55.0f, 55.0f, 0.0f, 1.0f}, dCamPrmFlg_UNK002, }, { 'LL11', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.4f, 0.2f, 7.5f, -17.5f, 20.0f, 20.0f, 40.0f, 1000.0f, 300.0f, 2000.0f, 800.0f, 1500.0f, 0.0f, -10.0f, 40.0f, 30.0f, 40.0f, 0.04f, 0.02f, -99999.99f, 80.0f, 30.0f, 60.0f, 50.0f, 80.0f, 52.0f, 70.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL01', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.4f, 0.2f, 7.5f, -17.5f, 20.0f, -22.5f, 5.0f, 450.0f, 125.0f, 750.0f, 480.0f, 420.0f, 0.0f, -60.0f, 60.0f, 20.0f, -5.0f, 0.04f, 0.02f, -99999.99f, 75.0f, 20.0f, 55.0f, 52.5f, 54.5f, 48.0f, 62.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL02', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.4f, 0.2f, 6.5f, -17.5f, 20.0f, -22.5f, -2.5f, 420.0f, 125.0f, 350.0f, 450.0f, 400.0f, 2.0f, -60.0f, 60.0f, 15.0f, 0.0f, 0.05f, 0.02f, -99999.99f, 80.0f, 15.0f, 55.0f, 52.5f, 54.5f, 45.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL03', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.4f, 0.2f, 0.0f, -17.5f, 20.0f, -17.5f, 0.0f, 375.0f, 125.0f, 750.0f, 425.0f, 350.0f, 15.0f, -60.0f, 60.0f, 20.0f, 12.0f, 0.01f, 0.01f, -99999.99f, 70.0f, 50.0f, 55.0f, 52.5f, 54.5f, 50.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL04', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.1f, 0.4f, -10.0f, 15.0f, 20.0f, -12.5f, -12.5f, 350.0f, 200.0f, 400.0f, 300.0f, 400.0f, 10.0f, -10.0f, 20.0f, 0.0f, 0.0f, 0.06f, 0.02f, -99999.99f, 80.0f, 10.0f, 47.0f, 47.0f, 47.0f, 47.0f, 47.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL05', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-10000.0f, -10000.0f, -99999.99f, 0.2f, 0.4f, 6.5f, -17.5f, 20.0f, -40.0f, -50.0f, 280.0f, 125.0f, 350.0f, 300.0f, 100.0f, 2.0f, -40.0f, 40.0f, -15.0f, -5.0f, 0.08f, 0.08f, -99999.99f, 10.0f, 5.0f, 55.0f, 52.5f, 54.5f, 65.0f, 70.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL10', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.2f, 0.4f, 6.5f, -17.5f, 20.0f, -40.0f, 0.0f, 1000.0f, 750.0f, 1100.0f, 700.0f, 350.0f, 2.0f, -40.0f, 40.0f, -8.0f, 0.0f, 0.08f, 0.05f, -99999.99f, 40.0f, 10.0f, 55.0f, 52.5f, 54.5f, 60.0f, 70.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL09', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.4f, 0.2f, 60.0f, -20.0f, 120.0f, 0.0f, -10.0f, 420.0f, 300.0f, 350.0f, 650.0f, 800.0f, 2.0f, -60.0f, 60.0f, 15.0f, 5.0f, 0.04f, 0.01f, -99999.99f, 80.0f, 15.0f, 55.0f, 52.5f, 54.5f, 45.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL12', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-10000.0f, -10000.0f, -99999.99f, 0.2f, 0.4f, 500.0f, -7.5f, 500.0f, 300.0f, 300.0f, 550.0f, 500.0f, 600.0f, 400.0f, 500.0f, 2.0f, -40.0f, 40.0f, -15.0f, -15.0f, 0.08f, 0.08f, -99999.99f, 10.0f, 5.0f, 55.0f, 52.5f, 54.5f, 65.0f, 70.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL13', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-10000.0f, -10000.0f, -99999.99f, 0.4f, 0.2f, 7.5f, -17.5f, 20.0f, 0.0f, 22.5f, 550.0f, 125.0f, 750.0f, 530.0f, 580.0f, -7.5f, -60.0f, 60.0f, 5.0f, -15.0f, 0.04f, 0.04f, -99999.99f, 60.0f, 20.0f, 55.0f, 52.5f, 54.5f, 65.0f, 70.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL14', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-10000.0f, -10000.0f, -99999.99f, 0.4f, 0.2f, 0.0f, -17.5f, 20.0f, 0.0f, 60.0f, 600.0f, 125.0f, 350.0f, 500.0f, 700.0f, 0.0f, -60.0f, 60.0f, 0.0f, -10.0f, 0.05f, 0.05f, -99999.99f, 30.0f, 15.0f, 55.0f, 52.5f, 54.5f, 53.0f, 57.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL15', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.4f, 0.2f, 10.0f, -17.5f, 20.0f, -22.5f, -2.5f, 420.0f, 125.0f, 800.0f, 599.0f, 799.0f, 30.0f, 0.0f, 60.0f, 20.0f, 40.0f, 0.05f, 0.05f, -99999.99f, 80.0f, 15.0f, 55.0f, 52.5f, 54.5f, 45.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL16', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.2f, 0.4f, 30.0f, 0.0f, 50.0f, 30.0f, 10.0f, 750.0f, 650.0f, 1000.0f, 600.0f, 350.0f, -10.0f, -40.0f, 40.0f, -8.0f, 0.0f, 0.08f, 0.08f, -99999.99f, 40.0f, 10.0f, 55.0f, 52.5f, 54.5f, 60.0f, 70.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'LL82', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.75f, 0.25f, 0.0f, 0.0f, 0.0f, -15.0f, 0.0f, 0.0f, 0.0f, 0.0f, 600.0f, 400.0f, 0.0f, 0.0f, 0.0f, -10.0f, 30.0f, 0.1f, 0.0f, -99999.99f, 60.0f, 0.0f, 0.0f, 0.0f, 0.0f, 60.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'FN01', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 10.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 480.0f, 280.0f, -99999.99f, 0.66f, 0.08f, 10.0f, -60.0f, 60.0f, 2.0f, 0.05f, 0.2f, -99999.99f, -99999.99f, 1.0f, 0.18f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN02', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 0.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 360.0f, 240.0f, -99999.99f, 0.66f, 0.1f, 10.0f, -40.0f, 60.0f, 2.0f, 0.05f, 0.3f, 0.05f, -99999.99f, 0.8f, 0.1f, 58.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN03', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, -5.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 350.0f, 260.0f, -99999.99f, 0.66f, 0.08f, 14.0f, 10.0f, 60.0f, 2.0f, 0.05f, 0.3f, -99999.99f, -99999.99f, 1.0f, 0.2f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN04', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.1f, -99999.99f, 0.75f, 0.25f, 0.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 480.0f, 350.0f, -99999.99f, 0.66f, 0.1f, 18.0f, 15.0f, 25.0f, 2.0f, 0.05f, 0.39f, -99999.99f, -99999.99f, 1.0f, 0.2f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN06', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, -25.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 230.0f, 240.0f, -99999.99f, 0.2f, 0.05f, 5.0f, -40.0f, 60.0f, 2.0f, 0.05f, 0.01f, -99999.99f, -99999.99f, 1.0f, 0.2f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN09', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {0.5f, 0.0f, -99999.99f, 0.75f, 0.25f, -10.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 460.0f, 210.0f, -99999.99f, 0.66f, 0.09f, 15.0f, -40.0f, 60.0f, 2.0f, 0.05f, 0.08f, -99999.99f, -99999.99f, 2.0f, 0.3f, 52.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK400, }, { 'FN07', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 0.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 430.0f, 280.0f, -99999.99f, 0.66f, 0.1f, 13.0f, -40.0f, 60.0f, 2.0f, 0.05f, 0.35f, -99999.99f, -99999.99f, 1.0f, 0.2f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN10', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 15.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 420.0f, 250.0f, -99999.99f, 0.66f, 0.08f, 5.0f, -60.0f, 60.0f, 2.0f, 0.05f, 0.25f, -99999.99f, -99999.99f, 1.0f, 0.1f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN14', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {0.5f, 0.0f, -99999.99f, 0.75f, 0.25f, 10.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 450.0f, 300.0f, -99999.99f, 0.66f, 0.12f, 15.0f, 0.0f, 60.0f, 2.0f, 0.05f, 0.1f, -99999.99f, -99999.99f, 1.0f, 0.2f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001, }, { 'FN15', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 32.0f, -10000.0f, -10000.0f, -10000.0f, -10000.0f, 320.0f, 200.0f, -10000.0f, 0.66f, 0.08f, -23.0f, -20.0f, 10.0f, 2.0f, 0.5f, 0.01f, 0.1f, -99999.99f, 0.1f, 0.1f, 55.0f, -10000.0f, -10000.0f, -10000.0f, 0.05f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN17', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, -5.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 380.0f, 200.0f, -99999.99f, 0.66f, 0.1f, 10.0f, -40.0f, 60.0f, 2.0f, 0.08f, 0.18f, 0.05f, -99999.99f, 2.0f, 0.1f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN20', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, -20.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 330.0f, 280.0f, -99999.99f, 0.66f, 0.15f, 12.0f, -40.0f, 60.0f, 2.0f, 0.05f, 0.2f, -99999.99f, -99999.99f, 1.0f, 0.1f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK200 | dCamPrmFlg_UNK400, }, { 'FN21', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.8f, 0.25f, 8.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 340.0f, 220.0f, -99999.99f, 0.66f, 0.08f, 6.0f, -40.0f, 70.0f, 2.0f, 0.05f, 0.16f, -99999.99f, -99999.99f, 1.0f, 0.2f, 64.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN22', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, -25.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 1500.0f, 1200.0f, -99999.99f, 0.66f, 0.08f, 35.0f, 30.0f, 40.0f, 2.0f, 0.05f, 0.1f, -10000.0f, -99999.99f, 2.0f, 0.05f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN23', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 32.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 1000.0f, 800.0f, -99999.99f, 0.66f, 0.1f, 20.0f, 15.0f, 25.0f, 2.0f, 0.05f, 0.1f, -10000.0f, -99999.99f, 2.0f, 0.05f, 50.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN24', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 0.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 600.0f, 350.0f, -99999.99f, 0.66f, 0.09f, 25.0f, -60.0f, 60.0f, 2.0f, 0.05f, 0.33f, -99999.99f, -99999.99f, 1.0f, 0.2f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN26', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, -25.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 800.0f, 800.0f, -99999.99f, 0.66f, 0.1f, 35.0f, 30.0f, 40.0f, 2.0f, 0.05f, 0.1f, -10000.0f, -99999.99f, 2.0f, 0.05f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN27', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 32.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 1250.0f, 1000.0f, -99999.99f, 0.66f, 0.09f, 0.0f, -10.0f, 10.0f, 2.0f, 0.5f, 0.01f, 0.1f, -99999.99f, 0.1f, 0.1f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN28', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {0.5f, 0.0f, -99999.99f, 0.75f, 0.25f, 5.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 330.0f, 250.0f, -99999.99f, 0.66f, 0.09f, 8.0f, -40.0f, 60.0f, 2.0f, 0.05f, 0.06f, -99999.99f, -99999.99f, 2.0f, 0.3f, 52.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK400, }, { 'FN30', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 300.0f, -10000.0f, -10000.0f, -10000.0f, -10000.0f, 1000.0f, 900.0f, -10000.0f, 0.66f, 0.08f, -15.0f, -15.0f, 10.0f, 2.0f, 0.5f, 0.01f, 0.1f, -99999.99f, 0.1f, 0.1f, 55.0f, -10000.0f, -10000.0f, -10000.0f, 0.05f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN31', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 30.0f, -10000.0f, -10000.0f, -10000.0f, -10000.0f, 420.0f, 250.0f, -10000.0f, 0.66f, 0.08f, 0.0f, -60.0f, 60.0f, 2.0f, 0.05f, 0.25f, -10000.0f, -99999.99f, 1.0f, 0.1f, 55.0f, -10000.0f, -10000.0f, -10000.0f, 0.05f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN32', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 30.0f, -10000.0f, -10000.0f, -10000.0f, -10000.0f, 360.0f, 220.0f, -10000.0f, 0.66f, 0.08f, -5.0f, -60.0f, 60.0f, 2.0f, 0.05f, 0.25f, 0.05f, -99999.99f, 0.8f, 0.1f, 58.0f, -10000.0f, -10000.0f, -10000.0f, 0.05f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN33', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 0.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 1300.0f, 1000.0f, 1350.0f, 0.66f, 0.05f, 30.0f, 0.0f, 60.0f, 2.0f, 0.09f, 0.3f, 0.05f, -99999.99f, 0.8f, 0.1f, 58.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN34', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 30.0f, -10000.0f, -10000.0f, -10000.0f, -10000.0f, 1000.0f, 900.0f, -10000.0f, 0.66f, 0.08f, 45.0f, -60.0f, 60.0f, 2.0f, 0.05f, 0.25f, 0.05f, -99999.99f, 0.8f, 0.1f, 58.0f, -10000.0f, -10000.0f, -10000.0f, 0.05f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN35', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 50.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 1250.0f, 1000.0f, -99999.99f, 0.66f, 0.09f, 0.0f, -15.0f, 10.0f, 0.0f, 0.5f, 0.01f, 0.1f, -99999.99f, 0.1f, 0.1f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'LL17', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.4f, 0.2f, 7.5f, -17.5f, 20.0f, 20.0f, 40.0f, 1000.0f, 300.0f, 2000.0f, 800.0f, 1600.0f, 0.0f, -10.0f, 40.0f, 30.0f, 40.0f, 0.04f, 0.03f, -99999.99f, 80.0f, 30.0f, 60.0f, 50.0f, 80.0f, 52.0f, 45.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'FN37', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 15.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 1050.0f, 950.0f, -99999.99f, 0.66f, 0.05f, 20.0f, 15.0f, 45.0f, 2.0f, 0.05f, 0.12f, -99999.99f, -99999.99f, 1.0f, 0.2f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK400, }, #if VERSION <= VERSION_JPN { 'FN38', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 40.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 800.0f, 600.0f, -99999.99f, 0.66f, 0.15f, 15.0f, -40.0f, 60.0f, 2.0f, 0.05f, 0.3f, 0.05f, -99999.99f, 0.8f, 0.1f, 62.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, #endif { 'BE08', - 0x8, + dCamAlg_RIDE_CAMERA_e, {100.0f, 0.0f, -99999.99f, 0.75f, 0.15f, 80.0f, -99999.99f, -99999.99f, 0.0f, -99999.99f, 500.0f, -99999.99f, -99999.99f, 0.0f, 40.0f, 20.0f, -80.0f, 80.0f, 0.0f, -99999.99f, 0.1f, 0.1f, -99999.99f, -99999.99f, -99999.99f, 78.0f, -99999.99f, -99999.99f, 0.0f, -5.0f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004, }, { 'BE07', - 0x8, + dCamAlg_RIDE_CAMERA_e, {100.0f, 0.0f, -99999.99f, 0.75f, 0.15f, 240.0f, -99999.99f, -99999.99f, 0.0f, -99999.99f, 750.0f, -99999.99f, -99999.99f, 0.0f, 40.0f, 15.0f, -80.0f, 80.0f, 0.0f, -99999.99f, 0.1f, 0.1f, -99999.99f, -99999.99f, -99999.99f, 66.0f, -99999.99f, -99999.99f, 0.0f, -5.0f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004, }, { 'TT04', - 0x3, + dCamAlg_TALKTO_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.6f, 0.0f, 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 290.0f, 80.0f, 0.0f, 0.0f, 0.0f, 10.0f, 0.0f, 0.0f, 15.0f, 30.0f, 0.0f, 0.0f, -99999.99f, 0.0f, 30.0f, 42.0f, 45.0f, 0.0f, 0.0f, 0.0f}, dCamPrmFlg_UNK001, }, { 'FP38', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 40.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 800.0f, 600.0f, -99999.99f, 0.66f, 0.15f, 45.0f, -40.0f, 80.0f, 2.0f, 0.05f, 0.3f, 0.05f, -99999.99f, 0.8f, 0.1f, 62.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN39', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, -20.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 380.0f, 300.0f, -99999.99f, 0.66f, 0.05f, 0.0f, -20.0f, 20.0f, 2.0f, 0.05f, 0.12f, -99999.99f, -99999.99f, 1.0f, 0.2f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK400, }, { 'MM16', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 10.0f, 20.0f, 40.0f, 0.0f, 1.0f, 320.0f, 250.0f, 500.0f, 0.0f, 28.0f, 20.0f, 20.0f, 30.0f, 0.0f, 0.3f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 55.0f, 50.0f, 62.0f, 0.0f, 0.45f}, dCamPrmFlg_UNK002, }, { 'MM14', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.55f, 0.15f, 10.0f, 5.0f, 20.0f, 0.0f, 0.5f, 320.0f, 180.0f, 700.0f, 0.0f, 30.0f, 10.0f, 5.0f, 40.0f, 0.0f, 1.7f, 0.33f, 0.5f, -99999.99f, 0.0f, 3.0f, 55.0f, 50.0f, 60.0f, 0.0f, 0.42f}, dCamPrmFlg_UNK002, }, { 'MM15', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.55f, 0.15f, 10.0f, 5.0f, 20.0f, 0.0f, 0.5f, 320.0f, 200.0f, 1000.0f, 0.0f, 40.0f, 10.0f, 5.0f, 40.0f, 0.0f, 1.7f, 0.33f, 0.66f, -99999.99f, 0.0f, 3.0f, 55.0f, 50.0f, 60.0f, 0.0f, 0.42f}, dCamPrmFlg_UNK002, }, { 'MM07', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.55f, 0.15f, 90.0f, 80.0f, 180.0f, 0.0f, 4.0f, 750.0f, 500.0f, 1000.0f, 0.0f, 32.0f, 0.0f, -5.0f, 23.0f, 0.0f, 1.65f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 60.0f, 55.0f, 70.0f, 0.0f, 1.5f}, dCamPrmFlg_UNK002, }, { 'FN81', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 100.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 600.0f, 600.0f, -99999.99f, 0.9f, 0.01f, 0.0f, 0.0f, 60.0f, 2.0f, 0.05f, 0.0f, -99999.99f, -99999.99f, 0.8f, 0.1f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK400, }, { 'FN40', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 70.0f, -10000.0f, -10000.0f, -10000.0f, -10000.0f, 800.0f, 500.0f, -10000.0f, 0.66f, 0.08f, -5.0f, -20.0f, 20.0f, 2.0f, 0.5f, 0.01f, 0.1f, -99999.99f, 0.1f, 0.1f, 58.0f, -10000.0f, -10000.0f, -10000.0f, 0.05f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN41', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 12.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 350.0f, 100.0f, -99999.99f, 0.66f, 0.09f, 15.0f, -40.0f, 60.0f, 2.0f, 0.05f, 0.1f, -99999.99f, -99999.99f, 2.0f, 0.3f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK400, }, { 'FN19', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.1f, -99999.99f, 0.75f, 0.25f, -25.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 480.0f, 250.0f, -99999.99f, 0.66f, 0.12f, -2.0f, -15.0f, 25.0f, 2.0f, 0.05f, 0.39f, -99999.99f, -99999.99f, 1.0f, 0.2f, 55.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK400, }, { 'LL81', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-99999.99f, -99999.99f, -99999.99f, 0.75f, 0.25f, 0.0f, 0.0f, 0.0f, 50.0f, 200.0f, 0.0f, 0.0f, 0.0f, 600.0f, 600.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f, -99999.99f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 60.0f, 60.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'DD01', - 0x10, + dCamAlg_SHIELD_CAMERA_e, {60.0f, 0.0f, -99999.99f, 0.03f, 0.03f, 50.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 550.0f, 450.0f, -99999.99f, -99999.99f, -99999.99f, 5.0f, -99999.99f, -99999.99f, 0.2f, -99999.99f, 0.15f, -99999.99f, -99999.99f, 0.33f, -99999.99f, 55.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK002, }, { 'MM19', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 0.0f, 10.0f, 35.0f, 0.0f, 1.88f, 320.0f, 250.0f, 600.0f, 0.0f, 20.0f, 0.0f, -5.0f, 70.0f, 0.0f, 2.8f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 55.0f, 52.5f, 60.0f, 0.0f, 0.4f}, dCamPrmFlg_UNK002, }, { 'DD02', - 0x10, + dCamAlg_SHIELD_CAMERA_e, {80.0f, 0.0f, -99999.99f, 0.03f, 0.03f, 50.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 550.0f, 450.0f, -99999.99f, -99999.99f, -99999.99f, 5.0f, -99999.99f, -99999.99f, 0.33f, -99999.99f, 0.15f, -99999.99f, -99999.99f, 0.5f, -99999.99f, 55.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK002, }, { 'FN42', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 25.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 380.0f, 300.0f, -99999.99f, 0.66f, 0.05f, 15.0f, -20.0f, 80.0f, 2.0f, 0.05f, 0.12f, -99999.99f, -99999.99f, 1.0f, 0.2f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'IN03', - 0x7, + dCamAlg_TOWER_CAMERA_e, {-180.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 0.0f, 10.0f, -99999.99f, -99999.99f, -99999.99f, 880.0f, 500.0f, -99999.99f, 0.66f, 0.05f, 50.0f, -40.0f, 60.0f, -99999.99f, 0.05f, 0.75f, 0.05f, -99999.99f, 115.0f, 115.0f, 75.0f, -99999.99f, 0.5f, -99999.99f, 0.05f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN43', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 200.0f, -10000.0f, -10000.0f, -10000.0f, -500.0f, 900.0f, 800.0f, -10000.0f, 0.66f, 0.08f, -3.0f, -20.0f, 20.0f, 2.0f, 0.5f, 0.01f, 0.1f, -99999.99f, 0.1f, 0.1f, 58.0f, -10000.0f, -10000.0f, -10000.0f, 0.05f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'FN11', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 5.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 410.0f, 300.0f, -99999.99f, 0.66f, 0.08f, 22.0f, 15.0f, 30.0f, 2.0f, 0.05f, 0.07f, -99999.99f, -99999.99f, 1.0f, 0.2f, 60.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, { 'MM21', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 0.0f, 20.0f, 35.0f, 0.0f, 1.2f, 320.0f, 250.0f, 750.0f, 0.0f, 27.0f, 0.0f, -30.0f, 30.0f, 0.0f, 2.2f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 55.0f, 52.5f, 60.0f, 0.0f, 0.4f}, dCamPrmFlg_UNK002, }, { 'MM20', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 10.0f, 0.0f, 30.0f, 0.0f, 2.0f, 320.0f, 250.0f, 500.0f, 0.0f, 26.0f, 0.0f, -5.0f, 20.0f, 0.0f, 1.2f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 55.0f, 50.0f, 64.0f, 0.0f, 0.9f}, dCamPrmFlg_UNK002, }, { 'FN05', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 20.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 400.0f, 300.0f, -99999.99f, 0.66f, 0.05f, -5.0f, 0.0f, 20.0f, 2.0f, 0.05f, 0.12f, -99999.99f, -99999.99f, 1.0f, 0.2f, 62.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK400, }, { 'FN36', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.25f, 0.1f, -10.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 460.0f, 350.0f, -99999.99f, 0.66f, 0.12f, 5.0f, -60.0f, 60.0f, 2.0f, 0.05f, 0.5f, -99999.99f, -99999.99f, 1.0f, 0.18f, 66.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK002, }, { 'MM81', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 0.0f, 30.0f, 50.0f, 0.0f, 5.0f, 320.0f, 250.0f, 1950.0f, 0.0f, 55.0f, 0.0f, -15.0f, 90.0f, 0.0f, 3.0f, 0.33f, 0.2f, -99999.99f, 0.0f, 6.0f, 55.0f, 65.0f, 55.0f, 0.0f, 1.5f}, dCamPrmFlg_UNK002, }, { 'SS01', - 0x4, + dCamAlg_SUBJECT_CAMERA_e, {0.0f, 0.0f, -99999.99f, -99999.99f, -99999.99f, -10.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 20.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 70.0f, 0.45f, 0.04f, -99999.99f, -99999.99f, 90.0f, 50.0f, 0.2f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK080, }, { 'LL18', - 0x2, + dCamAlg_LOCKON_CAMERA_e, {-10000.0f, -10000.0f, -99999.99f, 0.2f, 0.4f, 6.5f, -17.5f, 20.0f, -80.0f, 0.0f, 280.0f, 125.0f, 350.0f, 800.0f, 1200.0f, 2.0f, -40.0f, 40.0f, 20.0f, -15.0f, 0.3f, 0.0f, -99999.99f, 10.0f, 35.0f, 65.0f, 65.0f, 70.0f, 60.0f, 70.0f}, dCamPrmFlg_UNK002 | dCamPrmFlg_UNK004, }, { 'DD04', - 0x10, + dCamAlg_SHIELD_CAMERA_e, {80.0f, 0.0f, -99999.99f, 0.03f, 0.03f, 60.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 450.0f, 400.0f, -99999.99f, -99999.99f, -99999.99f, -4.0f, -99999.99f, -99999.99f, 0.33f, -99999.99f, 0.0f, -99999.99f, -99999.99f, -45.0f, -99999.99f, 45.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f}, dCamPrmFlg_UNK002, }, { 'MM22', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 0.0f, 0.0f, 30.0f, 0.0f, 3.0f, 320.0f, 240.0f, 600.0f, 0.0f, 19.0f, 0.0f, 0.0f, 15.0f, 0.0f, 0.7f, 0.33f, 0.66f, -99999.99f, 0.0f, 8.0f, 55.0f, 50.0f, 60.0f, 0.0f, 0.5f}, dCamPrmFlg_UNK002, }, { 'MM18', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 20.0f, 30.0f, 25.0f, 0.0f, 0.5f, 300.0f, 210.0f, 480.0f, 0.0f, 18.0f, 20.0f, 35.0f, 0.0f, 0.0f, 2.1f, 0.33f, 0.66f, -99999.99f, 0.0f, 8.0f, 55.0f, 55.0f, 58.0f, 0.0f, 0.45f}, dCamPrmFlg_UNK002, }, { 'MM17', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 30.0f, 25.0f, 30.0f, 0.0f, 0.5f, 250.0f, 160.0f, 420.0f, 0.0f, 20.0f, 20.0f, 40.0f, 5.0f, 0.0f, 2.4f, 0.33f, 0.66f, -99999.99f, 0.0f, 8.0f, 55.0f, 55.0f, 58.0f, 0.0f, 0.45f}, dCamPrmFlg_UNK002, }, #if VERSION > VERSION_JPN { 'MM03', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 10.0f, 0.0f, 30.0f, 0.0f, 5.2f, 320.0f, 260.0f, 660.0f, 0.0f, 25.0f, 0.0f, -10.0f, 30.0f, 0.0f, 2.0f, 0.33f, 0.5f, -99999.99f, 0.0f, 8.0f, 55.0f, 50.0f, 62.0f, 0.0f, 1.5f}, dCamPrmFlg_UNK002, }, { 'MM23', - 0xA, + dCamAlg_MANUAL_CAMERA_e, {0.0f, 0.0f, -99999.99f, 0.7f, 0.25f, 0.0f, 0.0f, 30.0f, 0.0f, 4.0f, 320.0f, 240.0f, 900.0f, 0.0f, 34.0f, 0.0f, -5.0f, 60.0f, 0.0f, 2.6f, 0.33f, 0.66f, -99999.99f, 0.0f, 8.0f, 55.0f, 50.0f, 60.0f, 0.0f, 0.8f}, dCamPrmFlg_UNK002, }, { 'FN38', - 0x1, + dCamAlg_FOLLOW_CAMERA_e, {1.0f, 0.0f, -99999.99f, 0.75f, 0.25f, 30.0f, -99999.99f, -99999.99f, -99999.99f, -99999.99f, 800.0f, 600.0f, -99999.99f, 0.66f, 0.15f, 15.0f, -40.0f, 60.0f, 2.0f, 0.05f, 0.3f, 0.05f, -99999.99f, 0.8f, 0.1f, 62.0f, -99999.99f, -99999.99f, -99999.99f, 0.05f}, dCamPrmFlg_UNK001 | dCamPrmFlg_UNK004 | dCamPrmFlg_UNK400, }, diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index 266c30cab..ca90e05bc 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -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 { diff --git a/src/d/d_map.cpp b/src/d/d_map.cpp index 6beb37e8d..ae2ba0533 100644 --- a/src/d/d_map.cpp +++ b/src/d/d_map.cpp @@ -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); } } diff --git a/src/d/d_menu_window.cpp b/src/d/d_menu_window.cpp index 45093fd0d..c1bf62509 100644 --- a/src/d/d_menu_window.cpp +++ b/src/d/d_menu_window.cpp @@ -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)) { diff --git a/src/d/d_meter.cpp b/src/d/d_meter.cpp index e422c6334..53201e682 100644 --- a/src/d/d_meter.cpp +++ b/src/d/d_meter.cpp @@ -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); } } diff --git a/src/d/d_msg.cpp b/src/d/d_msg.cpp index 1ce388955..705a09bac 100644 --- a/src/d/d_msg.cpp +++ b/src/d/d_msg.cpp @@ -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;