diff options
| author | TakaRikka <takarikka@outlook.com> | 2023-01-03 17:43:38 -0800 |
|---|---|---|
| committer | TakaRikka <takarikka@outlook.com> | 2023-01-03 17:43:38 -0800 |
| commit | 92c2ef1ce34340df23234524f214302bfe3bc60b (patch) | |
| tree | 3550fb797240a214d396cb6677ba4af0213dd708 /include | |
| parent | e1114ebcf9bcadb3a82355c68c09b308ad3f9606 (diff) | |
d_s_room / d_a_bg first pass
Diffstat (limited to 'include')
| -rw-r--r-- | include/JSystem/J3DGraphAnimator/J3DAnimation.h | 17 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h | 2 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphAnimator/J3DModelData.h | 1 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphBase/J3DMaterial.h | 2 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphBase/J3DShape.h | 17 | ||||
| -rw-r--r-- | include/d/bg/d_bg_w_base.h | 5 | ||||
| -rw-r--r-- | include/d/com/d_com_inf_game.h | 31 | ||||
| -rw-r--r-- | include/d/com/d_com_static.h | 5 | ||||
| -rw-r--r-- | include/d/d_demo.h | 1 | ||||
| -rw-r--r-- | include/d/d_stage.h | 36 | ||||
| -rw-r--r-- | include/d/kankyo/d_kankyo.h | 2 | ||||
| -rw-r--r-- | include/d/particle/d_particle.h | 2 | ||||
| -rw-r--r-- | include/f_op/f_op_scene_mng.h | 4 | ||||
| -rw-r--r-- | include/f_pc/f_pc_manager.h | 5 | ||||
| -rw-r--r-- | include/m_Do/m_Do_ext.h | 9 | ||||
| -rw-r--r-- | include/m_Do/m_Do_lib.h | 9 |
16 files changed, 132 insertions, 16 deletions
diff --git a/include/JSystem/J3DGraphAnimator/J3DAnimation.h b/include/JSystem/J3DGraphAnimator/J3DAnimation.h index a3c6b90415..9034496b2c 100644 --- a/include/JSystem/J3DGraphAnimator/J3DAnimation.h +++ b/include/JSystem/J3DGraphAnimator/J3DAnimation.h @@ -368,6 +368,9 @@ public: calcTransform(getFrame(), param_0, pSRTInfo); } + u16 getUpdateMaterialID(u16 idx) const { return mUpdateMaterialID[idx]; } + u16 getUpdateMaterialNum() const { return field_0x14 / 3; } + private: /* 0x0C */ int field_0xc; /* 0x10 */ int field_0x10; @@ -379,7 +382,7 @@ private: /* 0x20 */ int field_0x20; /* 0x24 */ int field_0x24; /* 0x28 */ u8 mUpdateTexMtxID[4]; - /* 0x2C */ u16 mUpdateMaterialID[2]; + /* 0x2C */ u16* mUpdateMaterialID; /* 0x30 */ JUTNameTab field_0x30; /* 0x40 */ int field_0x40; /* 0x44 */ u16 field_0x44; @@ -427,6 +430,12 @@ public: /* 8032BD9C */ virtual ~J3DAnmTevRegKey(); /* 8032BE24 */ virtual s32 getKind() const; + u16 getCRegUpdateMaterialNum() const { return mCRegUpdateMaterialNum; } + u16 getKRegUpdateMaterialNum() const { return mKRegUpdateMaterialNum; } + + u16 getCRegUpdateMaterialID(u16 idx) const { return mCRegUpdateMaterialID[idx]; } + u16 getKRegUpdateMaterialID(u16 idx) const { return mKRegUpdateMaterialID[idx]; } + private: /* 0x0C */ u16 mCRegUpdateMaterialNum; /* 0x0E */ u16 mKRegUpdateMaterialNum; @@ -438,8 +447,10 @@ private: /* 0x1A */ u16 field_0x1a; /* 0x1C */ u16 field_0x1c; /* 0x1E */ u16 field_0x1e; - /* 0x20 */ u16 mCRegUpdateMaterialID[20]; - /* 0x34 */ u16 mKRegUpdateMaterialID[20]; + /* 0x20 */ u16* mCRegUpdateMaterialID; + /* 0x24 */ u8 field_0x24[0x34 - 0x24]; + /* 0x34 */ u16* mKRegUpdateMaterialID; + /* 0x38 */ u8 field_0x38[0x48 - 0x38]; /* 0x48 */ void* field_0x48; /* 0x4C */ void* field_0x4c; /* 0x50 */ int field_0x50; diff --git a/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h b/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h index 2cbe551312..79ed0e592d 100644 --- a/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h +++ b/include/JSystem/J3DGraphAnimator/J3DMaterialAttach.h @@ -32,6 +32,8 @@ public: J3DTexture* getTexture() const { return mTexture; } JUTNameTab* getTextureName() const { return mTextureName; } + JUTNameTab* getMaterialName() const { return mMaterialName; } + u16 getMaterialNum() const { return mMaterialNum; } bool isLocked() const { return field_0x1c == 1; } diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h index 1bc947fab4..766ae76a76 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModelData.h +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -22,6 +22,7 @@ public: /* 8032617C */ virtual ~J3DModelData(); J3DMaterialTable& getMaterialTable() { return mMaterialTable; } + JUTNameTab* getMaterialName() const { return mMaterialTable.getMaterialName(); } J3DVertexData& getVertexData() { return mVertexData; } u16 getShapeNum() const { return mShapeTable.getShapeNum(); } u16 getMaterialNum() const { return mMaterialTable.getMaterialNum(); } diff --git a/include/JSystem/J3DGraphBase/J3DMaterial.h b/include/JSystem/J3DGraphBase/J3DMaterial.h index 3dae56cd03..0ab504da98 100644 --- a/include/JSystem/J3DGraphBase/J3DMaterial.h +++ b/include/JSystem/J3DGraphBase/J3DMaterial.h @@ -63,6 +63,8 @@ public: u32 getTexNo(u32 idx) const { return mTevBlock->getTexNo(idx); } void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); } + void setTevKColor(u32 i, const J3DGXColor* i_color) { mTevBlock->setTevKColor(i, i_color); } + void setMaterialAnm(J3DMaterialAnm* i_anm) { mMaterialAnm = i_anm; } public: /* 0x04 */ J3DMaterial* mNext; diff --git a/include/JSystem/J3DGraphBase/J3DShape.h b/include/JSystem/J3DGraphBase/J3DShape.h index 3d26ef2d6b..ab571a668f 100644 --- a/include/JSystem/J3DGraphBase/J3DShape.h +++ b/include/JSystem/J3DGraphBase/J3DShape.h @@ -97,16 +97,19 @@ public: void setScaleFlagArray(u8* pScaleFlagArray) { mScaleFlagArray = pScaleFlagArray; } void setDrawMtx(Mtx** pDrawMtx) { mDrawMtx = pDrawMtx; } void setNrmMtx(Mtx33** pNrmMtx) { mNrmMtx = pNrmMtx; } + void setTexMtxLoadType(u32 type) { mFlags = (mFlags & 0xFFFF0FFF) | type; } bool getNBTFlag() const { return mHasNBT; } u32 getBumpMtxOffset() const { return mBumpMtxOffset; } - inline J3DMaterial* getMaterial() const { return mMaterial; } - inline u32 getIndex() const { return mIndex; } - inline u32 getPipeline() const { return (mFlags >> 2) & 0x07; } - inline u32 getTexMtxLoadType() const { return mFlags & 0xF000; } - inline u32 getMtxGroupNum() const { return mMtxGroupNum; } - inline J3DShapeDraw* getShapeDraw(u32 idx) const { return mShapeDraw[idx]; } - inline J3DShapeMtx* getShapeMtx(u32 idx) const { return mShapeMtx[idx]; } + J3DMaterial* getMaterial() const { return mMaterial; } + u32 getIndex() const { return mIndex; } + u32 getPipeline() const { return (mFlags >> 2) & 0x07; } + u32 getTexMtxLoadType() const { return mFlags & 0xF000; } + u32 getMtxGroupNum() const { return mMtxGroupNum; } + J3DShapeDraw* getShapeDraw(u32 idx) const { return mShapeDraw[idx]; } + J3DShapeMtx* getShapeMtx(u32 idx) const { return mShapeMtx[idx]; } + Vec* getMin() { return &mMin; } + Vec* getMax() { return &mMax; } static void resetVcdVatCache() { sOldVcdVatCmd = NULL; } diff --git a/include/d/bg/d_bg_w_base.h b/include/d/bg/d_bg_w_base.h index 0564f0f4a7..d18386aeea 100644 --- a/include/d/bg/d_bg_w_base.h +++ b/include/d/bg/d_bg_w_base.h @@ -17,6 +17,10 @@ class dBgW_Base : public cBgW_BgId { public: enum PushPullLabel {}; + enum PRIORITY { + PRIORITY_0, + }; + typedef s32 (*PushPull_CallBack)(cBgS_PolyInfo const&, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel); @@ -91,6 +95,7 @@ public: bool ChkPushPullOk() const { return m_pushPull_Ok; } void SetRoomId(int id) { m_roomId = id; } bool ChkPriority(int prio) { return m_priority == prio; } + void SetPriority(PRIORITY priority) { m_priority = priority; } private: /* 0x08 */ u8 m_priority; diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index cdb09b53fc..b6187c81c0 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -825,6 +825,7 @@ BOOL dComIfGs_isEventBit(u16 i_flag); int dComIfGs_isItemFirstBit(u8 i_no); u16 dComIfGs_getRupee(); static u16 dComIfGs_getLife(); +s8 dComIfGs_BossLife_public_Get(); inline void dComIfGs_init() { g_dComIfG_gameInfo.info.init(); @@ -1523,6 +1524,10 @@ inline void dComIfGs_setMemoryToCard(u8* i_saveData, int i_dataNum) { g_dComIfG_gameInfo.info.memory_to_card((char*)i_saveData, i_dataNum); } +inline int dComIfGs_createZone(int roomNo) { + return g_dComIfG_gameInfo.info.createZone(roomNo); +} + void dComIfGp_setSelectItem(int index); s32 dComIfGp_offHeapLockFlag(int flag); @@ -1544,6 +1549,7 @@ int dComIfGp_getSelectItemMaxNum(int index); void dComIfGp_mapShow(); void dComIfGp_mapHide(); bool dComIfGp_checkMapShow(); +void dComIfGp_ret_wp_set(s8); s32 dComIfGp_setHeapLockFlag(u8 flag); u8 dComIfGp_world_dark_get(); JKRExpHeap* dComIfGp_getSubHeap2D(int flag); @@ -1567,6 +1573,7 @@ static u8 dComIfGp_getDoStatus(); static u8 dComIfGp_getRStatus(); static dAttCatch_c* dComIfGp_att_getCatghTarget(); static void dComIfGp_setBottleStatus(u8 param_0, u8 param_1); +bool dComIfGp_getMapTrans(int i_roomNo, f32* o_transX, f32* o_transY, s16* o_angle); inline bool i_dComIfGp_checkPlayerStatus0(int param_0, u32 flag) { return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, flag); @@ -2347,6 +2354,10 @@ inline s32 dComIfGp_roomControl_getStayNo() { return dStage_roomControl_c::getStayNo(); } +inline s32 dComIfGp_roomControl_getZoneNo(int i_roomNo) { + return dStage_roomControl_c::getZoneNo(i_roomNo); +} + inline void dComIfGp_roomControl_initZone() { g_dComIfG_gameInfo.play.getRoomControl()->initZone(); } @@ -2375,12 +2386,28 @@ inline void dComIfGp_roomControl_setStayNo(int stayNo) { g_dComIfG_gameInfo.play.getRoomControl()->setStayNo(stayNo); } +inline void dComIfGp_roomControl_setZoneNo(int roomNo, int zoneNo) { + g_dComIfG_gameInfo.play.getRoomControl()->setZoneNo(roomNo, zoneNo); +} + inline dKy_tevstr_c* dComIfGp_roomControl_getTevStr(int i_roomNo) { return g_dComIfG_gameInfo.play.getRoomControl()->getTevStr(i_roomNo); } -inline bool dComIfGp_roomControl_checkStatusFlag(int i_roomNo, u8 flag) { - return g_dComIfG_gameInfo.play.mRoomControl.checkStatusFlag(i_roomNo, flag); +inline BOOL dComIfGp_roomControl_checkStatusFlag(int i_roomNo, u8 flag) { + return g_dComIfG_gameInfo.play.getRoomControl()->checkStatusFlag(i_roomNo, flag); +} + +inline void dComIfGp_roomControl_offStatusFlag(int i_roomNo, u8 flag) { + return g_dComIfG_gameInfo.play.getRoomControl()->offStatusFlag(i_roomNo, flag); +} + +inline void dComIfGp_roomControl_onStatusFlag(int i_roomNo, u8 flag) { + return g_dComIfG_gameInfo.play.getRoomControl()->onStatusFlag(i_roomNo, flag); +} + +inline void dComIfGp_roomControl_setStatusFlag(int i_roomNo, u8 flag) { + return g_dComIfG_gameInfo.play.getRoomControl()->setStatusFlag(i_roomNo, flag); } inline void dComIfGp_roomControl_zoneCountCheck(int i_roomNo) { diff --git a/include/d/com/d_com_static.h b/include/d/com/d_com_static.h index ba51a8f505..540fed86e5 100644 --- a/include/d/com/d_com_static.h +++ b/include/d/com/d_com_static.h @@ -48,6 +48,11 @@ public: /* 80031434 */ static bool check(s8 i_roomNo, cXyz const& i_pos); /* 800315A4 */ static void execute(); + static void reset(int roomNo) { + room_c* room = (room_c*)mRoom; // tmp + room[roomNo].reset(); + } + static u8 mData[1152]; static u8 mRoom[256]; static s16 mSetTop; diff --git a/include/d/d_demo.h b/include/d/d_demo.h index 9238020210..82d79c0b63 100644 --- a/include/d/d_demo.h +++ b/include/d/d_demo.h @@ -273,6 +273,7 @@ public: static dDemo_actor_c* getActor(u8 param_0) { return m_object->getActor(param_0); } static u32 getFrameNoMsg() { return m_frameNoMsg; } static s32 getMode() { return m_mode; } + static int getFrame() { return m_frame; } static JStudio::stb::TControl* getControl() { return m_control; } static bool isStatus(u32 status) { return m_status & status; } static void onStatus(u32 status) { m_status |= status; } diff --git a/include/d/d_stage.h b/include/d/d_stage.h index be7e187b07..e74c7acbb3 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -684,6 +684,7 @@ public: /* 0x68 */ int mVrboxcolNumInfo; }; // Size: 0x6C +class dBgW_base; class dStage_roomStatus_c { public: /* 0x000 */ dStage_roomDt_c mRoomDt; @@ -695,7 +696,7 @@ public: /* 0x3F8 */ s8 mMemBlockID; /* 0x3F9 */ u8 mRegionNo; /* 0x3FC */ int mProcID; - /* 0x400 */ int field_0x400; + /* 0x400 */ dBgW_base* mpBgW; int getZoneNo() const { return mZoneNo; } ~dStage_roomStatus_c() {} @@ -723,6 +724,11 @@ public: /* 0x04 */ void** m_dzs; }; + struct nameData { + /* 0x0 */ s8 m_num; + /* 0x1 */ char m_names[32][10]; // ? + }; + static void createRoomDzs(u8 i_num) { m_roomDzs.create(i_num); } static void* addRoomDzs(u8 i_num, u8 roomNo) { return m_roomDzs.add(i_num, roomNo); } static void removeRoomDzs() { m_roomDzs.remove(); } @@ -744,7 +750,7 @@ public: /* 80024940 */ static char* getArcBank(int); /* 80024954 */ static bool resetArchiveBank(int); /* 80024DB0 */ static void SetTimePass(int); - /* 8025BAAC */ void setZoneNo(int, int); + /* 8025BAAC */ static void setZoneNo(int, int); static s32 GetTimePass(); static s8 getStayNo() { return mStayNo; } @@ -763,14 +769,28 @@ public: static void offNoChangeRoom() { mNoChangeRoom = false; } static void setProcID(u32 id) { mProcID = id; } static u32 getProcID() { return mProcID; } + static void setStatusProcID(int i_roomNo, unsigned int i_id) { mStatus[i_roomNo].mProcID = i_id; } static int getStatusProcID(int i_roomNo) { return mStatus[i_roomNo].mProcID; } static void setFileList2(int i_roomNo, dStage_FileList2_dt_c* list) { mStatus[i_roomNo].mRoomDt.mFileList2Info = list; } - bool checkStatusFlag(int i_roomNo, u8 flag) const { + + static void setBgW(int param_0, dBgW_base* i_bgw) { + mStatus[param_0].mpBgW = i_bgw; + } + + BOOL checkStatusFlag(int i_roomNo, u8 flag) const { return cLib_checkBit(mStatus[i_roomNo].mFlag, flag); } + void offStatusFlag(int i_roomNo, u8 flag) { + return cLib_offBit(mStatus[i_roomNo].mFlag, flag); + } + + void onStatusFlag(int i_roomNo, u8 flag) { + return cLib_onBit(mStatus[i_roomNo].mFlag, flag); + } + static JKRExpHeap* mMemoryBlock[19]; static char mArcBank[32][10]; static dStage_roomStatus_c mStatus[0x40]; @@ -917,6 +937,12 @@ static s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0); void dStage_restartRoom(u32 roomParam, u32 mode, int param_2); struct cBgS_GndChk; int dStage_RoomCheck(cBgS_GndChk* gndChk); +void dStage_dt_c_roomReLoader(void* i_data, dStage_dt_c* stageDt, int param_2); +void dStage_dt_c_roomLoader(void* i_data, dStage_dt_c* stageDt, int param_2); + +inline bool dStage_roomRead_dt_c_ChkBg(u8 param_0) { + return param_0 & 0x80; +} inline s32 dStage_roomRead_dt_c_GetVrboxswitch(roomRead_data_class& data) { return data.field_0x2 & 8; @@ -970,6 +996,10 @@ inline s8 dStage_stagInfo_GetTimeH(stage_stag_info_class* p_info) { return p_info->field_0x0c >> 8; } +inline BOOL dStage_staginfo_GetArchiveHeap(stage_stag_info_class* p_info) { + return p_info->field_0x0a & 0x1000; +} + inline u32 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) { return p_info->field_0xb & 0xF; } diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index 331228746f..9e0c1dbcf6 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -37,7 +37,7 @@ static void GxFog_set(); static void GxXFog_set(); u8 dKy_pol_argument_get(cBgS_PolyInfo const* i_poly); void dKy_Sound_set(cXyz param_0, int param_1, unsigned int param_2, int param_3); - +void dKy_bg_MAxx_proc(void* param_0); struct LIGHT_INFLUENCE { /* 800CFC7C */ ~LIGHT_INFLUENCE() {} diff --git a/include/d/particle/d_particle.h b/include/d/particle/d_particle.h index b2c122b130..2224e4a00f 100644 --- a/include/d/particle/d_particle.h +++ b/include/d/particle/d_particle.h @@ -344,6 +344,8 @@ public: JKRExpHeap* getResHeap() { return m_resHeap; } + void levelAllForceOnEventMove() { field_0x210.allForceOnEventMove(); } + static void onStatus(u8 status) { mStatus |= status; } static void offStatus(u8 status) { mStatus &= ~status; } static bool isStatus(u8 status) { return mStatus & status; } diff --git a/include/f_op/f_op_scene_mng.h b/include/f_op/f_op_scene_mng.h index b3ecb7503b..1e645f11df 100644 --- a/include/f_op/f_op_scene_mng.h +++ b/include/f_op/f_op_scene_mng.h @@ -26,4 +26,8 @@ inline int fopScnM_LayerID(void* proc) { return fpcM_LayerID(proc); } +inline u32 fopScnM_GetParam(void* proc) { + return fpcM_GetParam(proc); +} + #endif diff --git a/include/f_pc/f_pc_manager.h b/include/f_pc/f_pc_manager.h index 7df7c5bc91..add8006b12 100644 --- a/include/f_pc/f_pc_manager.h +++ b/include/f_pc/f_pc_manager.h @@ -10,6 +10,7 @@ #include "f_pc/f_pc_stdcreate_req.h" #include "f_pc/f_pc_executor.h" #include "f_pc/f_pc_leaf.h" +#include "f_pc/f_pc_layer_iter.h" typedef int (*FastCreateReqFunc)(void*); typedef void (*fpcM_ManagementFunc)(void); @@ -66,6 +67,10 @@ inline BOOL fpcM_IsExecuting(unsigned int id) { return fpcEx_IsExist(id); } +inline void* fpcM_LyJudge(process_node_class* i_node, fpcLyIt_JudgeFunc i_func, void* i_data) { + return fpcLyIt_Judge(&i_node->mLayer, i_func, i_data); +} + void fpcM_Draw(void* pProc); s32 fpcM_DrawIterater(fpcM_DrawIteraterFunc pFunc); s32 fpcM_Execute(void* pProc); diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index 5e65b58120..3f9d17c756 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -61,6 +61,10 @@ public: } int remove(J3DModelData* i_modelData) { return i_modelData->removeTexMtxAnimator(mpAnm); } + void entryFrame() { entryFrame(getFrame()); } + void entryFrame(f32 frame) { setFrame(frame); } + + J3DAnmTextureSRTKey* getBtkAnm() const { return mpAnm; } private: /* 0x14 */ J3DAnmTextureSRTKey* mpAnm; @@ -87,6 +91,10 @@ public: } int remove(J3DModelData* i_modelData) { return i_modelData->removeTevRegAnimator(mpAnm); } + void entryFrame() { entryFrame(getFrame()); } + void entryFrame(f32 frame) { setFrame(frame); } + + J3DAnmTevRegKey* getBrkAnm() const { return mpAnm; } private: /* 0x14 */ J3DAnmTevRegKey* mpAnm; @@ -508,6 +516,7 @@ J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 param_1, u32 pa void mDoExt_setAraCacheSize(u32 size); int mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id); void mDoExt_modelEntryDL(J3DModel* i_model); +void mDoExt_setupStageTexture(J3DModelData* i_modelData); struct JUTFont; JUTFont* mDoExt_getMesgFont(); diff --git a/include/m_Do/m_Do_lib.h b/include/m_Do/m_Do_lib.h index 7c51c8b22d..568000f1b4 100644 --- a/include/m_Do/m_Do_lib.h +++ b/include/m_Do/m_Do_lib.h @@ -8,6 +8,15 @@ struct mDoLib_clipper { /* 8001528C */ void setup(f32, f32, f32, f32); + static void changeFar(f32 far) { + mClipper.setFar(far); + mClipper.calcViewFrustum(); + } + + static u32 clip(const Mtx m, const Vec* param_1, const Vec* param_2) { + return mClipper.clip(m, (Vec*)param_1, (Vec*)param_2); + } + static J3DUClipper mClipper; static f32 mSystemFar; static f32 mFovyRate; |
