mirror of https://github.com/AxioDL/metaforce.git
Merge branch 'master' of https://github.com/AxioDL/urde
This commit is contained in:
commit
8166104b32
|
@ -8,10 +8,13 @@ namespace DataSpec
|
||||||
|
|
||||||
struct ITweakGame : BigYAML
|
struct ITweakGame : BigYAML
|
||||||
{
|
{
|
||||||
virtual const std::string& GetWorldPrefix() const=0;
|
virtual const std::string& GetWorldPrefix() const = 0;
|
||||||
virtual float GetFirstPersonFOV() const =0;
|
virtual bool GetSplashScreensDisabled() const = 0;
|
||||||
|
virtual float GetFirstPersonFOV() const = 0;
|
||||||
|
virtual float GetPressStartDelay() const = 0;
|
||||||
|
virtual float GetHardModeDamageMultiplier() const = 0;
|
||||||
|
virtual float GetHardModeWeaponMultiplier() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
#include "Tweaks/CTweakPlayer.hpp"
|
#include "Tweaks/CTweakPlayer.hpp"
|
||||||
#include "Tweaks/CTweakCameraBob.hpp"
|
#include "Tweaks/CTweakCameraBob.hpp"
|
||||||
#include "Tweaks/CTweakSlideShow.hpp"
|
#include "Tweaks/CTweakSlideShow.hpp"
|
||||||
|
#include "Tweaks/CTweakGame.hpp"
|
||||||
|
|
||||||
namespace DataSpec
|
namespace DataSpec
|
||||||
{
|
{
|
||||||
|
@ -382,6 +383,8 @@ ResExtractor<PAKBridge> PAKBridge::LookupExtractor(const PAK& pak, const PAK::En
|
||||||
return {ExtractTweak<CTweakCameraBob>, {_S(".yaml")}};
|
return {ExtractTweak<CTweakCameraBob>, {_S(".yaml")}};
|
||||||
if (!name.compare("SlideShow"))
|
if (!name.compare("SlideShow"))
|
||||||
return {ExtractTweak<CTweakSlideShow>, {_S(".yaml")}};
|
return {ExtractTweak<CTweakSlideShow>, {_S(".yaml")}};
|
||||||
|
if (!name.compare("Game"))
|
||||||
|
return {ExtractTweak<CTweakGame>, {_S(".yaml")}};
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,9 +17,9 @@ struct CTweakGame : ITweakGame
|
||||||
Value<bool> x28_unknown1;
|
Value<bool> x28_unknown1;
|
||||||
Value<bool> x29_unknown2;
|
Value<bool> x29_unknown2;
|
||||||
Value<bool> x2a_unknown3;
|
Value<bool> x2a_unknown3;
|
||||||
Value<bool> x2b_unknown4;
|
Value<bool> x2b_splashScreensDisabled;
|
||||||
Value<float> x2c_cunknown5;
|
Value<float> x2c_unknown5;
|
||||||
Value<float> x30_unknown6;
|
Value<float> x30_presStartDelay;
|
||||||
Value<float> x34_unknown7;
|
Value<float> x34_unknown7;
|
||||||
Value<float> x38_unknown8;
|
Value<float> x38_unknown8;
|
||||||
Value<float> x3c_unknown9;
|
Value<float> x3c_unknown9;
|
||||||
|
@ -31,13 +31,21 @@ struct CTweakGame : ITweakGame
|
||||||
Value<float> x54_unknown15;
|
Value<float> x54_unknown15;
|
||||||
Value<float> x58_unknown16;
|
Value<float> x58_unknown16;
|
||||||
Value<float> x5c_unknown17;
|
Value<float> x5c_unknown17;
|
||||||
Value<float> x60_unknown18;
|
Value<float> x60_hardmodeDamageMult;
|
||||||
Value<float> x64_hardmodeDamageMult;
|
Value<float> x64_hardmodeWeaponMult;
|
||||||
Value<float> x68_hardmodeWeaponMult;
|
|
||||||
|
|
||||||
virtual const std::string& GetWorldPrefix() const { return x4_worldPrefix; }
|
virtual const std::string& GetWorldPrefix() const { return x4_worldPrefix; }
|
||||||
|
virtual bool GetSplashScreensDisabled() const { return x2b_splashScreensDisabled; }
|
||||||
virtual float GetFirstPersonFOV() const { return x24_fov; }
|
virtual float GetFirstPersonFOV() const { return x24_fov; }
|
||||||
CTweakGame(athena::io::IStreamReader& in) { this->read(in); x2b_unknown4 = false; }
|
virtual float GetPressStartDelay() const { return x30_presStartDelay; }
|
||||||
|
virtual float GetHardModeDamageMultiplier() const { return x60_hardmodeDamageMult; }
|
||||||
|
virtual float GetHardModeWeaponMultiplier() const { return x64_hardmodeWeaponMult; }
|
||||||
|
CTweakGame() = default;
|
||||||
|
CTweakGame(athena::io::IStreamReader& in)
|
||||||
|
{
|
||||||
|
this->read(in);
|
||||||
|
x2b_splashScreensDisabled = false;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -407,8 +407,8 @@ void CTweakPlayer::read(athena::io::IStreamReader& __dna_reader)
|
||||||
x274_ = __dna_reader.readFloatBig();
|
x274_ = __dna_reader.readFloatBig();
|
||||||
/* x278_ */
|
/* x278_ */
|
||||||
x278_ = __dna_reader.readFloatBig();
|
x278_ = __dna_reader.readFloatBig();
|
||||||
/* x27c_ */
|
/* x27c_playerBallHalfExtent */
|
||||||
x27c_ = __dna_reader.readFloatBig();
|
x27c_playerBallHalfExtent = __dna_reader.readFloatBig();
|
||||||
/* x280_ */
|
/* x280_ */
|
||||||
x280_ = __dna_reader.readFloatBig();
|
x280_ = __dna_reader.readFloatBig();
|
||||||
/* x284_ */
|
/* x284_ */
|
||||||
|
@ -847,8 +847,8 @@ void CTweakPlayer::write(athena::io::IStreamWriter& __dna_writer) const
|
||||||
__dna_writer.writeFloatBig(x274_);
|
__dna_writer.writeFloatBig(x274_);
|
||||||
/* x278_ */
|
/* x278_ */
|
||||||
__dna_writer.writeFloatBig(x278_);
|
__dna_writer.writeFloatBig(x278_);
|
||||||
/* x27c_ */
|
/* x27c_playerBallHalfExtent */
|
||||||
__dna_writer.writeFloatBig(x27c_);
|
__dna_writer.writeFloatBig(x27c_playerBallHalfExtent);
|
||||||
/* x280_ */
|
/* x280_ */
|
||||||
__dna_writer.writeFloatBig(x280_);
|
__dna_writer.writeFloatBig(x280_);
|
||||||
/* x284_ */
|
/* x284_ */
|
||||||
|
@ -1362,8 +1362,8 @@ void CTweakPlayer::read(athena::io::YAMLDocReader& __dna_docin)
|
||||||
x274_ = __dna_docin.readFloat("x274_");
|
x274_ = __dna_docin.readFloat("x274_");
|
||||||
/* x278_ */
|
/* x278_ */
|
||||||
x278_ = __dna_docin.readFloat("x278_");
|
x278_ = __dna_docin.readFloat("x278_");
|
||||||
/* x27c_ */
|
/* x27c_playerBallHalfExtent */
|
||||||
x27c_ = __dna_docin.readFloat("x27c_");
|
x27c_playerBallHalfExtent = __dna_docin.readFloat("x27c_playerBallHalfExtent");
|
||||||
/* x280_ */
|
/* x280_ */
|
||||||
x280_ = __dna_docin.readFloat("x280_");
|
x280_ = __dna_docin.readFloat("x280_");
|
||||||
/* x284_ */
|
/* x284_ */
|
||||||
|
@ -1862,8 +1862,8 @@ void CTweakPlayer::CTweakPlayer::write(athena::io::YAMLDocWriter& __dna_docout)
|
||||||
__dna_docout.writeFloat("x274_", x274_);
|
__dna_docout.writeFloat("x274_", x274_);
|
||||||
/* x278_ */
|
/* x278_ */
|
||||||
__dna_docout.writeFloat("x278_", x278_);
|
__dna_docout.writeFloat("x278_", x278_);
|
||||||
/* x27c_ */
|
/* x27c_playerBallHalfExtent */
|
||||||
__dna_docout.writeFloat("x27c_", x27c_);
|
__dna_docout.writeFloat("x27c_playerBallHalfExtent", x27c_playerBallHalfExtent);
|
||||||
/* x280_ */
|
/* x280_ */
|
||||||
__dna_docout.writeFloat("x280_", x280_);
|
__dna_docout.writeFloat("x280_", x280_);
|
||||||
/* x284_ */
|
/* x284_ */
|
||||||
|
|
|
@ -138,7 +138,7 @@ struct CTweakPlayer : ITweakPlayer
|
||||||
Value<float> x270_playerXYHalfExtent;
|
Value<float> x270_playerXYHalfExtent;
|
||||||
Value<float> x274_;
|
Value<float> x274_;
|
||||||
Value<float> x278_;
|
Value<float> x278_;
|
||||||
Value<float> x27c_;
|
Value<float> x27c_playerBallHalfExtent;
|
||||||
Value<float> x280_;
|
Value<float> x280_;
|
||||||
Value<float> x284_;
|
Value<float> x284_;
|
||||||
Value<float> x288_;
|
Value<float> x288_;
|
||||||
|
@ -183,7 +183,7 @@ struct CTweakPlayer : ITweakPlayer
|
||||||
float GetPlayerXYHalfExtent() const { return x270_playerXYHalfExtent; }
|
float GetPlayerXYHalfExtent() const { return x270_playerXYHalfExtent; }
|
||||||
float GetX274() const { return x274_; }
|
float GetX274() const { return x274_; }
|
||||||
float GetX278() const { return x278_; }
|
float GetX278() const { return x278_; }
|
||||||
float GetX27C() const { return x27c_; }
|
float GetX27C() const { return x27c_playerBallHalfExtent; }
|
||||||
float GetX124() const { return x134_; }
|
float GetX124() const { return x134_; }
|
||||||
bool GetX228_24() const { return x228_24_; }
|
bool GetX228_24() const { return x228_24_; }
|
||||||
float GetX288() const { return x288_; }
|
float GetX288() const { return x288_; }
|
||||||
|
|
|
@ -56,7 +56,7 @@ void ViewManager::BuildTestPART(urde::IObjectStore& objStore)
|
||||||
TLockedToken<CTexture> xrayPalette = objStore.GetObj("TXTR_XRayPalette");
|
TLockedToken<CTexture> xrayPalette = objStore.GetObj("TXTR_XRayPalette");
|
||||||
m_particleView.reset(new ParticleView(*this, m_viewResources, *m_rootView, xrayPalette));
|
m_particleView.reset(new ParticleView(*this, m_viewResources, *m_rootView, xrayPalette));
|
||||||
|
|
||||||
#if 1
|
#if 0
|
||||||
m_moviePlayer.reset(new CMoviePlayer("Video/SpecialEnding.thp", 1.f, false, true));
|
m_moviePlayer.reset(new CMoviePlayer("Video/SpecialEnding.thp", 1.f, false, true));
|
||||||
m_moviePlayer->SetFrame({-1.0f, 1.0f, 0.f}, {-1.0f, -1.0f, 0.f}, {1.0f, -1.0f, 0.f}, {1.0f, 1.0f, 0.f});
|
m_moviePlayer->SetFrame({-1.0f, 1.0f, 0.f}, {-1.0f, -1.0f, 0.f}, {1.0f, -1.0f, 0.f}, {1.0f, 1.0f, 0.f});
|
||||||
CDvdFile testRSF("Audio/frontend_1.rsf");
|
CDvdFile testRSF("Audio/frontend_1.rsf");
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
#include "boo/boo.hpp"
|
#include "boo/boo.hpp"
|
||||||
#include "specter/specter.hpp"
|
#include "specter/specter.hpp"
|
||||||
#include "hecl/CVarManager.hpp"
|
#include "hecl/CVarManager.hpp"
|
||||||
#include "Runtime/CGameAllocator.hpp"
|
#include "Runtime/CBasics.hpp"
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include "ViewManager.hpp"
|
#include "ViewManager.hpp"
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ const u64 CBasics::TICKS_PER_SECOND = 60750000LL;
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
static struct tm* localtime_r(const time_t& time, struct tm& timeSt, long& gmtOff)
|
static struct tm* localtime_r(const time_t& time, struct tm& timeSt, long& gmtOff)
|
||||||
{
|
{
|
||||||
auto ret = localtime_r(&time, &timeSt);
|
auto ret = ::localtime_r(&time, &timeSt);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
gmtOff = ret->tm_gmtoff;
|
gmtOff = ret->tm_gmtoff;
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
#ifndef __URDE_CCALLSTACK_HPP__
|
|
||||||
#define __URDE_CCALLSTACK_HPP__
|
|
||||||
|
|
||||||
namespace urde
|
|
||||||
{
|
|
||||||
|
|
||||||
class CCallStack
|
|
||||||
{
|
|
||||||
const char* x0_fileAndLineStr;
|
|
||||||
const char* x4_typeStr;
|
|
||||||
public:
|
|
||||||
CCallStack(const char* fileAndLineStr, const char* typeStr)
|
|
||||||
: x0_fileAndLineStr(fileAndLineStr), x4_typeStr(typeStr) {}
|
|
||||||
const char* GetFileAndLineText() const {return x0_fileAndLineStr;}
|
|
||||||
const char* GetTypeText() const {return x4_typeStr;}
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // __URDE_CCALLSTACK_HPP__
|
|
|
@ -1,99 +0,0 @@
|
||||||
#include "CGameAllocator.hpp"
|
|
||||||
|
|
||||||
namespace urde
|
|
||||||
{
|
|
||||||
|
|
||||||
logvisor::Module AllocLog("CGameAllocator");
|
|
||||||
|
|
||||||
CGameAllocator::SGameMemInfo* CGameAllocator::FindFreeBlock(u32)
|
|
||||||
{
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
CGameAllocator::SGameMemInfo* CGameAllocator::FindFreeBlockFromTopOfHeap(u32)
|
|
||||||
{
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
u32 CGameAllocator::FixupAllocPtrs(SGameMemInfo*, u32, u32, EHint, const CCallStack&)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
void CGameAllocator::UpdateAllocDebugStats(u32, u32, u32)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
bool CGameAllocator::FreeNormalAllocation(void*)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
u32 CGameAllocator::GetFreeBinEntryForSize(u32)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
void CGameAllocator::AddFreeEntryToFreeList(SGameMemInfo*)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
void CGameAllocator::RemoveFreeEntryFromFreeList(SGameMemInfo*)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
void CGameAllocator::DumpAllocations() const
|
|
||||||
{
|
|
||||||
}
|
|
||||||
u32 CGameAllocator::GetLargestFreeChunk() const
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
CGameAllocator::SGameMemInfo* CGameAllocator::GetMemInfoFromBlockPtr(void* ptr)
|
|
||||||
{
|
|
||||||
return reinterpret_cast<SGameMemInfo*>(reinterpret_cast<u8*>(ptr) - 32);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool CGameAllocator::Initialize()
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
void CGameAllocator::Shutdown()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
void* CGameAllocator::Alloc(size_t sz, EHint, EScope, EType, const CCallStack&)
|
|
||||||
{
|
|
||||||
//AllocLog.report(logvisor::Warning, _S("Remind Phil to reimplement Alloc!!!!"));
|
|
||||||
return malloc(sz);
|
|
||||||
}
|
|
||||||
void CGameAllocator::Free(void* ptr)
|
|
||||||
{
|
|
||||||
free(ptr);
|
|
||||||
}
|
|
||||||
void CGameAllocator::ReleaseAll()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
void* CGameAllocator::AllocSecondary(size_t sz, EHint, EScope, EType, const CCallStack&)
|
|
||||||
{
|
|
||||||
return malloc(sz);
|
|
||||||
}
|
|
||||||
void CGameAllocator::FreeSecondary(void*)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
void CGameAllocator::ReleaseAllSecondary()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
void CGameAllocator::SetOutOfMemoryCallback(const TOutOfMemoryCallback cb, void* ctx)
|
|
||||||
{
|
|
||||||
x58_oomCb = cb;
|
|
||||||
x5c_oomCtx = ctx;
|
|
||||||
}
|
|
||||||
int CGameAllocator::EnumAllocations(const TAllocationVisitCallback, void*, bool) const
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
CGameAllocator::SAllocInfo CGameAllocator::GetAllocInfo(void*) const
|
|
||||||
{
|
|
||||||
return CGameAllocator::SAllocInfo();
|
|
||||||
}
|
|
||||||
void CGameAllocator::OffsetFakeStatics(int)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
CGameAllocator::SMetrics CGameAllocator::GetMetrics() const
|
|
||||||
{
|
|
||||||
return CGameAllocator::SMetrics();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,51 +0,0 @@
|
||||||
#ifndef __URDE_CGAMEALLOCATOR_HPP__
|
|
||||||
#define __URDE_CGAMEALLOCATOR_HPP__
|
|
||||||
|
|
||||||
#include "IAllocator.hpp"
|
|
||||||
|
|
||||||
namespace urde
|
|
||||||
{
|
|
||||||
class CCallStack;
|
|
||||||
|
|
||||||
class CGameAllocator : public IAllocator
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
struct SGameMemInfo
|
|
||||||
{
|
|
||||||
};
|
|
||||||
private:
|
|
||||||
SGameMemInfo* x10_rootInfo = nullptr;
|
|
||||||
TOutOfMemoryCallback x58_oomCb = nullptr;
|
|
||||||
void* x5c_oomCtx = nullptr;
|
|
||||||
u32 xbc_fakeStaticOff = 0;
|
|
||||||
public:
|
|
||||||
SGameMemInfo* FindFreeBlock(u32);
|
|
||||||
SGameMemInfo* FindFreeBlockFromTopOfHeap(u32);
|
|
||||||
u32 FixupAllocPtrs(SGameMemInfo*, u32, u32, EHint, const CCallStack&);
|
|
||||||
void UpdateAllocDebugStats(u32, u32, u32);
|
|
||||||
bool FreeNormalAllocation(void*);
|
|
||||||
u32 GetFreeBinEntryForSize(u32);
|
|
||||||
void AddFreeEntryToFreeList(SGameMemInfo*);
|
|
||||||
void RemoveFreeEntryFromFreeList(SGameMemInfo*);
|
|
||||||
void DumpAllocations() const;
|
|
||||||
u32 GetLargestFreeChunk() const;
|
|
||||||
SGameMemInfo* GetMemInfoFromBlockPtr(void* ptr);
|
|
||||||
|
|
||||||
bool Initialize();
|
|
||||||
void Shutdown();
|
|
||||||
void* Alloc(size_t, EHint, EScope, EType, const CCallStack&);
|
|
||||||
void Free(void*);
|
|
||||||
void ReleaseAll();
|
|
||||||
void* AllocSecondary(size_t, EHint, EScope, EType, const CCallStack&);
|
|
||||||
void FreeSecondary(void*);
|
|
||||||
void ReleaseAllSecondary();
|
|
||||||
void SetOutOfMemoryCallback(const TOutOfMemoryCallback, void*);
|
|
||||||
int EnumAllocations(const TAllocationVisitCallback, void*, bool) const;
|
|
||||||
SAllocInfo GetAllocInfo(void*) const;
|
|
||||||
void OffsetFakeStatics(int);
|
|
||||||
SMetrics GetMetrics() const;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // __URDE_CGAMEALLOCATOR_HPP__
|
|
|
@ -286,4 +286,14 @@ CWorldState& CGameState::StateForWorld(ResId mlvlId)
|
||||||
return *it;
|
return *it;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float CGameState::GetHardModeDamageMultiplier() const
|
||||||
|
{
|
||||||
|
return g_tweakGame->GetHardModeDamageMultiplier();
|
||||||
|
}
|
||||||
|
|
||||||
|
float CGameState::GetHardModeWeaponMultiplier() const
|
||||||
|
{
|
||||||
|
return g_tweakGame->GetHardModeWeaponMultiplier();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,6 +113,8 @@ public:
|
||||||
void WriteBackupBuf();
|
void WriteBackupBuf();
|
||||||
void SetCardSerial(u64 serial) { x210_cardSerial = serial; }
|
void SetCardSerial(u64 serial) { x210_cardSerial = serial; }
|
||||||
void PutTo(CBitStreamWriter& writer) const;
|
void PutTo(CBitStreamWriter& writer) const;
|
||||||
|
float GetHardModeDamageMultiplier() const;
|
||||||
|
float GetHardModeWeaponMultiplier() const;
|
||||||
|
|
||||||
struct GameFileStateInfo
|
struct GameFileStateInfo
|
||||||
{
|
{
|
||||||
|
|
|
@ -26,7 +26,7 @@ if(WIN32)
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
list(APPEND PLAT_SRCS CMemoryCardSysOSX.cpp)
|
list(APPEND PLAT_SRCS CMemoryCardSysOSX.cpp)
|
||||||
else()
|
else()
|
||||||
list(APPEND PLAT_SRCS CMemoryCardSysNix.cpp CCallStackNix.cpp)
|
list(APPEND PLAT_SRCS CMemoryCardSysNix.cpp)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_subdirectory(MP1)
|
add_subdirectory(MP1)
|
||||||
|
@ -48,14 +48,11 @@ add_library(RuntimeCommon
|
||||||
${PARTICLE_SOURCES}
|
${PARTICLE_SOURCES}
|
||||||
${WORLD_SOURCES}
|
${WORLD_SOURCES}
|
||||||
${WEAPON_SOURCES}
|
${WEAPON_SOURCES}
|
||||||
#CMemory.hpp CMemory.cpp
|
|
||||||
ITweak.hpp
|
ITweak.hpp
|
||||||
IMain.hpp
|
IMain.hpp
|
||||||
CMemoryCardSys.hpp CMemoryCardSys.cpp
|
CMemoryCardSys.hpp CMemoryCardSys.cpp
|
||||||
CScannableObjectInfo.hpp CScannableObjectInfo.cpp
|
CScannableObjectInfo.hpp CScannableObjectInfo.cpp
|
||||||
CSaveWorld.hpp CSaveWorld.cpp
|
CSaveWorld.hpp CSaveWorld.cpp
|
||||||
IAllocator.hpp IAllocator.cpp
|
|
||||||
CGameAllocator.hpp CGameAllocator.cpp
|
|
||||||
CDependencyGroup.hpp CDependencyGroup.cpp
|
CDependencyGroup.hpp CDependencyGroup.cpp
|
||||||
CBasics.hpp CBasicsPC.cpp
|
CBasics.hpp CBasicsPC.cpp
|
||||||
CIOWin.hpp
|
CIOWin.hpp
|
||||||
|
@ -91,7 +88,6 @@ add_library(RuntimeCommon
|
||||||
CFactoryMgr.hpp CFactoryMgr.cpp
|
CFactoryMgr.hpp CFactoryMgr.cpp
|
||||||
CPakFile.hpp CPakFile.cpp
|
CPakFile.hpp CPakFile.cpp
|
||||||
CStringExtras.hpp
|
CStringExtras.hpp
|
||||||
CCallStack.hpp
|
|
||||||
IOStreams.hpp IOStreams.cpp
|
IOStreams.hpp IOStreams.cpp
|
||||||
CMainFlowBase.hpp CMainFlowBase.cpp
|
CMainFlowBase.hpp CMainFlowBase.cpp
|
||||||
CMFGameBase.hpp
|
CMFGameBase.hpp
|
||||||
|
|
|
@ -1,146 +0,0 @@
|
||||||
#if 0
|
|
||||||
|
|
||||||
#include "CMemory.hpp"
|
|
||||||
#include "CGameAllocator.hpp"
|
|
||||||
#include "CCallStack.hpp"
|
|
||||||
#include "logvisor/logvisor.hpp"
|
|
||||||
|
|
||||||
namespace urde
|
|
||||||
{
|
|
||||||
|
|
||||||
static logvisor::Module Log("CMemory");
|
|
||||||
|
|
||||||
static CGameAllocator g_gameAllocator;
|
|
||||||
static IAllocator* g_memoryAllocator = &g_gameAllocator;
|
|
||||||
static bool g_memoryAllocatorReady = false;
|
|
||||||
|
|
||||||
void CMemory::Startup()
|
|
||||||
{
|
|
||||||
g_memoryAllocatorReady = g_memoryAllocator->Initialize();
|
|
||||||
}
|
|
||||||
|
|
||||||
void CMemory::Shutdown()
|
|
||||||
{
|
|
||||||
g_memoryAllocator->Shutdown();
|
|
||||||
g_memoryAllocatorReady = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void CMemory::SetAllocator(IAllocator& alloc)
|
|
||||||
{
|
|
||||||
if (&alloc != g_memoryAllocator)
|
|
||||||
{
|
|
||||||
g_memoryAllocator = &alloc;
|
|
||||||
g_memoryAllocator->Initialize();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void CMemory::OffsetFakeStatics(int val)
|
|
||||||
{
|
|
||||||
g_memoryAllocator->OffsetFakeStatics(val);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CMemory::SetOutOfMemoryCallback(const IAllocator::TOutOfMemoryCallback cb, void* ctx)
|
|
||||||
{
|
|
||||||
g_memoryAllocator->SetOutOfMemoryCallback(cb, ctx);
|
|
||||||
}
|
|
||||||
|
|
||||||
void CMemory::Free(void* ptr)
|
|
||||||
{
|
|
||||||
g_memoryAllocator->Free(ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
void* CMemory::Alloc(size_t sz, IAllocator::EHint hint, IAllocator::EScope scope,
|
|
||||||
IAllocator::EType type, const CCallStack& cs)
|
|
||||||
{
|
|
||||||
void* newPtr = g_memoryAllocator->Alloc(sz, hint, scope, type, cs);
|
|
||||||
if (!newPtr)
|
|
||||||
Log.report(logvisor::Error, "Alloc Failed! - Size %d", sz);
|
|
||||||
return newPtr;
|
|
||||||
}
|
|
||||||
|
|
||||||
CMemorySys::CMemorySys(IAllocator& alloc)
|
|
||||||
{
|
|
||||||
CMemory::Startup();
|
|
||||||
CMemory::SetAllocator(alloc);
|
|
||||||
}
|
|
||||||
|
|
||||||
CMemorySys::~CMemorySys()
|
|
||||||
{
|
|
||||||
CMemory::Shutdown();
|
|
||||||
}
|
|
||||||
|
|
||||||
IAllocator& CMemorySys::GetGameAllocator() {return g_gameAllocator;}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void* operator new(std::size_t sz)
|
|
||||||
{
|
|
||||||
if (!urde::g_memoryAllocatorReady)
|
|
||||||
return malloc(sz);
|
|
||||||
urde::CCallStack cs("?\?(?\?)", "UnknownType");
|
|
||||||
return urde::CMemory::Alloc(sz,
|
|
||||||
urde::IAllocator::EHint::None,
|
|
||||||
urde::IAllocator::EScope::Default,
|
|
||||||
urde::IAllocator::EType::Primitive,
|
|
||||||
cs);
|
|
||||||
}
|
|
||||||
|
|
||||||
void* operator new(std::size_t sz,
|
|
||||||
const char* funcName, const char* typeName)
|
|
||||||
{
|
|
||||||
if (!urde::g_memoryAllocatorReady)
|
|
||||||
return malloc(sz);
|
|
||||||
urde::CCallStack cs(funcName, typeName);
|
|
||||||
return urde::CMemory::Alloc(sz,
|
|
||||||
urde::IAllocator::EHint::None,
|
|
||||||
urde::IAllocator::EScope::Default,
|
|
||||||
urde::IAllocator::EType::Primitive,
|
|
||||||
cs);
|
|
||||||
}
|
|
||||||
|
|
||||||
void operator delete(void* ptr) noexcept
|
|
||||||
{
|
|
||||||
if (!urde::g_memoryAllocatorReady)
|
|
||||||
{
|
|
||||||
free(ptr);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
urde::CMemory::Free(ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
void* operator new[](std::size_t sz)
|
|
||||||
{
|
|
||||||
if (!urde::g_memoryAllocatorReady)
|
|
||||||
return malloc(sz);
|
|
||||||
urde::CCallStack cs("?\?(?\?)", "UnknownType");
|
|
||||||
return urde::CMemory::Alloc(sz,
|
|
||||||
urde::IAllocator::EHint::None,
|
|
||||||
urde::IAllocator::EScope::Default,
|
|
||||||
urde::IAllocator::EType::Array,
|
|
||||||
cs);
|
|
||||||
}
|
|
||||||
|
|
||||||
void* operator new[](std::size_t sz,
|
|
||||||
const char* funcName, const char* typeName)
|
|
||||||
{
|
|
||||||
if (!urde::g_memoryAllocatorReady)
|
|
||||||
return malloc(sz);
|
|
||||||
urde::CCallStack cs(funcName, typeName);
|
|
||||||
return urde::CMemory::Alloc(sz,
|
|
||||||
urde::IAllocator::EHint::None,
|
|
||||||
urde::IAllocator::EScope::Default,
|
|
||||||
urde::IAllocator::EType::Array,
|
|
||||||
cs);
|
|
||||||
}
|
|
||||||
|
|
||||||
void operator delete[](void* ptr) noexcept
|
|
||||||
{
|
|
||||||
if (!urde::g_memoryAllocatorReady)
|
|
||||||
{
|
|
||||||
free(ptr);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
urde::CMemory::Free(ptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,40 +0,0 @@
|
||||||
#ifndef __URDE_CMEMORY_HPP__
|
|
||||||
#define __URDE_CMEMORY_HPP__
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
|
|
||||||
#include "IAllocator.hpp"
|
|
||||||
|
|
||||||
namespace urde
|
|
||||||
{
|
|
||||||
class COsContext;
|
|
||||||
|
|
||||||
class CMemory
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
static void Startup();
|
|
||||||
static void Shutdown();
|
|
||||||
static void SetAllocator(IAllocator&);
|
|
||||||
static void OffsetFakeStatics(int);
|
|
||||||
static void SetOutOfMemoryCallback(const IAllocator::TOutOfMemoryCallback, void*);
|
|
||||||
static void Free(void*);
|
|
||||||
static void* Alloc(size_t, IAllocator::EHint, IAllocator::EScope, IAllocator::EType, const CCallStack&);
|
|
||||||
};
|
|
||||||
|
|
||||||
class CMemorySys
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
CMemorySys(IAllocator&);
|
|
||||||
~CMemorySys();
|
|
||||||
static IAllocator& GetGameAllocator();
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Custom new funcs */
|
|
||||||
void* operator new(std::size_t sz, const char* funcName, const char* typeName);
|
|
||||||
void* operator new[](std::size_t sz, const char* funcName, const char* typeName);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // __URDE_CMEMORY_HPP__
|
|
|
@ -1,7 +1,5 @@
|
||||||
#include "CResLoader.hpp"
|
#include "CResLoader.hpp"
|
||||||
#include "CPakFile.hpp"
|
#include "CPakFile.hpp"
|
||||||
#include "CMemory.hpp"
|
|
||||||
#include "CCallStack.hpp"
|
|
||||||
|
|
||||||
namespace urde
|
namespace urde
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
#include "IAllocator.hpp"
|
|
||||||
|
|
||||||
namespace urde
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,79 +0,0 @@
|
||||||
#ifndef __URDE_IALLOCATOR_HPP__
|
|
||||||
#define __URDE_IALLOCATOR_HPP__
|
|
||||||
|
|
||||||
#include "RetroTypes.hpp"
|
|
||||||
|
|
||||||
namespace urde
|
|
||||||
{
|
|
||||||
class COsContext;
|
|
||||||
class CCallStack;
|
|
||||||
|
|
||||||
class IAllocator
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
virtual ~IAllocator() {}
|
|
||||||
enum class EHint
|
|
||||||
{
|
|
||||||
None = 0x0,
|
|
||||||
TopOfHeap = 0x1,
|
|
||||||
Large = 0x2
|
|
||||||
};
|
|
||||||
enum class EScope
|
|
||||||
{
|
|
||||||
None = 0,
|
|
||||||
Default = 1
|
|
||||||
};
|
|
||||||
enum class EType
|
|
||||||
{
|
|
||||||
Primitive = 0,
|
|
||||||
Array = 1
|
|
||||||
};
|
|
||||||
struct SAllocInfo
|
|
||||||
{
|
|
||||||
};
|
|
||||||
struct SMetrics
|
|
||||||
{
|
|
||||||
u32 a;
|
|
||||||
u32 b;
|
|
||||||
u32 c;
|
|
||||||
u32 d;
|
|
||||||
u32 e;
|
|
||||||
u32 f;
|
|
||||||
u32 g;
|
|
||||||
u32 h;
|
|
||||||
u32 i;
|
|
||||||
u32 j;
|
|
||||||
u32 k;
|
|
||||||
u32 l;
|
|
||||||
u32 m;
|
|
||||||
u32 n;
|
|
||||||
u32 o;
|
|
||||||
u32 p;
|
|
||||||
u32 q;
|
|
||||||
u32 r;
|
|
||||||
u32 s;
|
|
||||||
u32 t;
|
|
||||||
u32 u;
|
|
||||||
u32 v;
|
|
||||||
};
|
|
||||||
typedef bool(*TOutOfMemoryCallback)(void*, u32);
|
|
||||||
typedef bool(*TAllocationVisitCallback)(const SAllocInfo&, void*);
|
|
||||||
|
|
||||||
virtual bool Initialize()=0;
|
|
||||||
virtual void Shutdown()=0;
|
|
||||||
virtual void* Alloc(size_t, EHint, EScope, EType, const CCallStack&)=0;
|
|
||||||
virtual void Free(void*)=0;
|
|
||||||
virtual void ReleaseAll()=0;
|
|
||||||
virtual void* AllocSecondary(size_t, EHint, EScope, EType, const CCallStack&)=0;
|
|
||||||
virtual void FreeSecondary(void*)=0;
|
|
||||||
virtual void ReleaseAllSecondary()=0;
|
|
||||||
virtual void SetOutOfMemoryCallback(const TOutOfMemoryCallback, void*)=0;
|
|
||||||
virtual int EnumAllocations(const TAllocationVisitCallback, void*, bool) const=0;
|
|
||||||
virtual SAllocInfo GetAllocInfo(void*) const=0;
|
|
||||||
virtual void OffsetFakeStatics(int)=0;
|
|
||||||
virtual SMetrics GetMetrics() const=0;
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // __URDE_IALLOCATOR_HPP__
|
|
|
@ -1,5 +1,4 @@
|
||||||
#include "IOStreams.hpp"
|
#include "IOStreams.hpp"
|
||||||
#include "CMemory.hpp"
|
|
||||||
|
|
||||||
namespace urde
|
namespace urde
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
#ifndef __URDE_MP1_CBABYGOTH_HPP__
|
||||||
|
#define __URDE_MP1_CBABYGOTH_HPP__
|
||||||
|
|
||||||
|
#include "World/CPatterned.hpp"
|
||||||
|
|
||||||
|
namespace urde
|
||||||
|
{
|
||||||
|
class CBabygothData
|
||||||
|
{
|
||||||
|
float x0_;
|
||||||
|
float x4_;
|
||||||
|
u32 x8_;
|
||||||
|
CDamageInfo xc_;
|
||||||
|
CDamageInfo x28_;
|
||||||
|
u32 x44_;
|
||||||
|
u32 x48_;
|
||||||
|
CDamageInfo x4c_;
|
||||||
|
CDamageVulnerability x68_;
|
||||||
|
CDamageVulnerability xd0_;
|
||||||
|
u32 x138_;
|
||||||
|
u32 x13c_;
|
||||||
|
float x140_;
|
||||||
|
s16 x144_;
|
||||||
|
u32 x148_;
|
||||||
|
u32 x14c_;
|
||||||
|
u32 x150_;
|
||||||
|
u32 x154_;
|
||||||
|
s16 x158_;
|
||||||
|
s16 x15a_;
|
||||||
|
s16 x15c_;
|
||||||
|
float x160_;
|
||||||
|
float x164_;
|
||||||
|
float x168_;
|
||||||
|
u32 x16c_;
|
||||||
|
s16 x170_;
|
||||||
|
u32 x174_;
|
||||||
|
public:
|
||||||
|
CBabygothData(CInputStream&);
|
||||||
|
ResId GetShellModelResId() const;
|
||||||
|
void GetFireballDamage() const;
|
||||||
|
ResId GetFireballResID() const;
|
||||||
|
const CDamageVulnerability& GetShellDamageVulnerability() const;
|
||||||
|
void GetSHellHitPoints() const;
|
||||||
|
void GetFireballAttackVariance() const;
|
||||||
|
void GetFireballAttackTime() const;
|
||||||
|
void GetFireBreathDamage() const;
|
||||||
|
ResId GetFireBreathResId() const;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif // __URDE_MP1_CBABYGOTH_HPP__
|
|
@ -16,6 +16,7 @@ set(MP1_SOURCES
|
||||||
CBeetle.hpp CBeetle.cpp
|
CBeetle.hpp CBeetle.cpp
|
||||||
CWarWasp.hpp CWarWasp.cpp
|
CWarWasp.hpp CWarWasp.cpp
|
||||||
CSpacePirate.hpp CSpacePirate.cpp
|
CSpacePirate.hpp CSpacePirate.cpp
|
||||||
|
CBabygoth.hpp CBabygoth.cpp
|
||||||
CSaveUI.hpp CSaveUI.cpp
|
CSaveUI.hpp CSaveUI.cpp
|
||||||
CMemoryCardDriver.hpp CMemoryCardDriver.cpp
|
CMemoryCardDriver.hpp CMemoryCardDriver.cpp
|
||||||
MP1.hpp MP1.cpp)
|
MP1.hpp MP1.cpp)
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
#define MP1_USE_BOO 0
|
#define MP1_USE_BOO 0
|
||||||
|
|
||||||
#include "IMain.hpp"
|
#include "IMain.hpp"
|
||||||
#include "CMemory.hpp"
|
|
||||||
#include "CTweaks.hpp"
|
#include "CTweaks.hpp"
|
||||||
#include "CPlayMovie.hpp"
|
#include "CPlayMovie.hpp"
|
||||||
#include "IOStreams.hpp"
|
#include "IOStreams.hpp"
|
||||||
|
|
Loading…
Reference in New Issue