Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
c8fa4f0
Initial options menu hooks and design
hyperbx Oct 4, 2025
bbddfc4
Implemented option controls
hyperbx Oct 7, 2025
fdfa54a
Update resources submodule
hyperbx Oct 7, 2025
e37c0a9
Remove app init checks from options menu text rendering
hyperbx Oct 7, 2025
af4cf0f
Load hidden category dynamically
hyperbx Oct 7, 2025
de29c45
Implemented cursor animation
hyperbx Oct 7, 2025
43134c4
Implemented restart prompt for necessary options
hyperbx Oct 7, 2025
33d2373
Implemented intro and outro animations for controls
hyperbx Oct 8, 2025
578c63f
Implemented button guide and reset button
hyperbx Oct 8, 2025
6675206
Update resources submodule
hyperbx Oct 8, 2025
989a508
Disable button guide animation at main menu
hyperbx Oct 9, 2025
a8238cf
Keep game paused when options menu is opened
hyperbx Oct 9, 2025
45cbb58
Implemented animations for selection arrows
hyperbx Oct 9, 2025
e5f47de
Reopen pause menu pre-selecting the options button
hyperbx Oct 9, 2025
408796a
Update FPS locale
hyperbx Oct 9, 2025
770b66f
Implement Effects Volume option
hyperbx Oct 9, 2025
5d06a16
Fix slider gauges not fading out during outro animation
hyperbx Oct 9, 2025
89fa8bd
Clean-up
hyperbx Oct 9, 2025
5619bd9
Implemented hold input for cursor and sliders
hyperbx Oct 15, 2025
457214a
Don't redraw borders in options menu when accessed via the main menu
hyperbx Oct 15, 2025
29a28ad
Unpause stage BGM upon entering options menu
hyperbx Oct 15, 2025
e4cc2ca
Implemented Subtitles option
hyperbx Oct 15, 2025
1fe9d41
Implemented Hints and Control Tutorial options
hyperbx Oct 15, 2025
1266b62
Fix camera options not affecting demo camera
hyperbx Oct 16, 2025
36d5172
Keep BGM paused until Master or Music Volume sliders are selected
hyperbx Oct 16, 2025
c449e4e
Added hint patterns for disabling scripted hints
hyperbx Oct 17, 2025
f7e2fe3
Clean-up API and player patches, added Antigravity and Light Dash rem…
hyperbx Oct 17, 2025
16ea678
Disable unimplemented options temporarily
hyperbx Oct 17, 2025
649ef25
Disable stage title control tutorial
hyperbx Oct 17, 2025
3337322
Revert "Disable stage title control tutorial"
hyperbx Oct 17, 2025
e1ba0b8
Implemented Mute on Focus Lost option
hyperbx Oct 19, 2025
46bd4c1
Don't play button guide intro animation if buttons are the same
hyperbx Oct 19, 2025
169bbd0
Restored original transition animations between main menu and options…
hyperbx Oct 19, 2025
57ad79b
Implemented enum descriptions
hyperbx Oct 20, 2025
4bf7f52
Fix Window Size option not displaying the correct window size
hyperbx Oct 20, 2025
06e2cec
Prevent inputs leaking from the options menu to the main menu
hyperbx Oct 20, 2025
5c45b07
Improve chevron animation accuracy
hyperbx Oct 20, 2025
9f31e6a
Use linear interpolation for button guide animation
hyperbx Oct 20, 2025
abc1ad4
Fix aspect ratio scaling for custom UI
hyperbx Oct 21, 2025
cfd04df
Fix version info not accounting for letterbox
hyperbx Oct 21, 2025
0cd08a1
UI accuracy pass
hyperbx Oct 21, 2025
70c8aed
Implemented interpolated text renderer
hyperbx Oct 22, 2025
1715c6f
Improve locale for remapping actions
hyperbx Oct 22, 2025
8f589ff
Finalise options menu locale
hyperbx Oct 22, 2025
d5ef9a8
German and Italian localisation
hyperbx Oct 23, 2025
359f0a9
Spanish localisation by DaGuAr
hyperbx Oct 24, 2025
9ea40a1
Use correct linear interpolation strategy for all animations
hyperbx Oct 24, 2025
3ab810d
Fix options menu descriptions fading when unnecessary
hyperbx Oct 24, 2025
8f30a5d
Improved restart prompt
hyperbx Oct 24, 2025
7a19fa6
Fixed main menu not drawing accurately at original aspect ratio
hyperbx Oct 24, 2025
b347516
Fixed field offset in HUDMainMenu
hyperbx Oct 24, 2025
dc28c56
Fade option names to avoid clipping into scroll arrows
hyperbx Oct 25, 2025
87b4711
French localisation
hyperbx Oct 25, 2025
022ae65
Fix button guide being too short at ludicrously wide aspect ratios
hyperbx Oct 25, 2025
21cfbf6
Fix chevron animation not looping properly
hyperbx Oct 25, 2025
54fd452
Hide control tutorial messages for remapped actions
hyperbx Oct 26, 2025
316f450
Rename Antigravity option to Sliding Attack
hyperbx Oct 26, 2025
22275b7
Update locale for Light Dash and Sliding Attack
hyperbx Oct 26, 2025
e4b11e8
Fix options menu scaling at narrow aspect ratios
hyperbx Oct 26, 2025
46b6dbd
Fix "OPTIONS" title not being localised immediately upon changing lan…
hyperbx Oct 27, 2025
1fdb60b
Fix description text fading out when cancelling a restart
hyperbx Oct 27, 2025
53c00f8
Fixed animation delay between options menu -> main menu transition
hyperbx Oct 27, 2025
501d6e9
Fix seam in top metal plate at narrow aspect ratios
hyperbx Oct 27, 2025
9859f1b
Don't animate installer title when changing language
hyperbx Oct 27, 2025
9a27280
Disable credits marquee in installer (will address in a later PR)
hyperbx Oct 27, 2025
3e5b8d9
Fix red strip misaligning from top metal plate during intro and outro…
hyperbx Oct 27, 2025
e68743c
Japanese localisation
hyperbx Oct 27, 2025
b7216db
Update README.md
hyperbx Oct 28, 2025
2df0e42
Merge branch 'main' into options-menu
hyperbx Oct 28, 2025
0fa1693
Fix warnings
hyperbx Oct 28, 2025
8c7e7d6
Update embedded resources
hyperbx Oct 28, 2025
fb23056
Fix alignment
hyperbx Oct 28, 2025
8af4cd2
Finalised German localisation
hyperbx Oct 28, 2025
dccab1a
Update embedded resources
hyperbx Oct 28, 2025
c859325
Fix button guide displaying Reset button whilst options are locked on
hyperbx Oct 29, 2025
6f94bcd
Block options menu input during intro animation
hyperbx Oct 29, 2025
4d45b43
Addressed review comments
hyperbx Oct 29, 2025
53d5aec
Swap Xbox and PS3 voice lines when changing Controller Icons
hyperbx Oct 29, 2025
70f96a2
Clean-up
hyperbx Oct 30, 2025
44c3302
Fix Linux build
hyperbx Oct 30, 2025
f48cbff
Swap Xbox and PS3 button icons at loading screens
hyperbx Oct 30, 2025
d634f61
Fix Japanese main menu buttons not changing to PlayStation
hyperbx Oct 30, 2025
30c8a9b
ButtonGuide -> ButtonWindow
hyperbx Oct 30, 2025
a4e7ac1
Fix Tag text lingering at ultrawide in different menu states
hyperbx Oct 30, 2025
6c81ba9
Fix button window flickering when returning to main menu
hyperbx Oct 30, 2025
4a91c11
Increase Rodin font size for Japanese
hyperbx Oct 30, 2025
49159f3
Fix seam between option title background edge and stretch
hyperbx Oct 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 9 additions & 57 deletions MarathonRecomp/CMakeLists.txt

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include <CSD/Manager/csdmRCPtrAbs.h>
#include <Chao/CSD/Core/csdRCPtrAbs.h>

