2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 08:27:42 +00:00

Better boo init within CMain; shader fixes

This commit is contained in:
Jack Andersen
2016-08-16 20:18:18 -10:00
parent e9a5e4b7f6
commit 3acc93f1c0
7 changed files with 51 additions and 31 deletions

View File

@@ -3,23 +3,42 @@
#include "Graphics/Shaders/CThermalColdFilter.hpp"
#include "Graphics/Shaders/CThermalHotFilter.hpp"
#include "Graphics/Shaders/CSpaceWarpFilter.hpp"
#include "Graphics/Shaders/CColoredQuadFilter.hpp"
#include "Graphics/Shaders/CTexturedQuadFilter.hpp"
namespace urde
{
URDE_DECL_SPECIALIZE_SHADER(CThermalColdFilter)
URDE_DECL_SPECIALIZE_SHADER(CThermalHotFilter)
URDE_DECL_SPECIALIZE_SHADER(CSpaceWarpFilter)
URDE_DECL_SPECIALIZE_MULTI_BLEND_SHADER(CColoredQuadFilter)
URDE_DECL_SPECIALIZE_MULTI_BLEND_SHADER(CTexturedQuadFilter)
namespace MP1
{
CMain::CMain(IFactory& resFactory, CSimplePool& resStore)
: x128_globalObjects(resFactory, resStore)
CMain::CMain(IFactory& resFactory, CSimplePool& resStore,
boo::IGraphicsDataFactory* gfxFactory,
boo::IGraphicsCommandQueue* cmdQ,
boo::ITextureR* spareTex)
: m_booSetter(gfxFactory, cmdQ, spareTex), x128_globalObjects(resFactory, resStore)
{
xe4_gameplayResult = EGameplayResult::Playing;
g_Main = this;
}
CMain::BooSetter::BooSetter(boo::IGraphicsDataFactory* factory,
boo::IGraphicsCommandQueue* cmdQ,
boo::ITextureR* spareTex)
{
CGraphics::InitializeBoo(factory, cmdQ, spareTex);
TShader<CThermalColdFilter>::Initialize();
TShader<CThermalHotFilter>::Initialize();
TShader<CSpaceWarpFilter>::Initialize();
TMultiBlendShader<CColoredQuadFilter>::Initialize();
TMultiBlendShader<CTexturedQuadFilter>::Initialize();
}
void CMain::RegisterResourceTweaks()
{
}
@@ -27,17 +46,10 @@ void CMain::ResetGameState()
{
}
void CMain::InitializeSubsystems(boo::IGraphicsDataFactory* factory,
boo::IGraphicsCommandQueue* cc,
boo::ITextureR* renderTex,
const hecl::Runtime::FileStoreManager& storeMgr,
void CMain::InitializeSubsystems(const hecl::Runtime::FileStoreManager& storeMgr,
boo::IAudioVoiceEngine* voiceEngine)
{
CGraphics::InitializeBoo(factory, cc, renderTex);
CModelShaders::Initialize(storeMgr, factory);
TShader<CThermalColdFilter>::Initialize();
TShader<CThermalHotFilter>::Initialize();
TShader<CSpaceWarpFilter>::Initialize();
CModelShaders::Initialize(storeMgr, CGraphics::g_BooFactory);
CMoviePlayer::Initialize();
CLineRenderer::Initialize();
CElementGen::Initialize();
@@ -52,13 +64,10 @@ void CMain::LoadAudio()
{
}
void CMain::Init(boo::IGraphicsDataFactory* factory,
boo::IGraphicsCommandQueue* cc,
boo::ITextureR* renderTex,
const hecl::Runtime::FileStoreManager& storeMgr,
void CMain::Init(const hecl::Runtime::FileStoreManager& storeMgr,
boo::IAudioVoiceEngine* voiceEngine)
{
InitializeSubsystems(factory, cc, renderTex, storeMgr, voiceEngine);
InitializeSubsystems(storeMgr, voiceEngine);
x128_globalObjects.PostInitialize();
x70_tweaks.RegisterTweaks();
//g_TweakManager->ReadFromMemoryCard("AudioTweaks");