22
33#include < Marathon.inl>
44#include < boost/smart_ptr/shared_ptr.h>
5+ #include < Sonicteam/SoX/Audio/Cue.h>
56#include < Sonicteam/SoX/Physics/World.h>
67#include < Sonicteam/SoX/Scenery/Camera.h>
78#include < Sonicteam/SoX/Scenery/CameraImp.h>
89#include < Sonicteam/SoX/RefSharedPointer.h>
10+ #include < Sonicteam/Game.h>
911#include < Sonicteam/TextBook.h>
1012#include < stdx/vector.h>
1113
@@ -14,7 +16,7 @@ namespace Sonicteam
1416 class ActorManager ;
1517 class GameScript ;
1618
17- class GameImp : public SoX ::MessageReceiver
19+ class GameImp : public Game
1820 {
1921 public:
2022 enum GameState : uint32_t
@@ -75,7 +77,9 @@ namespace Sonicteam
7577 xpointer<TextBook> m_pSystemTextBook;
7678 MARATHON_INSERT_PADDING (8 );
7779 stdx::vector<stdx::vector<boost::shared_ptr<SoX::Scenery::Camera>>> m_vvspCameras;
78- MARATHON_INSERT_PADDING (0x7D4 );
80+ MARATHON_INSERT_PADDING (0x1B4 );
81+ xpointer<SoX::Audio::Cue> m_pBgmCue;
82+ MARATHON_INSERT_PADDING (0x61C );
7983 SoX::RefSharedPointer<SoX::Physics::World> m_spPhysicsWorld;
8084 xpointer<void > m_pMyCollisionFilter;
8185
@@ -90,7 +94,7 @@ namespace Sonicteam
9094 return -1 ;
9195 }
9296
93- SoX::Scenery::CameraImp* GetCameraImp (const char * pName, int which = 0 )
97+ SoX::Scenery::CameraImp* GetCamera (const char * pName, int which = 0 )
9498 {
9599 if (m_vvspCameras.empty ())
96100 return nullptr ;
@@ -106,6 +110,12 @@ namespace Sonicteam
106110 return nullptr ;
107111 }
108112
113+ template <typename T = SoX::Audio::Cue>
114+ T* GetBgmCue () const
115+ {
116+ return (T*)m_pBgmCue.get ();
117+ }
118+
109119 template <typename T = SoX::Physics::World>
110120 T* GetPhysicsWorld () const
111121 {
0 commit comments