mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-16 13:37:02 +00:00
RE COutput/InputStream and friends and migrate over
This branch is probably still horribly broken, but it's a good first step to migrating away from having hecl embedded in the runtime
This commit is contained in:
@@ -26,35 +26,41 @@ namespace metaforce::MP1 {
|
||||
static logvisor::Module Log("MP1::CTweaks");
|
||||
|
||||
void CTweaks::RegisterTweaks(hecl::CVarManager* cvarMgr) {
|
||||
#if 0 // TODO: Migrate tweaks into metaforce
|
||||
std::optional<CMemoryInStream> strm;
|
||||
const SObjectTag* tag;
|
||||
|
||||
/* Particle */
|
||||
tag = g_ResFactory->GetResourceIdByName("Particle");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
g_tweakParticle = new DataSpec::DNAMP1::CTweakParticle(*strm);
|
||||
g_tweakParticle->initCVars(cvarMgr);
|
||||
|
||||
/* Player */
|
||||
tag = g_ResFactory->GetResourceIdByName("Player");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
g_tweakPlayer = new DataSpec::DNAMP1::CTweakPlayer(*strm);
|
||||
g_tweakPlayer->initCVars(cvarMgr);
|
||||
|
||||
/* CameraBob */
|
||||
tag = g_ResFactory->GetResourceIdByName("CameraBob");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
CPlayerCameraBob::ReadTweaks(*strm);
|
||||
|
||||
/* Ball */
|
||||
tag = g_ResFactory->GetResourceIdByName("Ball");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
g_tweakBall = new DataSpec::DNAMP1::CTweakBall(*strm);
|
||||
g_tweakBall->initCVars(cvarMgr);
|
||||
|
||||
/* PlayerGun */
|
||||
tag = g_ResFactory->GetResourceIdByName("PlayerGun");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
g_tweakPlayerGun = new DataSpec::DNAMP1::CTweakPlayerGun(*strm);
|
||||
g_tweakPlayerGun->initCVars(cvarMgr);
|
||||
|
||||
@@ -73,59 +79,70 @@ void CTweaks::RegisterTweaks(hecl::CVarManager* cvarMgr) {
|
||||
|
||||
/* Game */
|
||||
tag = g_ResFactory->GetResourceIdByName("Game");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
g_tweakGame = new DataSpec::DNAMP1::CTweakGame(*strm);
|
||||
g_tweakGame->initCVars(cvarMgr);
|
||||
|
||||
/* GuiColors */
|
||||
tag = g_ResFactory->GetResourceIdByName("GuiColors");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
g_tweakGuiColors = new DataSpec::DNAMP1::CTweakGuiColors(*strm);
|
||||
g_tweakGuiColors->initCVars(cvarMgr);
|
||||
|
||||
/* AutoMapper */
|
||||
tag = g_ResFactory->GetResourceIdByName("AutoMapper");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
g_tweakAutoMapper = new DataSpec::DNAMP1::CTweakAutoMapper(*strm);
|
||||
CMappableObject::ReadAutoMapperTweaks(*g_tweakAutoMapper);
|
||||
g_tweakAutoMapper->initCVars(cvarMgr);
|
||||
|
||||
/* Gui */
|
||||
tag = g_ResFactory->GetResourceIdByName("Gui");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
g_tweakGui = new DataSpec::DNAMP1::CTweakGui(*strm);
|
||||
g_tweakPlayerGun->initCVars(cvarMgr);
|
||||
|
||||
/* PlayerControls */
|
||||
tag = g_ResFactory->GetResourceIdByName("PlayerControls");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
g_tweakPlayerControl = new DataSpec::DNAMP1::CTweakPlayerControl(*strm);
|
||||
|
||||
/* PlayerControls2 */
|
||||
tag = g_ResFactory->GetResourceIdByName("PlayerControls2");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
g_tweakPlayerControlAlt = new DataSpec::DNAMP1::CTweakPlayerControl(*strm);
|
||||
|
||||
g_currentPlayerControl = g_tweakPlayerControl;
|
||||
|
||||
/* SlideShow */
|
||||
tag = g_ResFactory->GetResourceIdByName("SlideShow");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
g_tweakSlideShow = new DataSpec::DNAMP1::CTweakSlideShow(*strm);
|
||||
g_tweakSlideShow->initCVars(cvarMgr);
|
||||
#endif
|
||||
}
|
||||
|
||||
void CTweaks::RegisterResourceTweaks(hecl::CVarManager* cvarMgr) {
|
||||
#if 0 // TODO: Migrate tweaks into metaforce
|
||||
std::optional<CMemoryInStream> strm;
|
||||
|
||||
const SObjectTag* tag = g_ResFactory->GetResourceIdByName("GunRes");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
g_tweakGunRes = new DataSpec::DNAMP1::CTweakGunRes(*strm);
|
||||
g_tweakGunRes->ResolveResources(*g_ResFactory);
|
||||
g_tweakGunRes->initCVars(cvarMgr);
|
||||
|
||||
tag = g_ResFactory->GetResourceIdByName("PlayerRes");
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag), true);
|
||||
strm.emplace(g_ResFactory->LoadResourceSync(*tag).release(), g_ResFactory->ResourceSize(*tag),
|
||||
CMemoryInStream::EOwnerShip::Owned);
|
||||
if (g_Main->IsTrilogy() || g_Main->IsPAL() || g_Main->IsJapanese()) {
|
||||
g_tweakPlayerRes = new DataSpec::DNAMP1::CTweakPlayerRes<true>(*strm);
|
||||
} else {
|
||||
@@ -134,6 +151,7 @@ void CTweaks::RegisterResourceTweaks(hecl::CVarManager* cvarMgr) {
|
||||
|
||||
g_tweakPlayerRes->ResolveResources(*g_ResFactory);
|
||||
g_tweakPlayerRes->initCVars(cvarMgr);
|
||||
#endif
|
||||
}
|
||||
|
||||
} // namespace metaforce::MP1
|
||||
|
||||
Reference in New Issue
Block a user