namespace Chao::CSD
{
Expand All @@ -10,13 +10,13 @@ namespace Chao::CSD
struct Vftable
{
be<uint32_t> fpDestroy;
be<uint32_t> fpDeallocate;
be<uint32_t> fpFree;
};

xpointer<Vftable> m_pVftable;
xpointer<void> m_pMemory;
be<uint32_t> m_RefCount;
xpointer<void> m_pDealloctor;
be<uint32_t> m_eDealloctor;
be<uint32_t> m_ReferenceCount;
xpointer<void> m_Field0C;
be<uint32_t> m_Field10;
};
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include <CSD/Manager/csdmRCPtr.h>
#include <Chao/CSD/Core/csdRCPtr.h>

namespace Chao::CSD
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include <CSD/Manager/csdmRCPtrAbs.h>
#include <Chao/CSD/Core/csdRCPtrAbs.h>

namespace Chao::CSD
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#pragma once

#include <CSD/Manager/csdmBase.h>
#include <CSD/Manager/csdmRCPtr.h>
#include <Chao/CSD/Core/csdBase.h>
#include <Chao/CSD/Core/csdRCPtr.h>

namespace Chao::CSD
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#pragma once

#include <Marathon.inl>
#include <CSD/Manager/csdmBase.h>
#include <CSD/Manager/csdmResourceBase.h>
#include <CSD/Manager/csdmNodeObserver.h>
#include <CSD/Manager/csdmSubjectBase.h>
#include <Chao/CSD/Core/csdBase.h>
#include <Chao/CSD/Manager/csdmResourceBase.h>
#include <Chao/CSD/Manager/csdmNodeObserver.h>
#include <Chao/CSD/Manager/csdmSubjectBase.h>

namespace Chao::CSD
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include <CSD/Manager/csdmObserverBase.h>
#include <Chao/CSD/Manager/csdmObserverBase.h>

namespace Chao::CSD
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ namespace Chao::CSD
};

xpointer<Vftable> m_pVftable;
MARATHON_INSERT_PADDING(0x08);
MARATHON_INSERT_PADDING(0x0C);
};
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#pragma once

#include <Marathon.inl>
#include <CSD/Manager/csdmBase.h>
#include <CSD/Manager/csdmResourceBase.h>
#include <Chao/CSD/Core/csdBase.h>
#include <Chao/CSD/Manager/csdmResourceBase.h>

namespace Chao::CSD
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include <CSD/Manager/csdmRCPtr.h>
#include <Chao/CSD/Core/csdRCPtr.h>

namespace Chao::CSD
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
#pragma once

#include <Marathon.inl>
#include <CSD/Manager/csdmBase.h>
#include <CSD/Manager/csdmResourceBase.h>
#include <CSD/Manager/csdmSceneObserver.h>
#include <CSD/Manager/csdmSubjectBase.h>
#include <Chao/CSD/Core/csdBase.h>
#include <Chao/CSD/Manager/csdmResourceBase.h>
#include <Chao/CSD/Manager/csdmSceneObserver.h>
#include <Chao/CSD/Manager/csdmSubjectBase.h>

namespace Chao::CSD
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#pragma once

#include <CSD/Manager/csdmObserverBase.h>
#include <Chao/CSD/Manager/csdmObserverBase.h>

