mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-06-07 15:13:37 +00:00
Better boo init within CMain; shader fixes
This commit is contained in:
parent
e9a5e4b7f6
commit
3acc93f1c0
@ -134,7 +134,7 @@ makeProj:
|
|||||||
m_vm.SetupEditorView();
|
m_vm.SetupEditorView();
|
||||||
|
|
||||||
m_factoryMP1.IndexMP1Resources(*m_proj);
|
m_factoryMP1.IndexMP1Resources(*m_proj);
|
||||||
m_mainMP1.emplace(m_factoryMP1, m_objStore);
|
m_mainMP1.emplace(m_factoryMP1, m_objStore, m_vm.m_mainBooFactory, m_vm.m_mainCommandQueue, m_vm.m_renderTex);
|
||||||
m_vm.InitMP1(*m_mainMP1);
|
m_vm.InitMP1(*m_mainMP1);
|
||||||
m_vm.BuildTestPART(m_objStore);
|
m_vm.BuildTestPART(m_objStore);
|
||||||
|
|
||||||
|
@ -15,6 +15,8 @@
|
|||||||
#include "Runtime/Character/CSkinRules.hpp"
|
#include "Runtime/Character/CSkinRules.hpp"
|
||||||
#include "Graphics/CMetroidModelInstance.hpp"
|
#include "Graphics/CMetroidModelInstance.hpp"
|
||||||
#include "World/CWorldTransManager.hpp"
|
#include "World/CWorldTransManager.hpp"
|
||||||
|
#include "Graphics/Shaders/CColoredQuadFilter.hpp"
|
||||||
|
#include "Graphics/Shaders/CTexturedQuadFilter.hpp"
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
|
|
||||||
using YAMLNode = athena::io::YAMLNode;
|
using YAMLNode = athena::io::YAMLNode;
|
||||||
@ -25,6 +27,8 @@ namespace urde
|
|||||||
URDE_DECL_SPECIALIZE_SHADER(CThermalColdFilter)
|
URDE_DECL_SPECIALIZE_SHADER(CThermalColdFilter)
|
||||||
URDE_DECL_SPECIALIZE_SHADER(CThermalHotFilter)
|
URDE_DECL_SPECIALIZE_SHADER(CThermalHotFilter)
|
||||||
URDE_DECL_SPECIALIZE_SHADER(CSpaceWarpFilter)
|
URDE_DECL_SPECIALIZE_SHADER(CSpaceWarpFilter)
|
||||||
|
URDE_DECL_SPECIALIZE_MULTI_BLEND_SHADER(CColoredQuadFilter)
|
||||||
|
URDE_DECL_SPECIALIZE_MULTI_BLEND_SHADER(CTexturedQuadFilter)
|
||||||
|
|
||||||
void ViewManager::BuildTestPART(urde::IObjectStore& objStore)
|
void ViewManager::BuildTestPART(urde::IObjectStore& objStore)
|
||||||
{
|
{
|
||||||
@ -78,7 +82,7 @@ void ViewManager::BuildTestPART(urde::IObjectStore& objStore)
|
|||||||
|
|
||||||
void ViewManager::InitMP1(MP1::CMain& main)
|
void ViewManager::InitMP1(MP1::CMain& main)
|
||||||
{
|
{
|
||||||
main.Init(m_mainBooFactory, m_mainCommandQueue, m_renderTex, m_fileStoreManager, m_voiceEngine.get());
|
main.Init(m_fileStoreManager, m_voiceEngine.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ViewManager::ParticleView::resized(const boo::SWindowRect& root, const boo::SWindowRect& sub)
|
void ViewManager::ParticleView::resized(const boo::SWindowRect& root, const boo::SWindowRect& sub)
|
||||||
@ -403,6 +407,8 @@ void ViewManager::stop()
|
|||||||
TShader<CThermalColdFilter>::Shutdown();
|
TShader<CThermalColdFilter>::Shutdown();
|
||||||
TShader<CThermalHotFilter>::Shutdown();
|
TShader<CThermalHotFilter>::Shutdown();
|
||||||
TShader<CSpaceWarpFilter>::Shutdown();
|
TShader<CSpaceWarpFilter>::Shutdown();
|
||||||
|
TMultiBlendShader<CColoredQuadFilter>::Shutdown();
|
||||||
|
TMultiBlendShader<CTexturedQuadFilter>::Shutdown();
|
||||||
CElementGen::Shutdown();
|
CElementGen::Shutdown();
|
||||||
CMoviePlayer::Shutdown();
|
CMoviePlayer::Shutdown();
|
||||||
CLineRenderer::Shutdown();
|
CLineRenderer::Shutdown();
|
||||||
|
@ -28,7 +28,7 @@ static const char* VS =
|
|||||||
"{\n"
|
"{\n"
|
||||||
" VertToFrag vtf;\n"
|
" VertToFrag vtf;\n"
|
||||||
" vtf.color = cqu.color;\n"
|
" vtf.color = cqu.color;\n"
|
||||||
" vtf.position = vec4(v.posIn.xyz, 1.0);\n"
|
" vtf.position = float4(v.posIn.xyz, 1.0);\n"
|
||||||
" return vtf;\n"
|
" return vtf;\n"
|
||||||
"}\n";
|
"}\n";
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ static const char* VS =
|
|||||||
" VertToFrag vtf;\n"
|
" VertToFrag vtf;\n"
|
||||||
" vtf.color = tqu.color;\n"
|
" vtf.color = tqu.color;\n"
|
||||||
" vtf.uv = v.uvIn.xy;\n"
|
" vtf.uv = v.uvIn.xy;\n"
|
||||||
" vtf.position = vec4(v.posIn.xyz, 1.0);\n"
|
" vtf.position = float4(v.posIn.xyz, 1.0);\n"
|
||||||
" return vtf;\n"
|
" return vtf;\n"
|
||||||
"}\n";
|
"}\n";
|
||||||
|
|
||||||
|
@ -3,23 +3,42 @@
|
|||||||
#include "Graphics/Shaders/CThermalColdFilter.hpp"
|
#include "Graphics/Shaders/CThermalColdFilter.hpp"
|
||||||
#include "Graphics/Shaders/CThermalHotFilter.hpp"
|
#include "Graphics/Shaders/CThermalHotFilter.hpp"
|
||||||
#include "Graphics/Shaders/CSpaceWarpFilter.hpp"
|
#include "Graphics/Shaders/CSpaceWarpFilter.hpp"
|
||||||
|
#include "Graphics/Shaders/CColoredQuadFilter.hpp"
|
||||||
|
#include "Graphics/Shaders/CTexturedQuadFilter.hpp"
|
||||||
|
|
||||||
namespace urde
|
namespace urde
|
||||||
{
|
{
|
||||||
URDE_DECL_SPECIALIZE_SHADER(CThermalColdFilter)
|
URDE_DECL_SPECIALIZE_SHADER(CThermalColdFilter)
|
||||||
URDE_DECL_SPECIALIZE_SHADER(CThermalHotFilter)
|
URDE_DECL_SPECIALIZE_SHADER(CThermalHotFilter)
|
||||||
URDE_DECL_SPECIALIZE_SHADER(CSpaceWarpFilter)
|
URDE_DECL_SPECIALIZE_SHADER(CSpaceWarpFilter)
|
||||||
|
URDE_DECL_SPECIALIZE_MULTI_BLEND_SHADER(CColoredQuadFilter)
|
||||||
|
URDE_DECL_SPECIALIZE_MULTI_BLEND_SHADER(CTexturedQuadFilter)
|
||||||
|
|
||||||
namespace MP1
|
namespace MP1
|
||||||
{
|
{
|
||||||
|
|
||||||
CMain::CMain(IFactory& resFactory, CSimplePool& resStore)
|
CMain::CMain(IFactory& resFactory, CSimplePool& resStore,
|
||||||
: x128_globalObjects(resFactory, resStore)
|
boo::IGraphicsDataFactory* gfxFactory,
|
||||||
|
boo::IGraphicsCommandQueue* cmdQ,
|
||||||
|
boo::ITextureR* spareTex)
|
||||||
|
: m_booSetter(gfxFactory, cmdQ, spareTex), x128_globalObjects(resFactory, resStore)
|
||||||
{
|
{
|
||||||
xe4_gameplayResult = EGameplayResult::Playing;
|
xe4_gameplayResult = EGameplayResult::Playing;
|
||||||
g_Main = this;
|
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()
|
void CMain::RegisterResourceTweaks()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -27,17 +46,10 @@ void CMain::ResetGameState()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMain::InitializeSubsystems(boo::IGraphicsDataFactory* factory,
|
void CMain::InitializeSubsystems(const hecl::Runtime::FileStoreManager& storeMgr,
|
||||||
boo::IGraphicsCommandQueue* cc,
|
|
||||||
boo::ITextureR* renderTex,
|
|
||||||
const hecl::Runtime::FileStoreManager& storeMgr,
|
|
||||||
boo::IAudioVoiceEngine* voiceEngine)
|
boo::IAudioVoiceEngine* voiceEngine)
|
||||||
{
|
{
|
||||||
CGraphics::InitializeBoo(factory, cc, renderTex);
|
CModelShaders::Initialize(storeMgr, CGraphics::g_BooFactory);
|
||||||
CModelShaders::Initialize(storeMgr, factory);
|
|
||||||
TShader<CThermalColdFilter>::Initialize();
|
|
||||||
TShader<CThermalHotFilter>::Initialize();
|
|
||||||
TShader<CSpaceWarpFilter>::Initialize();
|
|
||||||
CMoviePlayer::Initialize();
|
CMoviePlayer::Initialize();
|
||||||
CLineRenderer::Initialize();
|
CLineRenderer::Initialize();
|
||||||
CElementGen::Initialize();
|
CElementGen::Initialize();
|
||||||
@ -52,13 +64,10 @@ void CMain::LoadAudio()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void CMain::Init(boo::IGraphicsDataFactory* factory,
|
void CMain::Init(const hecl::Runtime::FileStoreManager& storeMgr,
|
||||||
boo::IGraphicsCommandQueue* cc,
|
|
||||||
boo::ITextureR* renderTex,
|
|
||||||
const hecl::Runtime::FileStoreManager& storeMgr,
|
|
||||||
boo::IAudioVoiceEngine* voiceEngine)
|
boo::IAudioVoiceEngine* voiceEngine)
|
||||||
{
|
{
|
||||||
InitializeSubsystems(factory, cc, renderTex, storeMgr, voiceEngine);
|
InitializeSubsystems(storeMgr, voiceEngine);
|
||||||
x128_globalObjects.PostInitialize();
|
x128_globalObjects.PostInitialize();
|
||||||
x70_tweaks.RegisterTweaks();
|
x70_tweaks.RegisterTweaks();
|
||||||
//g_TweakManager->ReadFromMemoryCard("AudioTweaks");
|
//g_TweakManager->ReadFromMemoryCard("AudioTweaks");
|
||||||
|
@ -80,7 +80,8 @@ class CGameGlobalObjects
|
|||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CGameGlobalObjects(IFactory& resFactory, CSimplePool& objStore)
|
CGameGlobalObjects(IFactory& resFactory,
|
||||||
|
CSimplePool& objStore)
|
||||||
: x20_resFactory(resFactory), x114_simplePool(objStore)
|
: x20_resFactory(resFactory), x114_simplePool(objStore)
|
||||||
{
|
{
|
||||||
g_MemoryCardSys = &x0_memoryCardSys;
|
g_MemoryCardSys = &x0_memoryCardSys;
|
||||||
@ -220,6 +221,13 @@ public:
|
|||||||
};
|
};
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
struct BooSetter
|
||||||
|
{
|
||||||
|
BooSetter(boo::IGraphicsDataFactory* factory,
|
||||||
|
boo::IGraphicsCommandQueue* cmdQ,
|
||||||
|
boo::ITextureR* spareTex);
|
||||||
|
} m_booSetter;
|
||||||
|
|
||||||
//CMemorySys x6c_memSys;
|
//CMemorySys x6c_memSys;
|
||||||
CTweaks x70_tweaks;
|
CTweaks x70_tweaks;
|
||||||
EGameplayResult xe4_gameplayResult;
|
EGameplayResult xe4_gameplayResult;
|
||||||
@ -252,24 +260,21 @@ private:
|
|||||||
|
|
||||||
u32 x164_ = 0;
|
u32 x164_ = 0;
|
||||||
|
|
||||||
void InitializeSubsystems(boo::IGraphicsDataFactory* factory,
|
void InitializeSubsystems(const hecl::Runtime::FileStoreManager& storeMgr,
|
||||||
boo::IGraphicsCommandQueue* cc,
|
|
||||||
boo::ITextureR* renderTex,
|
|
||||||
const hecl::Runtime::FileStoreManager& storeMgr,
|
|
||||||
boo::IAudioVoiceEngine* voiceEngine);
|
boo::IAudioVoiceEngine* voiceEngine);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CMain(IFactory& resFactory, CSimplePool& resStore);
|
CMain(IFactory& resFactory, CSimplePool& resStore,
|
||||||
|
boo::IGraphicsDataFactory* gfxFactory,
|
||||||
|
boo::IGraphicsCommandQueue* cmdQ,
|
||||||
|
boo::ITextureR* spareTex);
|
||||||
void RegisterResourceTweaks();
|
void RegisterResourceTweaks();
|
||||||
void ResetGameState();
|
void ResetGameState();
|
||||||
void StreamNewGameState(CInputStream&);
|
void StreamNewGameState(CInputStream&);
|
||||||
void CheckTweakManagerDebugOptions() {}
|
void CheckTweakManagerDebugOptions() {}
|
||||||
|
|
||||||
//int RsMain(int argc, const boo::SystemChar* argv[]);
|
//int RsMain(int argc, const boo::SystemChar* argv[]);
|
||||||
void Init(boo::IGraphicsDataFactory* factory,
|
void Init(const hecl::Runtime::FileStoreManager& storeMgr,
|
||||||
boo::IGraphicsCommandQueue* cc,
|
|
||||||
boo::ITextureR* renderTex,
|
|
||||||
const hecl::Runtime::FileStoreManager& storeMgr,
|
|
||||||
boo::IAudioVoiceEngine* voiceEngine);
|
boo::IAudioVoiceEngine* voiceEngine);
|
||||||
bool Proc();
|
bool Proc();
|
||||||
void Shutdown();
|
void Shutdown();
|
||||||
|
2
hecl
2
hecl
@ -1 +1 @@
|
|||||||
Subproject commit f978570bf0f8297fd6b81acb122bb2b256bfae92
|
Subproject commit effad6f44787daa620a7a3b4655c872dac7c1d4d
|
Loading…
x
Reference in New Issue
Block a user