improvements

This commit is contained in:
2025-12-14 12:32:24 +02:00
parent 90a0c55d1d
commit c4406d1891
20 changed files with 529 additions and 95 deletions

0
engine/assetmgr.cpp Normal file
View File

72
engine/gamemgr.cpp Normal file
View File

@@ -0,0 +1,72 @@
#include "igamemgr.h"
#include "tier0/platform.h"
#include "tier1/interface.h"
#include "tier2/ifilesystem.h"
#include "tier2/fileformats/ini.h"
abstract_class CGame: public IGame {
public:
virtual void Load() override;
virtual void GameFrame() override;
private:
void *m_pLibrary;
};
abstract_class CGameManager: public IGameManager
{
public:
virtual void Init() override;
virtual void Shutdown() override;
virtual IGame *LoadGame( const char *szGameName ) override;
virtual IGameMod *LoadGlobalMod( const char *szModName ) override;
private:
IINIFile *g_pGameParameters;
};
void CGameManager::Init()
{
IFileHandle *pFile;
size_t nDataSize = 0;
CUtlBuffer<char> szData;
IINISection *pMainGame;
CUtlString sz;
pFile = filesystem->Open("game.ini", FILEMODE_READ);
szData = CUtlBuffer<char>(pFile->Size());
pFile->Read(szData.GetMemory(), szData.GetSize());
pFile->Close();
g_pGameParameters= INIManager()->ReadString(szData);
pMainGame = g_pGameParameters->GetSection("MainGame");
LoadGame(pMainGame->GetStringValue("path"));
}
void CGameManager::Shutdown()
{
INIManager()->ReleaseFile(g_pGameParameters);
}
//-----------------------------------------------------------------------------
// Load all the packages
//-----------------------------------------------------------------------------
IGame *CGameManager::LoadGame( const char *szGameName )
{
}
IGameMod *CGameManager::LoadGlobalMod( const char *szModName )
{
}
IGameManager *GameManager()
{
static CGameManager manager;
return (IGameManager*)&manager;
}