namespace Chao::CSD
{
Expand Down
59 changes: 42 additions & 17 deletions MarathonRecomp/api/Marathon.h
Original file line number Diff line number Diff line change
@@ -1,30 +1,32 @@
#pragma once

#include "CSD/Manager/csdmBase.h"
#include "CSD/Manager/csdmMotionPattern.h"
#include "CSD/Manager/csdmNode.h"
#include "CSD/Manager/csdmNodeObserver.h"
#include "CSD/Manager/csdmObserverBase.h"
#include "CSD/Manager/csdmProject.h"
#include "CSD/Manager/csdmRCObject.h"
#include "CSD/Manager/csdmRCObjectImp.h"
#include "CSD/Manager/csdmRCPtr.h"
#include "CSD/Manager/csdmRCPtrAbs.h"
#include "CSD/Manager/csdmResourceBase.h"
#include "CSD/Manager/csdmScene.h"
#include "CSD/Manager/csdmSceneObserver.h"
#include "CSD/Manager/csdmSubjectBase.h"
#include "CSD/Platform/csdTexList.h"
#include "Chao/CSD/Core/csdBase.h"
#include "Chao/CSD/Core/csdRCObject.h"
#include "Chao/CSD/Core/csdRCObjectImp.h"
#include "Chao/CSD/Core/csdRCPtr.h"
#include "Chao/CSD/Core/csdRCPtrAbs.h"
#include "Chao/CSD/Core/csdTexList.h"
#include "Chao/CSD/Manager/csdmMotionPattern.h"
#include "Chao/CSD/Manager/csdmNode.h"
#include "Chao/CSD/Manager/csdmNodeObserver.h"
#include "Chao/CSD/Manager/csdmObserverBase.h"
#include "Chao/CSD/Manager/csdmProject.h"
#include "Chao/CSD/Manager/csdmResourceBase.h"
#include "Chao/CSD/Manager/csdmScene.h"
#include "Chao/CSD/Manager/csdmSceneObserver.h"
#include "Chao/CSD/Manager/csdmSubjectBase.h"
#include "Sonicteam/Actor.h"
#include "Sonicteam/ActorManager.h"
#include "Sonicteam/AlertWindowTask.h"
#include "Sonicteam/AppMarathon.h"
#include "Sonicteam/AudioEngineXenon.h"
#include "Sonicteam/ButtonWindowTask.h"
#include "Sonicteam/CObjBalloonIconDrawable.h"
#include "Sonicteam/Camera/CameraModeManager.h"
#include "Sonicteam/Camera/CameraMode.h"
#include "Sonicteam/Camera/CameraModeManager.h"
#include "Sonicteam/Camera/Cameraman.h"
#include "Sonicteam/Camera/SonicCamera.h"
#include "Sonicteam/CommonObjectHint.h"
#include "Sonicteam/CsdLink.h"
#include "Sonicteam/CsdManager.h"
#include "Sonicteam/CsdObject.h"
Expand All @@ -35,6 +37,7 @@
#include "Sonicteam/Enemy/EnemyShotNormal.h"
#include "Sonicteam/Enemy/EnemyShotPoint.h"
#include "Sonicteam/Fixture.h"
#include "Sonicteam/Game.h"
#include "Sonicteam/GameImp.h"
#include "Sonicteam/GameMode.h"
#include "Sonicteam/Globals.h"
Expand All @@ -45,6 +48,7 @@
#include "Sonicteam/HUDMainDisplay.h"
#include "Sonicteam/HUDMainMenu.h"
#include "Sonicteam/HUDMessageWindow.h"
#include "Sonicteam/HUDOption.h"
#include "Sonicteam/HUDPopupScreen.h"
#include "Sonicteam/HUDRaderMap.h"
#include "Sonicteam/HUDStageTitle.h"
Expand All @@ -54,13 +58,23 @@
#include "Sonicteam/MainDisplayTask.h"
#include "Sonicteam/MainMenuTask.h"
#include "Sonicteam/MainMode.h"
#include "Sonicteam/Message/MsgCameramanCameraMode.h"
#include "Sonicteam/Message/MsgCameramanChangeMode.h"
#include "Sonicteam/Message/MsgHUDButtonWindowChangeButtons.h"
#include "Sonicteam/Message/MsgHUDMainMenuChangeState.h"
#include "Sonicteam/Message/MsgHUDMainMenuSetCursor.h"
#include "Sonicteam/Message/MsgHUDMainMenuTransition.h"
#include "Sonicteam/Message/MsgMissionGetGlobalFlag.h"
#include "Sonicteam/Message/MsgObjJump123GetNextPoint.h"
#include "Sonicteam/Message/MsgPauseAdapterText.h"
#include "Sonicteam/Message/MsgSuckPlayer.h"
#include "Sonicteam/MessageWindowTask.h"
#include "Sonicteam/Mission/Core.h"
#include "Sonicteam/MovieObject.h"
#include "Sonicteam/MovieObjectWmv.h"
#include "Sonicteam/MovieTask.h"
#include "Sonicteam/MyCue.h"
#include "Sonicteam/MyCueAdx.h"
#include "Sonicteam/MyCueAttenuate.h"
#include "Sonicteam/MyGraphicsDevice.h"
#include "Sonicteam/MyPhantom.h"
#include "Sonicteam/MyTexture.h"
Expand All @@ -70,10 +84,13 @@
#include "Sonicteam/NoSyncThread.h"
#include "Sonicteam/ObjectVehicle.h"
#include "Sonicteam/ObjectVehicleBike.h"
#include "Sonicteam/PauseAdapter.h"
#include "Sonicteam/PauseTask.h"
#include "Sonicteam/Player/GroundRayListener.h"
#include "Sonicteam/Player/ICollisionListener.h"
#include "Sonicteam/Player/ICollisionListenerTemplate.h"
#include "Sonicteam/Player/IDynamicLink.h"
#include "Sonicteam/Player/IEventerListener.h"
#include "Sonicteam/Player/IExportExternalFlag.h"
#include "Sonicteam/Player/IExportPostureRequestFlag.h"
#include "Sonicteam/Player/IExportWeaponRequestFlag.h"
Expand All @@ -92,6 +109,9 @@
#include "Sonicteam/Player/IStepable.h"
#include "Sonicteam/Player/IVariable.h"
#include "Sonicteam/Player/IZock.h"
#include "Sonicteam/Player/Input/IListener.h"
#include "Sonicteam/Player/Input/ListenerNormal.h"
#include "Sonicteam/Player/Input/TimedAction.h"
#include "Sonicteam/Player/Object.h"
#include "Sonicteam/Player/PostureControl.h"
#include "Sonicteam/Player/RootFrame.h"
Expand All @@ -114,13 +134,17 @@
#include "Sonicteam/Player/Unit/ITestCase.h"
#include "Sonicteam/Player/Weapon/SonicWeapons.h"
#include "Sonicteam/Player/Zock.h"
#include "Sonicteam/PropFixture.h"
#include "Sonicteam/RaderMapManager.h"
#include "Sonicteam/SaveDataTask.h"
#include "Sonicteam/SaveDataTaskXENON.h"
#include "Sonicteam/SelectWindowTask.h"
#include "Sonicteam/SoX/AI/StateMachine.h"
#include "Sonicteam/SoX/ApplicationXenon.h"
#include "Sonicteam/SoX/Audio/Cue.h"
#include "Sonicteam/SoX/Audio/IAudioEngine.h"
#include "Sonicteam/SoX/Audio/Player.h"
#include "Sonicteam/SoX/Audio/PlayerImpl.h"
#include "Sonicteam/SoX/Component.h"
#include "Sonicteam/SoX/Engine/Application.h"
#include "Sonicteam/SoX/Engine/Doc.h"
Expand Down Expand Up @@ -181,6 +205,7 @@
#include "Sonicteam/VehicleMissileCtrl.h"
#include "Sonicteam/VehicleMissileCtrlAutomatic.h"
#include "Sonicteam/VehicleMissileCtrlSingle.h"
#include "Sonicteam/sonicXmaPlayer.h"
#include "boost/smart_ptr/make_shared_object.h"
#include "boost/smart_ptr/shared_ptr.h"
#include "hk330/hkArray.h"
Expand Down
6 changes: 3 additions & 3 deletions MarathonRecomp/api/Marathon.inl
Original file line number Diff line number Diff line change
Expand Up @@ -126,12 +126,12 @@ inline bool strcmpU16(const uint16_t* a, const uint16_t* b, bool endianSwapA = f
return true;
}

inline void printU16(const uint16_t* str)
inline void printU16(const uint16_t* str, bool endianSwap = false)
{
for (size_t i = 0; i < strlenU16(str); i++)
{
auto c0 = str[i] >> 8;
auto c1 = str[i] & 0xFF;
auto c0 = endianSwap ? ByteSwap(str[i]) >> 8 : str[i] >> 8;
auto c1 = endianSwap ? ByteSwap(str[i]) & 0xFF : str[i] & 0xFF;

printf("%c%c", c0, c1);
}
Expand Down
9 changes: 9 additions & 0 deletions MarathonRecomp/api/Sonicteam/AppMarathon.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#include <Marathon.inl>
#include <Sonicteam/SoX/ApplicationXenon.h>
#include <Sonicteam/DocMarathonState.h>
#include <Sonicteam/GameMode.h>

namespace Sonicteam
{
Expand All @@ -12,6 +13,14 @@ namespace Sonicteam
xpointer<DocMarathonState> m_pDoc;

static AppMarathon* GetInstance();

GameImp* GetGame() const
{
if (auto pGameMode = m_pDoc->GetDocMode<Sonicteam::GameMode>())
return pGameMode->GetGame();

return nullptr;
}
};
}

Expand Down
13 changes: 13 additions & 0 deletions MarathonRecomp/api/Sonicteam/ButtonWindowTask.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#pragma once

#include <Marathon.inl>
#include <Sonicteam/HUDButtonWindow.h>

namespace Sonicteam
{
class ButtonWindowTask : public SoX::Engine::Task
{
public:
xpointer<HUDButtonWindow> m_pHUDButtonWindow;
};
}
9 changes: 7 additions & 2 deletions MarathonRecomp/api/Sonicteam/Camera/CameraMode.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,13 @@ namespace Sonicteam::Camera
class CameraMode : public SoX::MessageReceiver
{
public:
boost::shared_ptr<GameImp> m_spGameImp;
xpointer<void> m_pTPCameraInputListener;
boost::shared_ptr<Game> m_spGame;
xpointer<void> m_pCameraInputListener;
MARATHON_INSERT_PADDING(0x18);

GameImp* GetGame() const
{
return (GameImp*)m_spGame.get();
}
};
}
16 changes: 8 additions & 8 deletions MarathonRecomp/api/Sonicteam/Camera/CameraModeManager.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,23 @@

