mirror of https://github.com/AxioDL/metaforce.git
More stubs and main flow layout
This commit is contained in:
parent
3112addebd
commit
1b3d5e1d3c
|
@ -26,8 +26,9 @@ set(HECL_DATASPEC_PUSHES
|
||||||
HECL::Database::DATA_SPEC_REGISTRY.push_back(&Retro::SpecEntMP3);")
|
HECL::Database::DATA_SPEC_REGISTRY.push_back(&Retro::SpecEntMP3);")
|
||||||
add_subdirectory(hecl)
|
add_subdirectory(hecl)
|
||||||
add_subdirectory(NODLib)
|
add_subdirectory(NODLib)
|
||||||
|
set(NODLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/NODLib/include)
|
||||||
include_directories(${ATHENA_INCLUDE_DIR} ${LOG_VISOR_INCLUDE_DIR} ${HECL_INCLUDE_DIR}
|
include_directories(${ATHENA_INCLUDE_DIR} ${LOG_VISOR_INCLUDE_DIR} ${HECL_INCLUDE_DIR}
|
||||||
|
${NODLIB_INCLUDE_DIR}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR})
|
${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
set(NOD_LIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/NODLib/include)
|
|
||||||
add_subdirectory(DataSpec)
|
add_subdirectory(DataSpec)
|
||||||
add_subdirectory(Runtime)
|
add_subdirectory(Runtime)
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
include_directories(${HECL_INCLUDE_DIR} ${NOD_LIB_INCLUDE_DIR} ${LIBPNG_INCLUDE_DIR}
|
include_directories(${LIBPNG_INCLUDE_DIR} ${SQUISH_INCLUDE_DIR})
|
||||||
${SQUISH_INCLUDE_DIR})
|
|
||||||
|
|
||||||
# Magic ingredient
|
# Magic ingredient
|
||||||
find_package(atdna REQUIRED)
|
find_package(atdna REQUIRED)
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
#ifndef _DNAMP1_CTWEAKPARTICLE_HPP_
|
||||||
|
#define _DNAMP1_CTWEAKPARTICLE_HPP_
|
||||||
|
|
||||||
|
#include "../../DNACommon/DNACommon.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace DNAMP1
|
||||||
|
{
|
||||||
|
|
||||||
|
class CTweakParticle : BigYAML
|
||||||
|
{
|
||||||
|
DECL_YAML
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // _DNAMP1_CTWEAKPARTICLE_HPP_
|
|
@ -0,0 +1,18 @@
|
||||||
|
#ifndef __RETRO_CAUDIOSTATEWIN_HPP__
|
||||||
|
#define __RETRO_CAUDIOSTATEWIN_HPP__
|
||||||
|
|
||||||
|
#include "../CIOWin.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CAudioStateWin : public CIOWin
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CAUDIOSTATEWIN_HPP__
|
|
@ -0,0 +1,22 @@
|
||||||
|
#ifndef __RETRO_CAUDIOSYS_HPP__
|
||||||
|
#define __RETRO_CAUDIOSYS_HPP__
|
||||||
|
|
||||||
|
#include "../GCNTypes.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CAudioSys
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CAudioSys(u8,u8,u8,u8,u32)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CAUDIOSYS_HPP__
|
|
@ -0,0 +1,3 @@
|
||||||
|
add_library(RuntimeCommonAudio
|
||||||
|
CAudioSys.hpp CAudioSys.cpp
|
||||||
|
CAudioStateWin.hpp CAudioStateWin.cpp)
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef __RETRO_CFACTORYSTORE_HPP__
|
||||||
|
#define __RETRO_CFACTORYSTORE_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class IObjectStore
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CFACTORYSTORE_HPP__
|
|
@ -12,12 +12,11 @@ namespace Common
|
||||||
|
|
||||||
class CGameState
|
class CGameState
|
||||||
{
|
{
|
||||||
std::unique_ptr<CPlayerState> m_playerState;
|
TOneStatic<CPlayerState> m_playerState;
|
||||||
CGameOptions m_gameOpts;
|
CGameOptions m_gameOpts;
|
||||||
public:
|
public:
|
||||||
CGameState()
|
CGameState()
|
||||||
{
|
{
|
||||||
m_playerState.reset(new CPlayerState);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef __RETRO_CIOWIN_HPP__
|
||||||
|
#define __RETRO_CIOWIN_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CIOWin
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CIOWIN_HPP__
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef __RETRO_CIOWINMANAGER_HPP__
|
||||||
|
#define __RETRO_CIOWINMANAGER_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CIOWinManager
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CIOWINMANAGER_HPP__
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef __RETRO_CMAINFLOW_HPP__
|
||||||
|
#define __RETRO_CMAINFLOW_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CMainFlow
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CMAINFLOW_HPP__
|
|
@ -1,18 +1,20 @@
|
||||||
add_subdirectory(Graphics)
|
|
||||||
add_subdirectory(Audio)
|
add_subdirectory(Audio)
|
||||||
add_subdirectory(Character)
|
add_subdirectory(Character)
|
||||||
|
add_subdirectory(Graphics)
|
||||||
add_subdirectory(GuiSys)
|
add_subdirectory(GuiSys)
|
||||||
|
add_subdirectory(Input)
|
||||||
|
add_subdirectory(Particle)
|
||||||
|
|
||||||
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 CMemoryCardSysPC.cpp
|
CMemoryCardSys.hpp CMemoryCardSysPC.cpp
|
||||||
IAllocator.hpp IAllocator.cpp
|
IAllocator.hpp IAllocator.cpp
|
||||||
CGameAllocator.hpp CGameAllocator.cpp
|
CGameAllocator.hpp CGameAllocator.cpp
|
||||||
CBasics.hpp CBasicsPC.cpp
|
CBasics.hpp CBasicsPC.cpp
|
||||||
CTweaks.hpp CTweaks.cpp
|
CIOWin.hpp CIOWin.cpp
|
||||||
CInGameTweakManager.hpp CInGameTweakManager.cpp
|
CIOWinManager.hpp CIOWinManager.cpp
|
||||||
CTweakParticle.hpp CTweakParticle.cpp
|
|
||||||
CStateManager.hpp CStateManager.cpp
|
CStateManager.hpp CStateManager.cpp
|
||||||
CGameState.hpp CGameState.cpp
|
CGameState.hpp CGameState.cpp
|
||||||
CScriptMailbox.hpp CScriptMailbox.cpp
|
CScriptMailbox.hpp CScriptMailbox.cpp
|
||||||
|
@ -21,11 +23,13 @@ add_library(RuntimeCommon
|
||||||
CWorldTransManager.hpp CWorldTransManager.cpp
|
CWorldTransManager.hpp CWorldTransManager.cpp
|
||||||
CRandom16.hpp CRandom16.cpp
|
CRandom16.hpp CRandom16.cpp
|
||||||
CResFactory.hpp CResFactory.cpp
|
CResFactory.hpp CResFactory.cpp
|
||||||
|
CFactoryStore.hpp CFactoryStore.cpp
|
||||||
CSimplePool.hpp CSimplePool.cpp
|
CSimplePool.hpp CSimplePool.cpp
|
||||||
CAi.hpp CAi.cpp
|
CAi.hpp CAi.cpp
|
||||||
CGameOptions.hpp CGameOptions.cpp
|
CGameOptions.hpp CGameOptions.cpp
|
||||||
CStaticInterference.hpp CStaticInterference.cpp
|
CStaticInterference.hpp CStaticInterference.cpp
|
||||||
CElementGen.hpp CElementGen.cpp
|
|
||||||
CCRC32.hpp CCRC32.cpp
|
CCRC32.hpp CCRC32.cpp
|
||||||
|
IFactory.hpp
|
||||||
|
GameGlobalObjects.hpp
|
||||||
RetroTemplates.hpp
|
RetroTemplates.hpp
|
||||||
GCNTypes.hpp)
|
GCNTypes.hpp)
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace Retro
|
||||||
namespace Common
|
namespace Common
|
||||||
{
|
{
|
||||||
|
|
||||||
class CPlayerState : public TOneStatic<CPlayerState>
|
class CPlayerState
|
||||||
{
|
{
|
||||||
CStaticInterference m_staticIntf;
|
CStaticInterference m_staticIntf;
|
||||||
class CPowerUp
|
class CPowerUp
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
#ifndef __RETRO_CRESFACTORY_HPP__
|
#ifndef __RETRO_CRESFACTORY_HPP__
|
||||||
#define __RETRO_CRESFACTORY_HPP__
|
#define __RETRO_CRESFACTORY_HPP__
|
||||||
|
|
||||||
|
#include "IFactory.hpp"
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
namespace Common
|
namespace Common
|
||||||
{
|
{
|
||||||
|
|
||||||
class CResFactory
|
class CResFactory : public IFactory
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,20 @@
|
||||||
#ifndef __RETRO_CSIMPLEPOOL_HPP__
|
#ifndef __RETRO_CSIMPLEPOOL_HPP__
|
||||||
#define __RETRO_CSIMPLEPOOL_HPP__
|
#define __RETRO_CSIMPLEPOOL_HPP__
|
||||||
|
|
||||||
|
#include "IFactory.hpp"
|
||||||
|
#include "CFactoryStore.hpp"
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
namespace Common
|
namespace Common
|
||||||
{
|
{
|
||||||
|
|
||||||
class CSimplePool
|
class CSimplePool : public IObjectStore
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
CSimplePool(IFactory&)
|
||||||
|
{
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ namespace Retro
|
||||||
namespace Common
|
namespace Common
|
||||||
{
|
{
|
||||||
|
|
||||||
class CStateManager : public TOneStatic<CStateManager>
|
class CStateManager
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CStateManager(const std::weak_ptr<CScriptMailbox>&,
|
CStateManager(const std::weak_ptr<CScriptMailbox>&,
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef __RETRO_CANIMDATA_HPP__
|
||||||
|
#define __RETRO_CANIMDATA_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CAnimData
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static void InitializeCache()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CANIMDATA_HPP__
|
|
@ -1,13 +1,19 @@
|
||||||
#ifndef __RETRO_CASSETFACTORY_HPP__
|
#ifndef __RETRO_CASSETFACTORY_HPP__
|
||||||
#define __RETRO_CASSETFACTORY_HPP__
|
#define __RETRO_CASSETFACTORY_HPP__
|
||||||
|
|
||||||
|
#include "../IFactory.hpp"
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
namespace Common
|
namespace Common
|
||||||
{
|
{
|
||||||
|
|
||||||
class CCharacterFactoryBuilder
|
class CCharacterFactoryBuilder : public IFactory
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
class CDummyFactory : public IFactory
|
||||||
|
{
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef __RETRO_CCHARANIMTIME_HPP__
|
||||||
|
#define __RETRO_CCHARANIMTIME_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CCharAnimTime
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CCHARANIMTIME_HPP__
|
|
@ -1,8 +1,22 @@
|
||||||
#ifndef __RETRO_CCHARACTERFACTORY_HPP__
|
#ifndef __RETRO_CCHARACTERFACTORY_HPP__
|
||||||
#define __RETRO_CCHARACTERFACTORY_HPP__
|
#define __RETRO_CCHARACTERFACTORY_HPP__
|
||||||
|
|
||||||
class CCharacterFactory
|
#include "../IFactory.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CCharacterFactory : public IFactory
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
class CDummyFactory : public IFactory
|
||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif // __RETRO_CCHARACTERFACTORY_HPP__
|
#endif // __RETRO_CCHARACTERFACTORY_HPP__
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
add_library(RuntimeCommonCharacter
|
add_library(RuntimeCommonCharacter
|
||||||
CAssetFactory.hpp CAssetFactory.cpp
|
CAssetFactory.hpp CAssetFactory.cpp
|
||||||
CCharacterFactory.hpp CCharacterFactory.cpp
|
CCharacterFactory.hpp CCharacterFactory.cpp
|
||||||
CAnimData.hpp CAnimData.cpp)
|
CAnimData.hpp CAnimData.cpp
|
||||||
|
CCharAnimTime.hpp CCharAnimTime.cpp)
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
#ifndef __RETRO_GAMEGLOBALOBJECTS_HPP__
|
||||||
|
#define __RETRO_GAMEGLOBALOBJECTS_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
extern class CMemoryCardSys* g_MemoryCardSys;
|
||||||
|
extern class CResFactory* g_ResFactory;
|
||||||
|
extern class CSimplePool* g_SimplePool;
|
||||||
|
extern class CCharacterFactoryBuilder* g_CharFactoryBuilder;
|
||||||
|
extern class CAiFuncMap* g_AiFuncMap;
|
||||||
|
extern class CGameState* g_GameState;
|
||||||
|
extern class CInGameTweakManager* g_TweakManager;
|
||||||
|
extern class CBooRenderer* g_Renderer;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_GAMEGLOBALOBJECTS_HPP__
|
|
@ -0,0 +1,25 @@
|
||||||
|
#ifndef __RETRO_CBOORENDERER_HPP__
|
||||||
|
#define __RETRO_CBOORENDERER_HPP__
|
||||||
|
|
||||||
|
#include "../CFactoryStore.hpp"
|
||||||
|
#include "../COsContext.hpp"
|
||||||
|
#include "../CMemory.hpp"
|
||||||
|
#include "../CResFactory.hpp"
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CBooRenderer
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CBooRenderer(IObjectStore&, COsContext&, CMemorySys&, CResFactory&)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CBOORENDERER_HPP__
|
|
@ -0,0 +1,2 @@
|
||||||
|
add_library(RuntimeCommonGraphics
|
||||||
|
CBooRenderer.hpp CBooRenderer.cpp)
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef __RETRO_CCONSOLEOUTPUTWINDOW_HPP__
|
||||||
|
#define __RETRO_CCONSOLEOUTPUTWINDOW_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CConsoleOutputWindow
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CCONSOLEOUTPUTWINDOW_HPP__
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef __RETRO_CGUISYS_HPP__
|
||||||
|
#define __RETRO_CGUISYS_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CGuiSys
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CGUISYS_HPP__
|
|
@ -0,0 +1,4 @@
|
||||||
|
add_library(RuntimeCommonGuiSys
|
||||||
|
CGuiSys.hpp CGuiSys.cpp
|
||||||
|
CSplashScreen.hpp CSplashScreen.cpp
|
||||||
|
CConsoleOutputWindow.hpp CConsoleOutputWindow.cpp)
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef __RETRO_CSPLASHSCREEN_HPP__
|
||||||
|
#define __RETRO_CSPLASHSCREEN_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CSplashScreen
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CSPLASHSCREEN_HPP__
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef __RETRO_IFACTORY_HPP__
|
||||||
|
#define __RETRO_IFACTORY_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class IFactory
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_IFACTORY_HPP__
|
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef __RETRO_CINPUTGENERATOR_HPP__
|
||||||
|
#define __RETRO_CINPUTGENERATOR_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CInputGenerator
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CINPUTGENERATOR_HPP__
|
|
@ -0,0 +1,2 @@
|
||||||
|
add_library(RuntimeCommonInput
|
||||||
|
CInputGenerator.hpp CInputGenerator.cpp)
|
|
@ -0,0 +1,20 @@
|
||||||
|
#ifndef __RETRO_CDECALMANAGER_HPP__
|
||||||
|
#define __RETRO_CDECALMANAGER_HPP__
|
||||||
|
|
||||||
|
namespace Retro
|
||||||
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
|
||||||
|
class CDecalManager
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static void Initialize()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // __RETRO_CDECALMANAGER_HPP__
|
|
@ -8,6 +8,10 @@ namespace Common
|
||||||
|
|
||||||
class CElementGen
|
class CElementGen
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
static void Initialize()
|
||||||
|
{
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
add_library(RuntimeCommonParticle
|
||||||
|
CElementGen.hpp CElementGen.cpp
|
||||||
|
CDecalManager.hpp CDecalManager.cpp)
|
|
@ -1,6 +1,7 @@
|
||||||
#ifndef __RETRO_TEMPLATES_HPP__
|
#ifndef __RETRO_TEMPLATES_HPP__
|
||||||
#define __RETRO_TEMPLATES_HPP__
|
#define __RETRO_TEMPLATES_HPP__
|
||||||
|
|
||||||
|
#include <utility>
|
||||||
#include "GCNTypes.hpp"
|
#include "GCNTypes.hpp"
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
|
@ -14,15 +15,32 @@ namespace Common
|
||||||
template<class T>
|
template<class T>
|
||||||
class TOneStatic
|
class TOneStatic
|
||||||
{
|
{
|
||||||
static T m_allocspace;
|
static u8 m_allocspace[sizeof(T)];
|
||||||
static uint32_t m_refCount;
|
static uint32_t m_refCount;
|
||||||
public:
|
public:
|
||||||
static T* GetAllocSpace() {return &m_allocspace;}
|
static T* GetAllocSpace() {return (T*)m_allocspace;}
|
||||||
static u32& ReferenceCount() {return m_refCount;}
|
static u32& ReferenceCount() {return m_refCount;}
|
||||||
void* operator new(size_t) {++ReferenceCount(); return GetAllocSpace();}
|
T* operator->() const {return (T*)m_allocspace;}
|
||||||
void operator delete(void*) {--ReferenceCount();}
|
|
||||||
|
void* operator new(size_t) = delete;
|
||||||
|
void operator delete(void*) = delete;
|
||||||
|
|
||||||
|
template<typename U = T>
|
||||||
|
TOneStatic(typename std::enable_if<!std::is_default_constructible<U>::value>::type* = 0)
|
||||||
|
{++ReferenceCount();}
|
||||||
|
template<typename U = T>
|
||||||
|
TOneStatic(typename std::enable_if<std::is_default_constructible<U>::value>::type* = 0)
|
||||||
|
{++ReferenceCount(); new (GetAllocSpace()) T();}
|
||||||
|
|
||||||
|
template<typename... Args> TOneStatic(Args&&... args)
|
||||||
|
{++ReferenceCount(); new (GetAllocSpace()) T(std::forward<Args>(args)...);}
|
||||||
|
|
||||||
|
~TOneStatic() {--ReferenceCount();}
|
||||||
|
|
||||||
|
template<typename... Args> void reset(Args&&... args)
|
||||||
|
{new (GetAllocSpace()) T(std::forward<Args>(args)...);}
|
||||||
};
|
};
|
||||||
template<class T> T TOneStatic<T>::m_allocspace;
|
template<class T> u8 TOneStatic<T>::m_allocspace[sizeof(T)];
|
||||||
template<class T> u32 TOneStatic<T>::m_refCount;
|
template<class T> u32 TOneStatic<T>::m_refCount;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef __RETRO_CINGAMETWEAKMANAGER_HPP__
|
#ifndef __RETRO_CINGAMETWEAKMANAGER_HPP__
|
||||||
#define __RETRO_CINGAMETWEAKMANAGER_HPP__
|
#define __RETRO_CINGAMETWEAKMANAGER_HPP__
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
namespace Common
|
namespace Common
|
||||||
|
@ -8,6 +10,11 @@ namespace Common
|
||||||
|
|
||||||
class CInGameTweakManager
|
class CInGameTweakManager
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
bool ReadFromMemoryCard(const std::string& name)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,6 +1,11 @@
|
||||||
include_directories(. ../Common)
|
include_directories(. ../Common)
|
||||||
add_executable(mp1
|
add_executable(mp1
|
||||||
|
CTweaks.hpp CTweaks.cpp
|
||||||
|
CInGameTweakManager.hpp CInGameTweakManager.cpp
|
||||||
|
CTweakParticle.hpp CTweakParticle.cpp
|
||||||
main.cpp)
|
main.cpp)
|
||||||
target_link_libraries(mp1
|
target_link_libraries(mp1
|
||||||
RuntimeCommonCharacter
|
RuntimeCommonCharacter
|
||||||
RuntimeCommon)
|
RuntimeCommon
|
||||||
|
DNAMP1
|
||||||
|
DNACommon)
|
||||||
|
|
|
@ -2,13 +2,14 @@
|
||||||
#define __RETRO_CTWEAKPARTICLE_HPP__
|
#define __RETRO_CTWEAKPARTICLE_HPP__
|
||||||
|
|
||||||
#include "CBasics.hpp"
|
#include "CBasics.hpp"
|
||||||
|
#include "DataSpec/DNAMP1/Tweaks/CTweakParticle.hpp"
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
namespace Common
|
namespace Common
|
||||||
{
|
{
|
||||||
|
|
||||||
class CTweakParticle : TOneStatic<CTweakParticle>
|
class CTweakParticle : DNAMP1::CTweakParticle
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CTweakParticle(CInputStream&);
|
CTweakParticle(CInputStream&);
|
|
@ -1,7 +1,6 @@
|
||||||
#ifndef __RETRO_CTWEAKS_HPP__
|
#ifndef __RETRO_CTWEAKS_HPP__
|
||||||
#define __RETRO_CTWEAKS_HPP__
|
#define __RETRO_CTWEAKS_HPP__
|
||||||
|
|
||||||
#include <memory>
|
|
||||||
#include "CTweakParticle.hpp"
|
#include "CTweakParticle.hpp"
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
|
@ -10,13 +10,38 @@
|
||||||
#include "CAi.hpp"
|
#include "CAi.hpp"
|
||||||
#include "CGameState.hpp"
|
#include "CGameState.hpp"
|
||||||
#include "CInGameTweakManager.hpp"
|
#include "CInGameTweakManager.hpp"
|
||||||
|
#include "Particle/CElementGen.hpp"
|
||||||
|
#include "Character/CAnimData.hpp"
|
||||||
|
#include "Particle/CDecalManager.hpp"
|
||||||
|
#include "Graphics/CBooRenderer.hpp"
|
||||||
|
#include "Audio/CAudioSys.hpp"
|
||||||
|
#include "Input/CInputGenerator.hpp"
|
||||||
|
#include "GuiSys/CGuiSys.hpp"
|
||||||
|
#include "CIOWinManager.hpp"
|
||||||
|
#include "GuiSys/CSplashScreen.hpp"
|
||||||
|
#include "CMainFlow.hpp"
|
||||||
|
#include "GuiSys/CConsoleOutputWindow.hpp"
|
||||||
|
#include "Audio/CAudioStateWin.hpp"
|
||||||
|
#include "GameGlobalObjects.hpp"
|
||||||
|
|
||||||
namespace Retro
|
namespace Retro
|
||||||
{
|
{
|
||||||
|
namespace Common
|
||||||
|
{
|
||||||
|
CMemoryCardSys* g_MemoryCardSys = nullptr;
|
||||||
|
CResFactory* g_ResFactory = nullptr;
|
||||||
|
CSimplePool* g_SimplePool = nullptr;
|
||||||
|
CCharacterFactoryBuilder* g_CharFactoryBuilder = nullptr;
|
||||||
|
CAiFuncMap* g_AiFuncMap = nullptr;
|
||||||
|
CGameState* g_GameState = nullptr;
|
||||||
|
CInGameTweakManager* g_TweakManager = nullptr;
|
||||||
|
CBooRenderer* g_Renderer = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
namespace MP1
|
namespace MP1
|
||||||
{
|
{
|
||||||
|
|
||||||
class CGameGlobalObjects : public Common::TOneStatic<CGameGlobalObjects>
|
class CGameGlobalObjects
|
||||||
{
|
{
|
||||||
Common::CMemoryCardSys m_memoryCardSys;
|
Common::CMemoryCardSys m_memoryCardSys;
|
||||||
Common::CResFactory m_resFactory;
|
Common::CResFactory m_resFactory;
|
||||||
|
@ -25,9 +50,56 @@ class CGameGlobalObjects : public Common::TOneStatic<CGameGlobalObjects>
|
||||||
Common::CAiFuncMap m_aiFuncMap;
|
Common::CAiFuncMap m_aiFuncMap;
|
||||||
Common::CGameState m_gameState;
|
Common::CGameState m_gameState;
|
||||||
Common::CInGameTweakManager m_tweakManager;
|
Common::CInGameTweakManager m_tweakManager;
|
||||||
|
std::unique_ptr<Common::CBooRenderer> m_renderer;
|
||||||
|
|
||||||
|
void AddPaksAndFactories()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void LoadStringTable()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
static Common::CBooRenderer*
|
||||||
|
AllocateRenderer(Common::IObjectStore& store, Common::COsContext& osctx,
|
||||||
|
Common::CMemorySys& memSys, Common::CResFactory& resFactory)
|
||||||
|
{
|
||||||
|
Common::g_Renderer = new Common::CBooRenderer(store, osctx, memSys, resFactory);
|
||||||
|
return Common::g_Renderer;
|
||||||
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
CGameGlobalObjects()
|
||||||
|
: m_simplePool(m_resFactory)
|
||||||
|
{
|
||||||
|
Common::g_MemoryCardSys = &m_memoryCardSys;
|
||||||
|
Common::g_ResFactory = &m_resFactory;
|
||||||
|
Common::g_SimplePool = &m_simplePool;
|
||||||
|
Common::g_CharFactoryBuilder = &m_charFactoryBuilder;
|
||||||
|
Common::g_AiFuncMap = &m_aiFuncMap;
|
||||||
|
Common::g_GameState = &m_gameState;
|
||||||
|
Common::g_TweakManager = &m_tweakManager;
|
||||||
|
}
|
||||||
|
|
||||||
void PostInitialize(Common::COsContext& osctx, Common::CMemorySys& memSys)
|
void PostInitialize(Common::COsContext& osctx, Common::CMemorySys& memSys)
|
||||||
|
{
|
||||||
|
AddPaksAndFactories();
|
||||||
|
LoadStringTable();
|
||||||
|
m_renderer.reset(AllocateRenderer(m_simplePool, osctx, memSys, m_resFactory));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
class CGameArchitectureSupport
|
||||||
|
{
|
||||||
|
Common::CAudioSys m_audioSys;
|
||||||
|
Common::CInputGenerator m_inputGenerator;
|
||||||
|
Common::CGuiSys m_guiSys;
|
||||||
|
Common::CIOWinManager m_ioWinManager;
|
||||||
|
Common::CSplashScreen m_splashScreen;
|
||||||
|
Common::CMainFlow m_mainFlow;
|
||||||
|
Common::CConsoleOutputWindow m_consoleWindow;
|
||||||
|
Common::CAudioStateWin m_audioStateWin;
|
||||||
|
public:
|
||||||
|
CGameArchitectureSupport(Common::COsContext& osctx)
|
||||||
|
: m_audioSys(0,0,0,0,0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -44,13 +116,27 @@ public:
|
||||||
OpenWindow("", 0, 0, 640, 480);
|
OpenWindow("", 0, 0, 640, 480);
|
||||||
}
|
}
|
||||||
void InitializeSubsystems()
|
void InitializeSubsystems()
|
||||||
|
{
|
||||||
|
Common::CElementGen::Initialize();
|
||||||
|
Common::CAnimData::InitializeCache();
|
||||||
|
Common::CDecalManager::Initialize();
|
||||||
|
}
|
||||||
|
void AddWorldPaks()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
void FillInAssetIDs()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
int RsMain(int argc, const char* argv[])
|
int RsMain(int argc, const char* argv[])
|
||||||
{
|
{
|
||||||
CGameGlobalObjects* globalObjs = new CGameGlobalObjects;
|
Common::TOneStatic<CGameGlobalObjects> globalObjs;
|
||||||
InitializeSubsystems();
|
InitializeSubsystems();
|
||||||
globalObjs->PostInitialize(*this, m_memSys);
|
globalObjs->PostInitialize(*this, m_memSys);
|
||||||
|
m_tweaks.RegisterTweaks();
|
||||||
|
AddWorldPaks();
|
||||||
|
Common::g_TweakManager->ReadFromMemoryCard("AudioTweaks");
|
||||||
|
FillInAssetIDs();
|
||||||
|
Common::TOneStatic<CGameArchitectureSupport> archSupport(*this);
|
||||||
while (m_run)
|
while (m_run)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue