SourceSDK for Gmod based of sourcesdk-minimal
In the future, I'm going to make more projects that recreate gmod dlls. Currently, these dlls exist that can replace the given gmod dll: datacache
- Gmod uses rapidjson and bootil. rapidjson is probably used for util.TableToJSON and util.JSONToTable
- Add Proper readme.
- Fix PMELib.h and pme.cpp for Linux
Add more Gmod functions & find out where these belong to:
dedicated_srv.so
- GMOD_GetSearchPathGroupName sig: _ZZL27GMOD_GetSearchPathGroupNameiE5names
- GMOD_CopyFile sig: Z13GMOD_CopyFilePKcS0
- GarrysMod::DedicatedServer sig: _ZN9GarrysMod15DedicatedServerL7clr_errE
GarrysMod::DedicatedServer sig: _ZN9GarrysMod15DedicatedServerL8clr_procE
GarrysMod::DedicatedServer sig: _ZN9GarrysMod15DedicatedServerL3clrE
GarrysMod::DedicatedServer sig: _ZN9GarrysMod15DedicatedServerL7clr_sucE - IGModLanguage sig: _ZTV13IGModLanguage & _ZTI13IGModLanguage
- CBaseFileSystem::GMOD_SetupDefaultPaths sig: ZN15CBaseFileSystem22GMOD_SetupDefaultPathsEPKcS1
- CFileSystem_Stdio::GMOD_FixPathCase sig: _ZN17CFileSystem_Stdio16GMOD_FixPathCaseEPcj
engine.dll
- GMOD_GetNetSocket(int)
lua_shared.dll
- GMOD_LoadBinaryModule
engine_srv.so
- Add CVEngineServer
CVEngineServer::LoadGameState(char const*,bool)
CVEngineServer::LoadAdjacentEnts(char const*,char const*)
CVEngineServer::ClearSaveDir(void)
CVEngineServer::ClearSaveDirAfterClientLoad(void)
CVEngineServer::IsLowViolence(void)
CVEngineServer::CheckAreasConnected(int,int)
CVEngineServer::GetArea(Vector const&)
CVEngineServer::GetAreaBits(int,uchar ,int)
CVEngineServer::GetAreaPortalPlane(Vector const&,int,VPlane )
CVEngineServer::TextMessageGet(char const)
CVEngineServer::LogPrint(char const)
CVEngineServer::GetMapEntitiesString(void)
CVEngineServer::SolidMoved(edict_t ,ICollideable ,Vector const,bool)
CVEngineServer::TriggerMoved(edict_t ,bool)
CVEngineServer::CleanUpEntityClusterList(PVSInfo_t )
CVEngineServer::BuildEntityClusterList(edict_t ,PVSInfo_t ) CVEngineServer::PlaybackTempEntity(IRecipientFilter &,float,void const,SendTable const,int)
CVEngineServer::IsMapValid(char const)
CVEngineServer::IsDedicatedServer(void)
CVEngineServer::IsInEditMode(void)
CVEngineServer::IsInCommentaryMode(void)
CVEngineServer::IsInternalBuild(void)
CVEngineServer::GetPlayerUserId(edict_t const)
CVEngineServer::GetPlayerNetworkIDString(edict_t const)
CVEngineServer::GetEntityCount(void)
CVEngineServer::GetPlayerNetInfo(int)
CVEngineServer::SaveAllocMemory(uint,uint)
CVEngineServer::SaveFreeMemory(void )
CVEngineServer::Con_NPrintf(int,char const,...)
CVEngineServer::Con_NXPrintf(con_nprint_s const*,char const*,...)
CVEngineServer::CreateFakeClientEx(char const*,bool)
CVEngineServer::IsPaused(void)
CVEngineServer::GetSharedEdictChangeInfo(void)
CVEngineServer::GetMostRecentlyLoadedFileName(void)
CVEngineServer::GetSaveFileName(void)
CVEngineServer::MultiplayerEndGame(void)
CVEngineServer::ChangeTeam(char const*)
CVEngineServer::SetAchievementMgr(IAchievementMgr )
CVEngineServer::GetAchievementMgr(void)
CVEngineServer::GetClientSteamIDByPlayerIndex(int)
CVEngineServer::SetGamestatsData(CGamestatsData )
CVEngineServer::GetGamestatsData(void)
CVEngineServer::GetReplay(void)
CVEngineServer::GetClusterCount(void)
CVEngineServer::GMOD_SetTimeManipulator(float)
CVEngineServer::GMOD_LoadModel(char const)
CVEngineServer::GMOD_ShouldUpdateVoiceMasks(void)
CVEngineServer::GMOD_DestroyDataTable(IGMODDataTable )
CVEngineServer::FreeEntPrivateData(void )
CVEngineServer::ForceExactFile(char const)
CVEngineServer::Time(void)
CVEngineServer::IndexOfEdict(edict_t const)
CVEngineServer::ChangeLevel(char const,char const*)
CVEngineServer::NotifyEdictFlagsChange(int)
CVEngineServer::GetChangeAccessor(edict_t const*)
CVEngineServer::GetClientSteamID(edict_t )
CVEngineServer::IsClientFullyAuthenticated(edict_t )
CVEngineServer::GetPrevCheckTransmitInfo(edict_t )
CVEngineServer::PrecacheDecal(char const,bool)
CVEngineServer::PrecacheModel(char const,bool)
CVEngineServer::SetView(edict_t const,edict_t const*)
CVEngineServer::CrosshairAngle(edict_t const*,float,float)
CVEngineServer::SetFakeClientConVarValue(edict_t ,char const,char const*)
CVEngineServer::PrecacheGeneric(char const*,bool)
CVEngineServer::IsModelPrecached(char const*)
CVEngineServer::IsDecalPrecached(char const*)
CVEngineServer::IsGenericPrecached(char const*)
CVEngineServer::ForceModelBounds(char const*,Vector const&,Vector const&)
CVEngineServer::ForceSimpleMaterial(char const*)
CVEngineServer::PrecacheSentenceFile(char const*,bool)
CVEngineServer::GetClusterForOrigin(Vector const&)
CVEngineServer::CheckOriginInPVS(Vector const&,uchar const*,int)
CVEngineServer::GetPVSForCluster(int,int,uchar )
CVEngineServer::CheckBoxInPVS(Vector const&,Vector const&,uchar const,int)
CVEngineServer::PEntityOfEntIndex(int)
CVEngineServer::CreateEdict(int)
CVEngineServer::RemoveEdict(edict_t )
CVEngineServer::PvAllocEntPrivateData(long)
CVEngineServer::ClientPrintf(edict_t ,char const)
CVEngineServer::FadeClientVolume(edict_t const,float,float,float,float)
CVEngineServer::SentenceGroupPick(int,char ,int)
CVEngineServer::SentenceGroupPickSequential(int,char ,int,int,int)
CVEngineServer::SentenceIndexFromName(char const)
CVEngineServer::SentenceNameFromIndex(int)
CVEngineServer::SentenceGroupIndexFromName(char const)
CVEngineServer::SentenceGroupNameFromIndex(int)
CVEngineServer::SentenceLength(int)
CVEngineServer::CheckHeadnodeVisible(int,uchar const*,int)
CVEngineServer::ServerCommand(char const*)
CVEngineServer::ServerExecute(void)
CVEngineServer::ClientCommand(edict_t ,char const,...)
CVEngineServer::LightStyle(int,char const*)
CVEngineServer::Message_DetermineMulticastRecipients(bool,Vector const&,CBitVec<255> &)
CVEngineServer::EntityMessageBegin(int,ServerClass ,bool)
CVEngineServer::UserMessageBegin(IRecipientFilter ,int)
CVEngineServer::GetGameDir(char ,int)
CVEngineServer::CompareFileTime(char const,char const,int )
CVEngineServer::LockNetworkStringTables(bool)
CVEngineServer::GetClientConVarFloat(int,char const,float)
CVEngineServer::ParseFile(char const,char ,int)
CVEngineServer::CopyFile(char const,char const*)
CVEngineServer::AddOriginToPVS(Vector const&)
CVEngineServer::ResetPVS(uchar ,int)
CVEngineServer::SetAreaPortalState(int,int)
CVEngineServer::SetAreaPortalStates(int const,int const*,int)
CVEngineServer::GetEntityTransmitBitsForClient(int)
CVEngineServer::StartQueryCvarValue(edict_t ,char const)
CVEngineServer::AllowImmediateEdictReuse(void)
CVEngineServer::GetAppID(void)
CVEngineServer::InsertServerCommand(char const*)
CVEngineServer::GetAllClusterBounds(bbox_t ,int)
CVEngineServer::GetServerVersion(void)
CVEngineServer::GMOD_RawServerCommand(char const)
CVEngineServer::GMOD_CreateDataTable(void)
CVEngineServer::CreateSpatialPartition(Vector const&,Vector const&)
CVEngineServer::DestroySpatialPartition(ISpatialPartition )
CVEngineServer::ClientCommandKeyValues(edict_t ,KeyValues )
CVEngineServer::SetDedicatedServerBenchmarkMode(bool)
CVEngineServer::GetClientConVarValue(int,char const)
CVEngineServer::GMOD_GetPlayerOwnerSteamID(edict_t const)
CVEngineServer::GMOD_GetPlayerIsSpeaking(edict_t const)
CVEngineServer::GMOD_GetServerAddress(void)
CVEngineServer::GMOD_HostToAddress(char const*)
CVEngineServer::GMOD_SendToClient(int,void *,int)
CVEngineServer::GetGameServerSteamID(void)
CVEngineServer::Message_CheckMessageLength(void)
CVEngineServer::DrawMapToScratchPad(IScratchPad3D ,ulong)
CVEngineServer::EmitAmbientSound(int,Vector const&,char const,float,soundlevel_t,int,int,float)
CVEngineServer::StaticDecal(Vector const&,int,int,int,bool)
CVEngineServer::MessageEnd(void)
CVEngineServer::GMOD_SendToClient(IRecipientFilter *,void ,int)
CVEngineServer::CreateFakeClient(char const)
CVEngineServer::GetPlayerInfo(int,player_info_s *) - Find out where to put these
GMODDataTable_NextIndex(bf_read ,int &) [clone]
GMODTable_CompareDeltas(SendProp const,bf_read ,bf_read )
GMODTable_Decode(DecodeInfo )
GMODTable_DecodeZero(DecodeInfo )
GMODTable_Encode(uchar const,DVariant ,SendProp const,bf_write ,int)
GMODTable_FastCopy(SendProp const,RecvProp const,uchar const,uchar ,int)
GMODTable_GetTypeNameString(void)
GMODTable_IsEncodedZero(SendProp const,bf_read )
GMODTable_IsZero(uchar const,DVariant ,SendProp const)
GMODTable_SkipProp(SendProp const,bf_read *)
GMODVariant_Skip(bf_read *)
GMOD_FinishLoading(void)
GMOD_GetTableDataSize(CNetworkStringTable *)
GMOD_SendError(std::string,std::string) - Add CGMODDataTable
CGMODDataTable::Begin(void)
CGMODDataTable::CGMODDataTable(void (*)(void ,int,CGMODVariant const&))
CGMODDataTable::Clear(void)
CGMODDataTable::ClearLocal(char const)
CGMODDataTable::Compare(bf_read ,bf_read ,CGMODDataTable,int)
CGMODDataTable::CopyFrom(void ,void const,CGMODDataTable)
CGMODDataTable::Decode(void *,bf_read *)
CGMODDataTable::Encode(void ,bf_write )
CGMODDataTable::End(void)
CGMODDataTable::Entry::~Entry()
CGMODDataTable::Get(int)
CGMODDataTable::GetKey(int)
CGMODDataTable::GetLocal(char const)
CGMODDataTable::GetValue(int)
CGMODDataTable::HasKey(int)
CGMODDataTable::IncrementIterator(int &)
CGMODDataTable::IsEmpty(void)
CGMODDataTable::Set(int,CGMODVariant const&)
CGMODDataTable::SetLocal(char const,CGMODVariant const&)
CGMODDataTable::Skip(bf_read *)
CGMODDataTable::WriteProps(bf_read *,bf_write *,int)
CGMODDataTable::~CGMODDataTable()
CGMODVariant::~CGMODVariant() - Add CModelRender
CModelRender::GMODAddDecal(ushort,Vector const&,Vector const&,IMaterial *,int,float,float) - Find out where these belong to
E_Compare(bf_read *,bf_read *)
E_Read(bf_read *,CGMODVariant &)
E_Skip(bf_read *)
E_Write(bf_write *,CGMODVariant const&)
F_Compare(bf_read *,bf_read *)
F_Read(bf_read *,CGMODVariant &)
F_Skip(bf_read *)
F_Write(bf_write *,CGMODVariant const&)
GMODDataTable_NextIndex(bf_read ,int &) [clone]
GMODTable_CompareDeltas(SendProp const,bf_read ,bf_read )
GMODTable_Decode(DecodeInfo )
GMODTable_DecodeZero(DecodeInfo )
GMODTable_Encode(uchar const,DVariant ,SendProp const,bf_write ,int)
GMODTable_FastCopy(SendProp const,RecvProp const,uchar const,uchar ,int)
GMODTable_GetTypeNameString(void)
GMODTable_IsEncodedZero(SendProp const,bf_read )
GMODTable_IsZero(uchar const,DVariant ,SendProp const)
GMODTable_SkipProp(SendProp const,bf_read *)
GMODVariant_Skip(bf_read *)
GMOD_GetTableDataSize(CNetworkStringTable *)
I_Compare(bf_read *,bf_read *)
I_Read(bf_read *,CGMODVariant &)
I_Skip(bf_read *)
I_Write(bf_write *,CGMODVariant const&)
S_Compare(bf_read *,bf_read *)
S_GetGainFromSoundLevel(soundlevel_t,float)
S_Read(bf_read *,CGMODVariant &)
S_Skip(bf_read *)
S_Write(bf_write *,CGMODVariant const&)
V_Read(bf_read *,CGMODVariant &)
V_Write(bf_write *,CGMODVariant const&)
gmod_build_number(void)
GetAddonFromError(CLuaError *,IAddonSystem::Information *,bool *) - Document CGarrysMod
CCallback<CGarrysMod, P2PSessionConnectFail_t, true>::Run(void )
CCallback<CGarrysMod, P2PSessionRequest_t, true>::Run(void )
GarrysMod::CGarrysMod(void)
CGarrysMod::EndVideoScale(int, int)
CGarrysMod::EntityRemoved(CBaseEntity ) NOTE: This looks interesting. Maybe try to rebuild the code.
CGarrysMod::FireGameEvent(IGameEvent )
CGarrysMod::GetGameDescription(void)
CGarrysMod::GetMapName(void)
CGarrysMod::InitializeMod(void * ()(char const, int ))
CGarrysMod::LevelInit(char const, char const, char const, char const*, bool, bool)
CGarrysMod::MD5String(char , char const, char const*, char const*)
CGarrysMod::MenuThink(void)
CGarrysMod::OnP2PSessionRequest(P2PSessionRequest_t )
CGarrysMod::OnP2PSessionConnectFail(P2PSessionConnectFail_t )
CGarrysMod::PlaySound(char const)
CGarrysMod::PostInitialize(void)
CGarrysMod::RunConsoleCommand(char const)
CGarrysMod::ShouldCollide(CBaseEntity *, CBaseEntity *)
CGarrysMod::Shutdown(void)
CGarrysMod::StartVideoScale(int, int)
CGarrysMod::Think(void)
GarrysMod::AutoRefresh::Init(void)
-
Find out for what map.pack is used.
-
Add CLuaClass
CLuaClass::Add(CLuaClassFunction )
CLuaClass::CLuaClass(char const, int, void ()(void), char const)
CLuaClass::Get(int)
CLuaClass::InitClasses(void)
CLuaClass::MetaTableDerive(void)
CLuaClass::Push(void *)
CLuaClass::~CLuaClass() -
Add CLuaManager (Based off CLuaClass)
CLuaManager::CreateEntity(char const*)
CLuaManager::RunScript(char const*, char const*, bool, char const*)
CLuaManager::RunScriptsInFolder(char const*, char const*)
CLuaManager::ScriptExists(char const*, char const*)
CLuaManager::SendScriptsInFolder(char const*, char const*)
CLuaManager::Startup(void) -
Add CLuaGameEventListener
CLuaGameEventListener::FireGameEvent(IGameEvent *)
CLuaGameEventListener::Init(void)
CLuaGameEventListener::LevelShutdownPostEntity(void)
CLuaGameEventListener::Name(void)
CLuaGameEventListener::~CLuaGameEventListener() -
Add CLuaGameSystem (based off CBaseGameSystem or IGameSystemPerFrame)
CLuaGameSystem::FireGameEvent(IGameEvent *)
CLuaGameSystem::FrameUpdatePostEntityThink(void)
CLuaGameSystem::FrameUpdatePreEntityThink(void)
CLuaGameSystem::Init(void)
CLuaGameSystem::LevelInitPostEntity(void)
CLuaGameSystem::LevelInitPreEntity(void)
CLuaGameSystem::LevelShutdownPostEntity(void)
CLuaGameSystem::LevelShutdownPreEntity(void)
CLuaGameSystem::Name(void)
CLuaGameSystem::OnRestore(void)
CLuaGameSystem::OnSave(void)
CLuaGameSystem::PostInit(void)
CLuaGameSystem::PreClientUpdate(void)
CLuaGameSystem::SafeRemoveIfDesired(void)
CLuaGameSystem::Shutdown(void)
CLuaGameSystem::~CLuaGameSystem() -
Add CLuaGameCallback
CLuaGameCallback::CreateLuaObject(void)
CLuaGameCallback::DestroyLuaObject(ILuaObject )
CLuaGameCallback::ErrorPrint(char const, bool)
CLuaGameCallback::InterfaceCreated(ILuaInterface ) = {}
CLuaGameCallback::LuaError(CLuaError )
LuaGameCallback::Msg(char const, bool)
CLuaGameCallback::MsgColour(char const, Color const&) -
Add CLuaGameEnums (This will be a huge pain)
CLuaGameEnums::InitLibraries(ILuaInterface *)
CLuaGameEnums::~CLuaGameEnums() __ZN13CLuaGameEnumsD1Ev
CLuaGameEnums::~CLuaGameEnums() __ZN13CLuaGameEnumsD0Ev -
Add CLuaSENTManager
CLuaSENTManager::CLuaSENTManager(void)
CLuaSENTManager::CreateEntity(char const*)
CLuaSENTManager::LoadScript(char const*)
CLuaSENTManager::LoadScripts(void)
CLuaSENTManager::ReloadSpecific(char const*)
CLuaSENTManager::~CLuaSENTManager() -
Add CLuaSWEPManager
CLuaSWEPManager::CLuaSWEPManager(void)
CLuaSWEPManager::CreateEntity(char const*)
CLuaSWEPManager::LoadScript(char const*)
CLuaSWEPManager::LoadScripts(void)
CLuaSWEPManager::ReloadSpecific(char const*)
CLuaSWEPManager::~CLuaSWEPManager() -
Add CLuaEffectManager
CLuaEffectManager::CLuaEffectManager(void)
CLuaEffectManager::LoadScript(char const*)
CLuaEffectManager::LoadScripts(void)
CLuaEffectManager::ReloadSpecific(char const*) CLuaEffectManager::~CLuaEffectManager() -
Add all other CLua*
-
Add CGMOD_Player (Based off CHL2MP_Player)
-
Add Push_* (like Push_Entity, Push_CTakeDamageInfo and so on)
-
Add GarrysMod::*
-
Add GModDataPack::*
-
Add ILuaInterface::UserGet(int) Coulg get useful. __ZN13ILuaInterface7UserGetI11CBaseEntityEEPT_i
-
Add all Lua::