#include <Marathon.inl>
#include <boost/smart_ptr/shared_ptr.h>
#include <api/stdx/vector.h>
#include <Sonicteam/Camera/Cameraman.h>
#include <Sonicteam/Camera/CameraMode.h>

namespace Sonicteam::Camera
{
class Cameraman;
class CameraMode;
class CameraModeManager
{
// TODO: figure out all these, 8218C100
struct _vector_struct_
public:
// TODO: research these fields (processed by 0x8218C100).
struct UnknownStruct
{
MARATHON_INSERT_PADDING(0x14);
};
public:

xpointer<Cameraman> m_pCameraman;
boost::shared_ptr<CameraMode> m_spCameraMode;
MARATHON_INSERT_PADDING(0x8);
stdx::vector<_vector_struct_> m_vVector;
MARATHON_INSERT_PADDING(8);
stdx::vector<UnknownStruct> m_vUnkStructs;
};
}
5 changes: 3 additions & 2 deletions MarathonRecomp/api/Sonicteam/Camera/Cameraman.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@

#include <Marathon.inl>
#include <boost/smart_ptr/shared_ptr.h>
#include <Sonicteam/Camera/CameraModeManager.h>

namespace Sonicteam::Camera
{
class CameraModeManager;

class Cameraman : public Actor
{
public:
MARATHON_INSERT_PADDING(0x24);
boost::shared_ptr<CameraModeManager> m_spCameraModeManager;
MARATHON_INSERT_PADDING(0x2C);
be<float> m_FOV; // 0xB0
be<float> m_FOV;
};
}
Loading
Loading