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
public/cl_entity.h Normal file
View File

15
public/gamesystem.h Normal file
View File

@@ -0,0 +1,15 @@
#ifndef GAME_SYSTEM_H
#define GAME_SYSTEM_H
#include "tier1/interface.h"
abstract_class IGameSystem
{
public:
virtual void Init() = 0;
virtual void Tick( float fDelta ) = 0;
virtual void Frame( float fDelta ) = 0;
virtual void Shutdown() = 0;
};
#endif

20
public/iassetmgr.h Normal file
View File

@@ -0,0 +1,20 @@
#ifndef ASSET_MGR_H
#define ASSET_MGR_H
#include "tier0/platform.h"
#include "tier2/iappsystem.h"
abstract_class IModel;
abstract_class ITexture;
abstract_class ISound;
abstract_class IAssetManager: public IAppSystem
{
public:
virtual void Preload( const char *szName ) = 0;
virtual ITexture *LoadTexture( const char *szName ) = 0;
virtual IModel *LoadModel( const char *szName ) = 0;
virtual ISound *LoadSound( const char *szName ) = 0;
};
#endif

39
public/igamemgr.h Normal file
View File

@@ -0,0 +1,39 @@
#ifndef GAME_MGR_H
#define GAME_MGR_H
#include "tier2/iappsystem.h"
abstract_class IGameBase: public IAppSystem {
public:
virtual void Load() = 0;
virtual void GameFrame() = 0;
virtual const char *GetAssetDirectory();
};
abstract_class IGameMod: public IGameBase
{
};
abstract_class IGame: public IGameBase
{
public:
virtual IGameMod *LoadLocalMod( const char *szModName ) = 0;
private:
void *m_pLibrary;
};
abstract_class IGameManager: public IAppSystem
{
public:
virtual IGame *LoadGame( const char *szGameName ) = 0;
virtual IGameMod *LoadGlobalMod( const char *szModName ) = 0;
};
IGameManager *GameManager();
#endif

0
public/igamepadinput.h Normal file
View File

0
public/ikeyboardinput.h Normal file
View File

0
public/ilevelmgr.h Normal file
View File

0
public/imouseinput.h Normal file
View File

0
public/sv_entity.h Normal file
View File