mirror of https://github.com/AxioDL/metaforce.git
More class stubs
This commit is contained in:
parent
acb3c549f5
commit
d6e0a1c7c6
|
@ -0,0 +1,56 @@
|
||||||
|
#ifndef __RETRO_CGAMEDEBUG_HPP__
|
||||||
|
#define __RETRO_CGAMEDEBUG_HPP__
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
class CFinalInput;
|
||||||
|
|
||||||
|
const char* StringForControlOption(int);
|
||||||
|
|
||||||
|
enum EDebugMenu
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
enum EDebugOptions
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
enum EDebugMainMenu
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
class CDebugOption
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CDebugOption(EDebugMenu, EDebugOptions, const std::string&, bool);
|
||||||
|
CDebugOption(EDebugMenu, EDebugOptions, const std::string&, float, float, float, float);
|
||||||
|
};
|
||||||
|
|
||||||
|
class CGameDebug
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum EReturnValue
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
void DeactivateMenu();
|
||||||
|
void AddDebugOption(EDebugMenu, EDebugOptions, const char*, bool);
|
||||||
|
void AddDebugOption(EDebugMenu, EDebugOptions, const char*, float, float, float, float);
|
||||||
|
void SetCaptureMovieTimeLeft(float);
|
||||||
|
const std::string& GetCaptureMovieName();
|
||||||
|
void SetCaptureMovieName(const std::string&);
|
||||||
|
void AddDebugOptions();
|
||||||
|
void CopyDebugToTweaks();
|
||||||
|
void CopyTweaksToDebug();
|
||||||
|
void ProcessControllerInput(const CFinalInput&);
|
||||||
|
void Update(float);
|
||||||
|
void Draw(void) const;
|
||||||
|
void ActivateMenu(EDebugMainMenu, int);
|
||||||
|
void AddDebugOption(const CDebugOption&);
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CGAMEDEBUG_HPP__
|
|
@ -22,7 +22,7 @@ public:
|
||||||
MsgRetRemoveIOWin = 3
|
MsgRetRemoveIOWin = 3
|
||||||
};
|
};
|
||||||
virtual ~CIOWin() {}
|
virtual ~CIOWin() {}
|
||||||
CIOWin(const std::string& name) : m_name(name) {m_nameHash = std::hash<std::string>()(name);}
|
CIOWin(const char* name) : m_name(name) {m_nameHash = std::hash<std::string>()(m_name);}
|
||||||
virtual EMessageReturn OnMessage(const CArchitectureMessage&, CArchitectureQueue&)=0;
|
virtual EMessageReturn OnMessage(const CArchitectureMessage&, CArchitectureQueue&)=0;
|
||||||
virtual bool GetIsContinueDraw() const {return true;}
|
virtual bool GetIsContinueDraw() const {return true;}
|
||||||
virtual void Draw() const {}
|
virtual void Draw() const {}
|
||||||
|
|
|
@ -70,16 +70,16 @@ bool CIOWinManager::DistributeOneMessage(const CArchitectureMessage& msg,
|
||||||
while (node)
|
while (node)
|
||||||
{
|
{
|
||||||
CIOWin* iow = node->GetIOWin();
|
CIOWin* iow = node->GetIOWin();
|
||||||
CIOWin::EMessageReturn mret = iow->OnMessage(msg, x8_internalQueue);
|
CIOWin::EMessageReturn mret = iow->OnMessage(msg, x8_localGatherQueue);
|
||||||
|
|
||||||
while (x8_internalQueue)
|
while (x8_localGatherQueue)
|
||||||
{
|
{
|
||||||
CArchitectureMessage msg = x8_internalQueue.Pop();
|
CArchitectureMessage msg = x8_localGatherQueue.Pop();
|
||||||
if (msg.GetTarget() == TargetIOWinManager)
|
if (msg.GetTarget() == TargetIOWinManager)
|
||||||
{
|
{
|
||||||
if (OnIOWinMessage(msg))
|
if (OnIOWinMessage(msg))
|
||||||
{
|
{
|
||||||
x8_internalQueue.Clear();
|
x8_localGatherQueue.Clear();
|
||||||
queue.Clear();
|
queue.Clear();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -238,6 +238,7 @@ void CIOWinManager::RemoveAllIOWins()
|
||||||
node = node->x8_next;
|
node = node->x8_next;
|
||||||
delete delNode;
|
delete delNode;
|
||||||
}
|
}
|
||||||
|
x0_drawRoot = nullptr;
|
||||||
node = x4_pumpRoot;
|
node = x4_pumpRoot;
|
||||||
while (node)
|
while (node)
|
||||||
{
|
{
|
||||||
|
@ -245,6 +246,7 @@ void CIOWinManager::RemoveAllIOWins()
|
||||||
node = node->x8_next;
|
node = node->x8_next;
|
||||||
delete delNode;
|
delete delNode;
|
||||||
}
|
}
|
||||||
|
x4_pumpRoot = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CIOWinManager::RemoveIOWin(CIOWin* chIow)
|
void CIOWinManager::RemoveIOWin(CIOWin* chIow)
|
||||||
|
|
|
@ -25,7 +25,7 @@ class CIOWinManager
|
||||||
};
|
};
|
||||||
IOWinPQNode* x0_drawRoot = nullptr;
|
IOWinPQNode* x0_drawRoot = nullptr;
|
||||||
IOWinPQNode* x4_pumpRoot = nullptr;
|
IOWinPQNode* x4_pumpRoot = nullptr;
|
||||||
CArchitectureQueue x8_internalQueue;
|
CArchitectureQueue x8_localGatherQueue;
|
||||||
public:
|
public:
|
||||||
bool OnIOWinMessage(const CArchitectureMessage& msg);
|
bool OnIOWinMessage(const CArchitectureMessage& msg);
|
||||||
void Draw() const;
|
void Draw() const;
|
||||||
|
@ -39,8 +39,6 @@ public:
|
||||||
void AddIOWin(rstl::ncrc_ptr<CIOWin> toAdd, int pumpPrio, int drawPrio);
|
void AddIOWin(rstl::ncrc_ptr<CIOWin> toAdd, int pumpPrio, int drawPrio);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // __RETRO_CIOWINMANAGER_HPP__
|
#endif // __RETRO_CIOWINMANAGER_HPP__
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef __RETRO_CINGAMETWEAKMANAGERBASE_HPP__
|
||||||
|
#define __RETRO_CINGAMETWEAKMANAGERBASE_HPP__
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
|
||||||
|
class CInGameTweakManagerBase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
bool ReadFromMemoryCard(const std::string& name)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CINGAMETWEAKMANAGERBASE_HPP__
|
|
@ -1,19 +0,0 @@
|
||||||
#ifndef __RETRO_CMFGAME_HPP__
|
|
||||||
#define __RETRO_CMFGAME_HPP__
|
|
||||||
|
|
||||||
#include "CIOWin.hpp"
|
|
||||||
|
|
||||||
namespace Retro
|
|
||||||
{
|
|
||||||
|
|
||||||
class CMFGameLoader : public CIOWin
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
CMFGameLoader() : CIOWin("CMFGameLoader") {}
|
|
||||||
EMessageReturn OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue);
|
|
||||||
void Draw() const;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // __RETRO_CMFGAME_HPP__
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
#ifndef __RETRO_CMFGAMEBASE_HPP__
|
||||||
|
#define __RETRO_CMFGAMEBASE_HPP__
|
||||||
|
|
||||||
|
#include "CIOWin.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
|
||||||
|
class CMFGameBase : public CIOWin
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CMFGameBase(const char* name) : CIOWin(name) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
class CMFGameLoaderBase : public CIOWin
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CMFGameLoaderBase(const char* name) : CIOWin(name) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CMFGAMEBASE_HPP__
|
|
@ -1,39 +0,0 @@
|
||||||
#include "CMainFlow.hpp"
|
|
||||||
#include "CArchitectureQueue.hpp"
|
|
||||||
#include "CMFGame.hpp"
|
|
||||||
|
|
||||||
namespace Retro
|
|
||||||
{
|
|
||||||
|
|
||||||
void CMainFlow::AdvanceGameState(CArchitectureQueue& queue)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
void CMainFlow::SetGameState(EClientFlowStates state, CArchitectureQueue& queue)
|
|
||||||
{
|
|
||||||
switch (state)
|
|
||||||
{
|
|
||||||
case StateGameLoad:
|
|
||||||
queue.Push(std::move(MakeMsg::CreateCreateIOWin(TargetIOWinManager, 10, 1000, new CMFGameLoader())));
|
|
||||||
break;
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
CIOWin::EMessageReturn CMainFlow::OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue)
|
|
||||||
{
|
|
||||||
switch (msg.GetType())
|
|
||||||
{
|
|
||||||
case MsgTimerTick:
|
|
||||||
AdvanceGameState(queue);
|
|
||||||
break;
|
|
||||||
case MsgSetGameState:
|
|
||||||
{
|
|
||||||
CArchMsgParmInt32 state = MakeMsg::GetParmNewGameflowState(msg);
|
|
||||||
SetGameState(EClientFlowStates(state.x4_parm), queue);
|
|
||||||
return MsgRetExit;
|
|
||||||
}
|
|
||||||
default: break;
|
|
||||||
}
|
|
||||||
return MsgRetNormal;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
#include "CMainFlowBase.hpp"
|
||||||
|
#include "CArchitectureMessage.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
|
||||||
|
CIOWin::EMessageReturn CMainFlowBase::OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue)
|
||||||
|
{
|
||||||
|
switch (msg.GetType())
|
||||||
|
{
|
||||||
|
case MsgTimerTick:
|
||||||
|
AdvanceGameState(queue);
|
||||||
|
break;
|
||||||
|
case MsgSetGameState:
|
||||||
|
{
|
||||||
|
const CArchMsgParmInt32& state = MakeMsg::GetParmNewGameflowState(msg);
|
||||||
|
x14_gameState = EClientFlowStates(state.x4_parm);
|
||||||
|
SetGameState(x14_gameState, queue);
|
||||||
|
return MsgRetExit;
|
||||||
|
}
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
return MsgRetNormal;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMainFlowBase::AdvanceGameState(CArchitectureQueue& queue)
|
||||||
|
{
|
||||||
|
switch (x14_gameState)
|
||||||
|
{
|
||||||
|
case ClientStateFrontEnd:
|
||||||
|
SetGameState(ClientStateGameLoad, queue);
|
||||||
|
break;
|
||||||
|
case ClientStateUnspecified:
|
||||||
|
case ClientStateGameLoad:
|
||||||
|
SetGameState(ClientStateMoviePlay, queue);
|
||||||
|
break;
|
||||||
|
case ClientStateMoviePlay:
|
||||||
|
SetGameState(ClientStateFrontEnd, queue);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
#ifndef __RETRO_CMAINFLOWBASE_HPP__
|
||||||
|
#define __RETRO_CMAINFLOWBASE_HPP__
|
||||||
|
|
||||||
|
#include "CIOWin.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
|
||||||
|
enum EClientFlowStates
|
||||||
|
{
|
||||||
|
ClientStateUnspecified = -1,
|
||||||
|
ClientStateFrontEnd = 7,
|
||||||
|
ClientStateGameLoad = 13,
|
||||||
|
ClientStateMoviePlay = 14
|
||||||
|
};
|
||||||
|
|
||||||
|
class CMainFlowBase : public CIOWin
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
EClientFlowStates x14_gameState;
|
||||||
|
public:
|
||||||
|
CMainFlowBase(const char* name) : CIOWin(name) {}
|
||||||
|
EMessageReturn OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue);
|
||||||
|
void AdvanceGameState(CArchitectureQueue& queue);
|
||||||
|
virtual void SetGameState(EClientFlowStates state, CArchitectureQueue& queue)=0;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CMAINFLOWBASE_HPP__
|
|
@ -17,13 +17,12 @@ endif()
|
||||||
|
|
||||||
add_library(RuntimeCommon
|
add_library(RuntimeCommon
|
||||||
COsContext.hpp COsContextBoo.cpp
|
COsContext.hpp COsContextBoo.cpp
|
||||||
CMainFlow.hpp CMainFlow.cpp
|
|
||||||
CMemory.hpp CMemory.cpp
|
CMemory.hpp CMemory.cpp
|
||||||
CMemoryCardSys.hpp
|
CMemoryCardSys.hpp
|
||||||
IAllocator.hpp IAllocator.cpp
|
IAllocator.hpp IAllocator.cpp
|
||||||
CGameAllocator.hpp CGameAllocator.cpp
|
CGameAllocator.hpp CGameAllocator.cpp
|
||||||
CBasics.hpp CBasicsPC.cpp
|
CBasics.hpp CBasicsPC.cpp
|
||||||
CIOWin.hpp CIOWin.cpp
|
CIOWin.hpp
|
||||||
CIOWinManager.hpp CIOWinManager.cpp
|
CIOWinManager.hpp CIOWinManager.cpp
|
||||||
CStateManager.hpp CStateManager.cpp
|
CStateManager.hpp CStateManager.cpp
|
||||||
CGameState.hpp CGameState.cpp
|
CGameState.hpp CGameState.cpp
|
||||||
|
@ -46,8 +45,6 @@ add_library(RuntimeCommon
|
||||||
IFactory.hpp
|
IFactory.hpp
|
||||||
ScriptObjectSupport.hpp ScriptObjectSupport.cpp
|
ScriptObjectSupport.hpp ScriptObjectSupport.cpp
|
||||||
CObjectList.hpp
|
CObjectList.hpp
|
||||||
CMFGame.hpp CMFGame.cpp
|
|
||||||
CMainFlow.hpp CMainFlow.cpp
|
|
||||||
CArchitectureMessage.hpp
|
CArchitectureMessage.hpp
|
||||||
CArchitectureQueue.hpp CArchitectureQueue.cpp
|
CArchitectureQueue.hpp CArchitectureQueue.cpp
|
||||||
IObj.hpp
|
IObj.hpp
|
||||||
|
@ -61,6 +58,12 @@ add_library(RuntimeCommon
|
||||||
CStringExtras.hpp
|
CStringExtras.hpp
|
||||||
CCallStack.hpp
|
CCallStack.hpp
|
||||||
IOStreams.hpp IOStreams.cpp
|
IOStreams.hpp IOStreams.cpp
|
||||||
|
CMainFlowBase.hpp CMainFlowBase.cpp
|
||||||
|
CMFGameBase.hpp
|
||||||
|
CInGameTweakManagerBase.hpp
|
||||||
|
CPlayMovieBase.hpp
|
||||||
|
CMoviePlayer.hpp CMoviePlayer.cpp
|
||||||
|
CGameDebug.hpp CGameDebug.cpp
|
||||||
rstl.hpp rstl.cpp
|
rstl.hpp rstl.cpp
|
||||||
GameGlobalObjects.hpp
|
GameGlobalObjects.hpp
|
||||||
RetroTypes.hpp
|
RetroTypes.hpp
|
||||||
|
|
|
@ -0,0 +1,71 @@
|
||||||
|
#include "CMoviePlayer.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
|
||||||
|
CMoviePlayer::CMoviePlayer(const char* path, float startTime, bool flag)
|
||||||
|
: CDvdFile(path)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMoviePlayer::VerifyCallbackStatus()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::DisableStaticAudio()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::SetStaticAudioVolume(int vol)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::SetStaticAudio(const void* data, u32 length, u32 loopStart, u32 loopEnd)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::MixAudio(short* out, const short* in, u32 length)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::MixStaticAudio(short* out, const short* in, u32 length)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::StaticMyAudioCallback()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::Rewind()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CMoviePlayer::GetIsMovieFinishedPlaying() const
|
||||||
|
{
|
||||||
|
}
|
||||||
|
bool CMoviePlayer::GetIsFullyCached() const
|
||||||
|
{
|
||||||
|
}
|
||||||
|
float CMoviePlayer::GetPlayedSeconds() const
|
||||||
|
{
|
||||||
|
}
|
||||||
|
float CMoviePlayer::GetTotalSeconds() const
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::SetPlayMode(EPlayMode mode)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::DrawFrame(const CVector3f& a, const CVector3f& b,
|
||||||
|
const CVector3f& c, const CVector3f& d)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::Update(float dt)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::DecodeFromRead(const void* data)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::ReadCompleted()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::PostDVDReadRequestIfNeeded()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMoviePlayer::InitializeTextures()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,44 @@
|
||||||
|
#ifndef __RETRO_CMOVIEPLAYER_HPP__
|
||||||
|
#define __RETRO_CMOVIEPLAYER_HPP__
|
||||||
|
|
||||||
|
#include "RetroTypes.hpp"
|
||||||
|
#include "CDvdFile.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
class CVector3f;
|
||||||
|
|
||||||
|
class CMoviePlayer : public CDvdFile
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum EPlayMode
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
CMoviePlayer(const char* path, float startTime, bool flag);
|
||||||
|
|
||||||
|
static void VerifyCallbackStatus();
|
||||||
|
static void DisableStaticAudio();
|
||||||
|
static void SetStaticAudioVolume(int vol);
|
||||||
|
static void SetStaticAudio(const void* data, u32 length, u32 loopStart, u32 loopEnd);
|
||||||
|
void MixAudio(short* out, const short* in, u32 length);
|
||||||
|
static void MixStaticAudio(short* out, const short* in, u32 length);
|
||||||
|
static void StaticMyAudioCallback();
|
||||||
|
void Rewind();
|
||||||
|
|
||||||
|
bool GetIsMovieFinishedPlaying() const;
|
||||||
|
bool GetIsFullyCached() const;
|
||||||
|
float GetPlayedSeconds() const;
|
||||||
|
float GetTotalSeconds() const;
|
||||||
|
void SetPlayMode(EPlayMode);
|
||||||
|
void DrawFrame(const CVector3f& a, const CVector3f& b, const CVector3f& c, const CVector3f& d);
|
||||||
|
void Update(float dt);
|
||||||
|
void DecodeFromRead(const void* data);
|
||||||
|
void ReadCompleted();
|
||||||
|
void PostDVDReadRequestIfNeeded();
|
||||||
|
void InitializeTextures();
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CMOVIEPLAYER_HPP__
|
|
@ -0,0 +1,22 @@
|
||||||
|
#ifndef __RETRO_CPLAYMOVIEBASE_HPP__
|
||||||
|
#define __RETRO_CPLAYMOVIEBASE_HPP__
|
||||||
|
|
||||||
|
#include "CIOWin.hpp"
|
||||||
|
#include "CMoviePlayer.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
|
||||||
|
class CPlayMovieBase : public CIOWin
|
||||||
|
{
|
||||||
|
CMoviePlayer x18_moviePlayer;
|
||||||
|
public:
|
||||||
|
CPlayMovieBase(const char* iowName, const char* path)
|
||||||
|
: CIOWin(iowName), x18_moviePlayer(path, 0.0, false) {}
|
||||||
|
EMessageReturn OnMessage(const CArchitectureMessage&, CArchitectureQueue&) {}
|
||||||
|
void Draw() const {}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CPLAYMOVIEBASE_HPP__
|
|
@ -25,6 +25,7 @@ private:
|
||||||
std::unordered_map<SObjectTag, SLoadingData> m_loadList;
|
std::unordered_map<SObjectTag, SLoadingData> m_loadList;
|
||||||
void AddToLoadList(const SLoadingData& data) {m_loadList[data.tag] = data;}
|
void AddToLoadList(const SLoadingData& data) {m_loadList[data.tag] = data;}
|
||||||
public:
|
public:
|
||||||
|
CResLoader& GetLoader() {return x4_loader;}
|
||||||
std::unique_ptr<IObj> Build(const SObjectTag&, const CVParamTransfer&);
|
std::unique_ptr<IObj> Build(const SObjectTag&, const CVParamTransfer&);
|
||||||
void BuildAsync(const SObjectTag&, const CVParamTransfer&, IObj**);
|
void BuildAsync(const SObjectTag&, const CVParamTransfer&, IObj**);
|
||||||
void CancelBuild(const SObjectTag&);
|
void CancelBuild(const SObjectTag&);
|
||||||
|
|
|
@ -10,7 +10,7 @@ extern class CSimplePool* g_SimplePool;
|
||||||
extern class CCharacterFactoryBuilder* g_CharFactoryBuilder;
|
extern class CCharacterFactoryBuilder* g_CharFactoryBuilder;
|
||||||
extern class CAiFuncMap* g_AiFuncMap;
|
extern class CAiFuncMap* g_AiFuncMap;
|
||||||
extern class CGameState* g_GameState;
|
extern class CGameState* g_GameState;
|
||||||
extern class CInGameTweakManager* g_TweakManager;
|
extern class CInGameTweakManagerBase* g_TweakManager;
|
||||||
extern class CBooRenderer* g_Renderer;
|
extern class CBooRenderer* g_Renderer;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
#include "CFrontEndUI.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
|
CFrontEndUI::CFrontEndUI(CArchitectureQueue& queue)
|
||||||
|
: CIOWin("CFrontEnd")
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::OnSliderSelectionChange(CGuiSliderGroup* grp, float)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::OnCheckBoxSelectionChange(CGuiTableGroup* grp)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::OnOptionSubMenuCancel(CGuiTableGroup* grp)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::OnOptionsMenuCancel(CGuiTableGroup* grp)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::OnNewGameMenuCancel(CGuiTableGroup* grp)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::OnFileMenuCancel(CGuiTableGroup* grp)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::OnGenericMenuSelectionChange(CGuiTableGroup* grp, int, int)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::OnOptionsMenuAdvance(CGuiTableGroup* grp)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::OnNewGameMenuAdvance(CGuiTableGroup* grp)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::OnFileMenuAdvance(CGuiTableGroup* grp)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::OnMainMenuAdvance(CGuiTableGroup* grp)
|
||||||
|
{}
|
||||||
|
const char* CFrontEndUI::GetAttractMovieFileName(int idx)
|
||||||
|
{}
|
||||||
|
const char* CFrontEndUI::GetNextAttractMovieFileName(int idx)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::SetCurrentMovie(EMenuMovie movie)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::StopAttractMovie()
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::StartAttractMovie(int idx)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::UpdateMenuHighlights(CGuiTableGroup* grp)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::CompleteStateTransition()
|
||||||
|
{}
|
||||||
|
bool CFrontEndUI::CanBuild(const SObjectTag& tag)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::StartStateTransition(EScreen screen)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::HandleDebugMenuReturnValue(CGameDebug::EReturnValue val, CArchitectureQueue& queue)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::Draw() const
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::UpdateMovies(float dt)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::Update(float dt, CArchitectureQueue& queue)
|
||||||
|
{}
|
||||||
|
CIOWin::EMessageReturn CFrontEndUI::OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue)
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::StartGame()
|
||||||
|
{}
|
||||||
|
void CFrontEndUI::InitializeFrame()
|
||||||
|
{}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,59 @@
|
||||||
|
#ifndef __RETRO_CFRONTENDUI_HPP__
|
||||||
|
#define __RETRO_CFRONTENDUI_HPP__
|
||||||
|
|
||||||
|
#include "CIOWin.hpp"
|
||||||
|
#include "CGameDebug.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
class CGuiSliderGroup;
|
||||||
|
class CGuiTableGroup;
|
||||||
|
class SObjectTag;
|
||||||
|
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
|
class CFrontEndUI : public CIOWin
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum EMenuMovie
|
||||||
|
{
|
||||||
|
};
|
||||||
|
enum EScreen
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
CFrontEndUI(CArchitectureQueue& queue);
|
||||||
|
void OnSliderSelectionChange(CGuiSliderGroup* grp, float);
|
||||||
|
void OnCheckBoxSelectionChange(CGuiTableGroup* grp);
|
||||||
|
void OnOptionSubMenuCancel(CGuiTableGroup* grp);
|
||||||
|
void OnOptionsMenuCancel(CGuiTableGroup* grp);
|
||||||
|
void OnNewGameMenuCancel(CGuiTableGroup* grp);
|
||||||
|
void OnFileMenuCancel(CGuiTableGroup* grp);
|
||||||
|
void OnGenericMenuSelectionChange(CGuiTableGroup* grp, int, int);
|
||||||
|
void OnOptionsMenuAdvance(CGuiTableGroup* grp);
|
||||||
|
void OnNewGameMenuAdvance(CGuiTableGroup* grp);
|
||||||
|
void OnFileMenuAdvance(CGuiTableGroup* grp);
|
||||||
|
void OnMainMenuAdvance(CGuiTableGroup* grp);
|
||||||
|
const char* GetAttractMovieFileName(int idx);
|
||||||
|
const char* GetNextAttractMovieFileName(int idx);
|
||||||
|
void SetCurrentMovie(EMenuMovie movie);
|
||||||
|
void StopAttractMovie();
|
||||||
|
void StartAttractMovie(int idx);
|
||||||
|
void UpdateMenuHighlights(CGuiTableGroup* grp);
|
||||||
|
void CompleteStateTransition();
|
||||||
|
bool CanBuild(const SObjectTag& tag);
|
||||||
|
void StartStateTransition(EScreen screen);
|
||||||
|
void HandleDebugMenuReturnValue(CGameDebug::EReturnValue val, CArchitectureQueue& queue);
|
||||||
|
void Draw() const;
|
||||||
|
void UpdateMovies(float dt);
|
||||||
|
void Update(float dt, CArchitectureQueue& queue);
|
||||||
|
EMessageReturn OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue);
|
||||||
|
void StartGame();
|
||||||
|
void InitializeFrame();
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CFRONTENDUI_HPP__
|
|
@ -1,20 +1,20 @@
|
||||||
#ifndef __RETRO_CINGAMETWEAKMANAGER_HPP__
|
#ifndef __RETRO_CINGAMETWEAKMANAGER_HPP__
|
||||||
#define __RETRO_CINGAMETWEAKMANAGER_HPP__
|
#define __RETRO_CINGAMETWEAKMANAGER_HPP__
|
||||||
|
|
||||||
#include <string>
|
#include "CInGameTweakManagerBase.hpp"
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
class CInGameTweakManager
|
class CInGameTweakManager : public CInGameTweakManagerBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool ReadFromMemoryCard(const std::string& name)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // __RETRO_CINGAMETWEAKMANAGER_HPP__
|
#endif // __RETRO_CINGAMETWEAKMANAGER_HPP__
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
CIOWin::EMessageReturn CMFGameLoader::OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue)
|
CIOWin::EMessageReturn CMFGameLoader::OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue)
|
||||||
{
|
{
|
||||||
|
@ -26,3 +28,4 @@ void CMFGameLoader::Draw() const
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
#ifndef __RETRO_CMFGAME_HPP__
|
||||||
|
#define __RETRO_CMFGAME_HPP__
|
||||||
|
|
||||||
|
#include "CMFGameBase.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
|
class CMFGame : public CMFGameBase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CMFGame() : CMFGameBase("CMFGame") {}
|
||||||
|
CIOWin::EMessageReturn OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue);
|
||||||
|
void Draw() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
class CMFGameLoader : public CMFGameLoaderBase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CMFGameLoader() : CMFGameLoaderBase("CMFGameLoader") {}
|
||||||
|
EMessageReturn OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue);
|
||||||
|
void Draw() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CMFGAME_HPP__
|
|
@ -0,0 +1,54 @@
|
||||||
|
#ifndef __RETRO_CMAIN_HPP__
|
||||||
|
#define __RETRO_CMAIN_HPP__
|
||||||
|
|
||||||
|
#include "COsContext.hpp"
|
||||||
|
#include "CMemory.hpp"
|
||||||
|
#include "CTweaks.hpp"
|
||||||
|
#include "CPlayMovie.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
class CStopwatch;
|
||||||
|
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
|
enum EGameplayResult
|
||||||
|
{
|
||||||
|
GameplayResultNone,
|
||||||
|
GameplayResultWin,
|
||||||
|
GameplayResultLose,
|
||||||
|
GameplayResultPlaying
|
||||||
|
};
|
||||||
|
|
||||||
|
class CMain : public COsContext
|
||||||
|
{
|
||||||
|
CMemorySys x6c_memSys;
|
||||||
|
CTweaks x70_tweaks;
|
||||||
|
EGameplayResult xe4_gameplayResult;
|
||||||
|
bool xe8_finished = false;
|
||||||
|
public:
|
||||||
|
CMain();
|
||||||
|
void RegisterResourceTweaks();
|
||||||
|
void ResetGameState();
|
||||||
|
void StreamNewGameState(CInputStream&);
|
||||||
|
void CheckTweakManagerDebugOptions() {}
|
||||||
|
void AddWorldPaks();
|
||||||
|
int RsMain(int argc, const char* argv[]);
|
||||||
|
bool CheckReset();
|
||||||
|
bool CheckTerminate() {return false;}
|
||||||
|
void DrawDebugMetrics(double, CStopwatch&) {}
|
||||||
|
void DoPredrawMetrics() {}
|
||||||
|
void FillInAssetIDs();
|
||||||
|
void LoadAudio();
|
||||||
|
void ShutdownSubsystems();
|
||||||
|
void InitializeSubsystems();
|
||||||
|
EGameplayResult GetGameplayResult() const {return xe4_gameplayResult;}
|
||||||
|
void SetGameplayResult(EGameplayResult wl) {xe4_gameplayResult = wl;}
|
||||||
|
};
|
||||||
|
|
||||||
|
extern CMain* g_main;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CMAIN_HPP__
|
|
@ -0,0 +1,61 @@
|
||||||
|
#include "CMainFlow.hpp"
|
||||||
|
#include "CArchitectureQueue.hpp"
|
||||||
|
#include "CMFGame.hpp"
|
||||||
|
#include "CMain.hpp"
|
||||||
|
#include "CPlayMovie.hpp"
|
||||||
|
#include "CResFactory.hpp"
|
||||||
|
#include "CFrontEndUI.hpp"
|
||||||
|
#include "GameGlobalObjects.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void CMainFlow::SetGameState(EClientFlowStates state, CArchitectureQueue& queue)
|
||||||
|
{
|
||||||
|
switch (state)
|
||||||
|
{
|
||||||
|
case ClientStateFrontEnd:
|
||||||
|
{
|
||||||
|
if (g_main->GetGameplayResult() == GameplayResultNone)
|
||||||
|
{
|
||||||
|
g_main->SetGameplayResult(GameplayResultPlaying);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CResLoader& loader = g_ResFactory->GetLoader();
|
||||||
|
while (!loader.AreAllPaksLoaded())
|
||||||
|
loader.AsyncIdlePakLoading();
|
||||||
|
g_main->LoadAudio();
|
||||||
|
g_main->RegisterResourceTweaks();
|
||||||
|
queue.Push(std::move(MakeMsg::CreateCreateIOWin(TargetIOWinManager, 12, 11, new CFrontEndUI(queue))));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case ClientStateGameLoad:
|
||||||
|
{
|
||||||
|
queue.Push(std::move(MakeMsg::CreateCreateIOWin(TargetIOWinManager, 10, 1000, new CMFGameLoader())));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case ClientStateMoviePlay:
|
||||||
|
{
|
||||||
|
switch (g_main->GetGameplayResult())
|
||||||
|
{
|
||||||
|
case GameplayResultWin:
|
||||||
|
queue.Push(std::move(MakeMsg::CreateCreateIOWin(TargetIOWinManager, 12, 11, new CPlayMovie(CPlayMovie::MovieWinGame))));
|
||||||
|
break;
|
||||||
|
case GameplayResultLose:
|
||||||
|
queue.Push(std::move(MakeMsg::CreateCreateIOWin(TargetIOWinManager, 12, 11, new CPlayMovie(CPlayMovie::MovieLoseGame))));
|
||||||
|
break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,29 +1,27 @@
|
||||||
#ifndef __RETRO_CMAINFLOW_HPP__
|
#ifndef __RETRO_CMAINFLOW_HPP__
|
||||||
#define __RETRO_CMAINFLOW_HPP__
|
#define __RETRO_CMAINFLOW_HPP__
|
||||||
|
|
||||||
#include "CIOWin.hpp"
|
#include "CMainFlowBase.hpp"
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
class CArchitectureMessage;
|
class CArchitectureMessage;
|
||||||
class CArchitectureQueue;
|
class CArchitectureQueue;
|
||||||
|
|
||||||
enum EClientFlowStates
|
namespace MP1
|
||||||
{
|
{
|
||||||
StateGameLoad = 13,
|
|
||||||
};
|
|
||||||
|
|
||||||
class CMainFlow : public CIOWin
|
class CMainFlow : public CMainFlowBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CMainFlow() : CIOWin("CMainFlow") {}
|
CMainFlow() : CMainFlowBase("CMainFlow") {}
|
||||||
void AdvanceGameState(CArchitectureQueue& queue);
|
|
||||||
void SetGameState(EClientFlowStates state, CArchitectureQueue& queue);
|
void SetGameState(EClientFlowStates state, CArchitectureQueue& queue);
|
||||||
EMessageReturn OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue);
|
|
||||||
bool GetIsContinueDraw() const {return false;}
|
bool GetIsContinueDraw() const {return false;}
|
||||||
void Draw() const {}
|
void Draw() const {}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
#endif // __RETRO_CMAINFLOW_HPP__
|
#endif // __RETRO_CMAINFLOW_HPP__
|
|
@ -3,6 +3,11 @@ add_executable(mp1
|
||||||
CTweaks.hpp CTweaks.cpp
|
CTweaks.hpp CTweaks.cpp
|
||||||
CInGameTweakManager.hpp CInGameTweakManager.cpp
|
CInGameTweakManager.hpp CInGameTweakManager.cpp
|
||||||
CTweakParticle.hpp CTweakParticle.cpp
|
CTweakParticle.hpp CTweakParticle.cpp
|
||||||
|
CMainFlow.hpp CMainFlow.cpp
|
||||||
|
CMFGame.hpp CMFGame.cpp
|
||||||
|
CPlayMovie.hpp CPlayMovie.cpp
|
||||||
|
CFrontEndUI.hpp CFrontEndUI.cpp
|
||||||
|
CMain.hpp
|
||||||
main.cpp)
|
main.cpp)
|
||||||
target_link_libraries(mp1
|
target_link_libraries(mp1
|
||||||
RuntimeCommonCharacter
|
RuntimeCommonCharacter
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
|
const char* kMovies[] =
|
||||||
|
{
|
||||||
|
"Video/wingame.thp",
|
||||||
|
"Video/losegame.thp"
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
#ifndef __RETRO_CPLAYMOVIE_HPP__
|
||||||
|
#define __RETRO_CPLAYMOVIE_HPP__
|
||||||
|
|
||||||
|
#include "CPlayMovieBase.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
|
extern const char* kMovies[];
|
||||||
|
|
||||||
|
class CPlayMovie : public CPlayMovieBase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
enum EWhichMovie
|
||||||
|
{
|
||||||
|
MovieWinGame,
|
||||||
|
MovieLoseGame
|
||||||
|
};
|
||||||
|
private:
|
||||||
|
EWhichMovie x14_which;
|
||||||
|
public:
|
||||||
|
CPlayMovie(EWhichMovie which) : CPlayMovieBase("CPlayMovie", kMovies[which]), x14_which(which) {}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CPLAYMOVIE_HPP__
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
CTweakParticle::CTweakParticle(CInputStream&)
|
CTweakParticle::CTweakParticle(CInputStream&)
|
||||||
{
|
{
|
||||||
|
@ -9,3 +11,4 @@ CTweakParticle::CTweakParticle(CInputStream&)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -6,6 +6,8 @@
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
class CTweakParticle : DNAMP1::CTweakParticle
|
class CTweakParticle : DNAMP1::CTweakParticle
|
||||||
{
|
{
|
||||||
|
@ -13,6 +15,7 @@ public:
|
||||||
CTweakParticle(CInputStream&);
|
CTweakParticle(CInputStream&);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // __RETRO_CTWEAKPARTICLE_HPP__
|
#endif // __RETRO_CTWEAKPARTICLE_HPP__
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
void CTweaks::RegisterTweaks()
|
void CTweaks::RegisterTweaks()
|
||||||
{
|
{
|
||||||
|
@ -12,3 +14,4 @@ void CTweaks::RegisterResourceTweaks()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -6,6 +6,8 @@
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
|
namespace MP1
|
||||||
|
{
|
||||||
|
|
||||||
class CTweaks
|
class CTweaks
|
||||||
{
|
{
|
||||||
|
@ -15,6 +17,7 @@ public:
|
||||||
void RegisterResourceTweaks();
|
void RegisterResourceTweaks();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // __RETRO_CTWEAKS_HPP__
|
#endif // __RETRO_CTWEAKS_HPP__
|
||||||
|
|
|
@ -1,9 +1,6 @@
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <boo/boo.hpp>
|
#include <boo/boo.hpp>
|
||||||
#include "COsContext.hpp"
|
|
||||||
#include "CBasics.hpp"
|
#include "CBasics.hpp"
|
||||||
#include "CTweaks.hpp"
|
|
||||||
#include "CMemory.hpp"
|
|
||||||
#include "CMemoryCardSys.hpp"
|
#include "CMemoryCardSys.hpp"
|
||||||
#include "CResFactory.hpp"
|
#include "CResFactory.hpp"
|
||||||
#include "CSimplePool.hpp"
|
#include "CSimplePool.hpp"
|
||||||
|
@ -25,6 +22,7 @@
|
||||||
#include "Audio/CAudioStateWin.hpp"
|
#include "Audio/CAudioStateWin.hpp"
|
||||||
#include "GameGlobalObjects.hpp"
|
#include "GameGlobalObjects.hpp"
|
||||||
#include "CArchitectureQueue.hpp"
|
#include "CArchitectureQueue.hpp"
|
||||||
|
#include "CMain.hpp"
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
|
@ -34,11 +32,12 @@ CSimplePool* g_SimplePool = nullptr;
|
||||||
CCharacterFactoryBuilder* g_CharFactoryBuilder = nullptr;
|
CCharacterFactoryBuilder* g_CharFactoryBuilder = nullptr;
|
||||||
CAiFuncMap* g_AiFuncMap = nullptr;
|
CAiFuncMap* g_AiFuncMap = nullptr;
|
||||||
CGameState* g_GameState = nullptr;
|
CGameState* g_GameState = nullptr;
|
||||||
CInGameTweakManager* g_TweakManager = nullptr;
|
CInGameTweakManagerBase* g_TweakManager = nullptr;
|
||||||
CBooRenderer* g_Renderer = nullptr;
|
CBooRenderer* g_Renderer = nullptr;
|
||||||
|
|
||||||
namespace MP1
|
namespace MP1
|
||||||
{
|
{
|
||||||
|
class CMain* g_main = nullptr;
|
||||||
|
|
||||||
class CGameGlobalObjects
|
class CGameGlobalObjects
|
||||||
{
|
{
|
||||||
|
@ -109,46 +108,50 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class CMain : public COsContext
|
CMain::CMain()
|
||||||
|
: x6c_memSys(*this, CMemorySys::GetGameAllocator())
|
||||||
{
|
{
|
||||||
CMemorySys m_memSys;
|
OpenWindow("", 0, 0, 640, 480);
|
||||||
CTweaks m_tweaks;
|
g_main = this;
|
||||||
bool m_finished = false;
|
xe4_gameplayResult = GameplayResultPlaying;
|
||||||
public:
|
}
|
||||||
CMain()
|
void CMain::RegisterResourceTweaks()
|
||||||
: m_memSys(*this, CMemorySys::GetGameAllocator())
|
{
|
||||||
|
}
|
||||||
|
void CMain::ResetGameState()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMain::InitializeSubsystems()
|
||||||
|
{
|
||||||
|
CElementGen::Initialize();
|
||||||
|
CAnimData::InitializeCache();
|
||||||
|
CDecalManager::Initialize();
|
||||||
|
}
|
||||||
|
void CMain::AddWorldPaks()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMain::FillInAssetIDs()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void CMain::LoadAudio()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
int CMain::RsMain(int argc, const char* argv[])
|
||||||
|
{
|
||||||
|
TOneStatic<CGameGlobalObjects> globalObjs;
|
||||||
|
InitializeSubsystems();
|
||||||
|
globalObjs->PostInitialize(*this, x6c_memSys);
|
||||||
|
x70_tweaks.RegisterTweaks();
|
||||||
|
AddWorldPaks();
|
||||||
|
g_TweakManager->ReadFromMemoryCard("AudioTweaks");
|
||||||
|
FillInAssetIDs();
|
||||||
|
TOneStatic<CGameArchitectureSupport> archSupport(*this);
|
||||||
|
while (!xe8_finished)
|
||||||
{
|
{
|
||||||
OpenWindow("", 0, 0, 640, 480);
|
xe8_finished = archSupport->Update();
|
||||||
}
|
}
|
||||||
void InitializeSubsystems()
|
return 0;
|
||||||
{
|
}
|
||||||
CElementGen::Initialize();
|
|
||||||
CAnimData::InitializeCache();
|
|
||||||
CDecalManager::Initialize();
|
|
||||||
}
|
|
||||||
void AddWorldPaks()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
void FillInAssetIDs()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
int RsMain(int argc, const char* argv[])
|
|
||||||
{
|
|
||||||
TOneStatic<CGameGlobalObjects> globalObjs;
|
|
||||||
InitializeSubsystems();
|
|
||||||
globalObjs->PostInitialize(*this, m_memSys);
|
|
||||||
m_tweaks.RegisterTweaks();
|
|
||||||
AddWorldPaks();
|
|
||||||
g_TweakManager->ReadFromMemoryCard("AudioTweaks");
|
|
||||||
FillInAssetIDs();
|
|
||||||
TOneStatic<CGameArchitectureSupport> archSupport(*this);
|
|
||||||
while (!m_finished)
|
|
||||||
{
|
|
||||||
m_finished = archSupport->Update();
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue