_WeaponDatabase("_WeaponDatabase", no_init);
+
+ // Methods...
+ _WeaponDatabase.def("_find", &WeaponDataBaseExt::_find, manage_new_object_policy());
+
+ // Properties...
+ _WeaponDatabase.add_property("_length", &WeaponDataBase_t::Count);
+
+ // Add memory tools...
+ _WeaponDatabase ADD_MEM_TOOLS(WeaponDataBase_t);
+}
+
+#endif // _WEAPONS_SCRIPTS_SDK2013_WRAP_H
diff --git a/src/core/patches/sdk2013/patches.cpp b/src/core/patches/sdk2013/patches.cpp
new file mode 100644
index 000000000..239d5cc3e
--- /dev/null
+++ b/src/core/patches/sdk2013/patches.cpp
@@ -0,0 +1,25 @@
+/**
+* =============================================================================
+* Source Python
+* Copyright (C) 2012-2015 Source Python Development Team. All rights reserved.
+* =============================================================================
+*
+* This program is free software; you can redistribute it and/or modify it under
+* the terms of the GNU General Public License, version 3.0, as published by the
+* Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+* details.
+*
+* You should have received a copy of the GNU General Public License along with
+* this program. If not, see .
+*
+* As a special exception, the Source Python Team gives you permission
+* to link the code of this program (as well as its derivative works) to
+* "Half-Life 2," the "Source Engine," and any Game MODs that run on software
+* by the Valve Corporation. You must obey the GNU General Public License in
+* all respects for all other code used. Additionally, the Source.Python
+* Development Team grants this exception to all derivative works.
+*/
diff --git a/src/core/patches/sdk2013/undefined_symbols.h b/src/core/patches/sdk2013/undefined_symbols.h
new file mode 100644
index 000000000..80f6f91f4
--- /dev/null
+++ b/src/core/patches/sdk2013/undefined_symbols.h
@@ -0,0 +1,63 @@
+/**
+* =============================================================================
+* Source Python
+* Copyright (C) 2012-2015 Source Python Development Team. All rights reserved.
+* =============================================================================
+*
+* This program is free software; you can redistribute it and/or modify it under
+* the terms of the GNU General Public License, version 3.0, as published by the
+* Free Software Foundation.
+*
+* This program is distributed in the hope that it will be useful, but WITHOUT
+* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+* details.
+*
+* You should have received a copy of the GNU General Public License along with
+* this program. If not, see .
+*
+* As a special exception, the Source Python Team gives you permission
+* to link the code of this program (as well as its derivative works) to
+* "Half-Life 2," the "Source Engine," and any Game MODs that run on software
+* by the Valve Corporation. You must obey the GNU General Public License in
+* all respects for all other code used. Additionally, the Source.Python
+* Development Team grants this exception to all derivative works.
+*/
+
+#ifndef UNDEFINED_SYMBOLS_SDK2013_H
+#define UNDEFINED_SYMBOLS_SDK2013_H
+
+//-----------------------------------------------------------------------------
+// Includes.
+//-----------------------------------------------------------------------------
+#include "dt_send.h"
+#include "game/shared/ehandle.h"
+#include "isaverestore.h"
+#include "datamap.h"
+#include "game/shared/takedamageinfo.h"
+
+
+//-----------------------------------------------------------------------------
+// CTakeDamageInfo constructor declaration.
+//-----------------------------------------------------------------------------
+CTakeDamageInfo::CTakeDamageInfo()
+{
+ m_hInflictor = NULL;
+ m_hAttacker = NULL;
+ m_hWeapon = NULL;
+ m_flDamage = 0.0f;
+ m_flBaseDamage = BASEDAMAGE_NOT_SPECIFIED;
+ m_bitsDamageType = 0;
+ m_iDamageCustom = 0;
+ m_flMaxDamage = 0.0f;
+ m_vecDamageForce = vec3_origin;
+ m_vecDamagePosition = vec3_origin;
+ m_vecReportedPosition = vec3_origin;
+ m_iAmmoType = -1;
+ m_iDamagedOtherPlayers = 0;
+ m_iPlayerPenetrationCount = 0;
+ m_flDamageBonus = 0.0f;
+ m_bForceFriendlyFire = false;
+}
+
+#endif // _UNDEFINED_SYMBOLS_SDK2013_H
diff --git a/src/core/sp_main.cpp b/src/core/sp_main.cpp
index 3e966daf3..ccbf6eb54 100644
--- a/src/core/sp_main.cpp
+++ b/src/core/sp_main.cpp
@@ -187,7 +187,7 @@ bool GetInterfaces( InterfaceHelper_t* pInterfaceList, CreateInterfaceFn factory
//-----------------------------------------------------------------------------
// Server output hook.
//-----------------------------------------------------------------------------
-#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD)
+#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD) || defined(ENGINE_SDK2013)
SpewRetval_t SP_SpewOutput( SpewType_t spewType, const tchar *pMsg )
{
extern CListenerManager* GetOnServerOutputListenerManager();
@@ -269,7 +269,7 @@ CSourcePython::CSourcePython()
m_iClientCommandIndex = 0;
m_pOldMDLCacheNotifier = NULL;
-#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD)
+#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD) || defined(ENGINE_SDK2013)
m_pOldSpewOutputFunc = NULL;
#endif
}
@@ -326,7 +326,7 @@ bool CSourcePython::Load( CreateInterfaceFn interfaceFactory, CreateInterfaceFn
return false;
}
-#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD)
+#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD) || defined(ENGINE_SDK2013)
DevMsg(1, MSG_PREFIX "Retrieving old output function...\n");
m_pOldSpewOutputFunc = GetSpewOutputFunc();
@@ -376,7 +376,7 @@ void CSourcePython::Unload( void )
DevMsg(1, MSG_PREFIX "Unhooking all functions...\n");
GetHookManager()->UnhookAllFunctions();
-#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD)
+#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD) || defined(ENGINE_SDK2013)
if (m_pOldSpewOutputFunc)
{
DevMsg(1, MSG_PREFIX "Restoring old output function...\n");
@@ -586,7 +586,7 @@ void CSourcePython::ClientFullyConnect( edict_t *pEntity )
}
#endif
-#if defined(ENGINE_CSGO) || defined(ENGINE_BMS) || defined(ENGINE_BLADE)
+#if defined(ENGINE_CSGO) || defined(ENGINE_BMS) || defined(ENGINE_BLADE) || defined(ENGINE_SDK2013)
void CSourcePython::OnEdictAllocated( edict_t *edict )
{
unsigned int iEntityIndex;
diff --git a/src/core/sp_main.h b/src/core/sp_main.h
index ba6fba73a..84457682c 100644
--- a/src/core/sp_main.h
+++ b/src/core/sp_main.h
@@ -83,7 +83,7 @@ class CSourcePython: public IServerPluginCallbacks, public IEntityListener, publ
virtual void ClientFullyConnect( edict_t *pEntity );
#endif
-#if defined(ENGINE_CSGO) || defined(ENGINE_BMS) || defined(ENGINE_BLADE)
+#if defined(ENGINE_CSGO) || defined(ENGINE_BMS) || defined(ENGINE_BLADE) || defined(ENGINE_SDK2013)
virtual void OnEdictAllocated( edict_t *edict );
virtual void OnEdictFreed( const edict_t *edict );
#endif
@@ -126,7 +126,7 @@ class CSourcePython: public IServerPluginCallbacks, public IEntityListener, publ
int m_iClientCommandIndex;
IMDLCacheNotify* m_pOldMDLCacheNotifier;
-#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD)
+#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD) || defined(ENGINE_SDK2013)
SpewOutputFunc_t m_pOldSpewOutputFunc;
#endif
};
diff --git a/src/core/utilities/conversions/edict_from.cpp b/src/core/utilities/conversions/edict_from.cpp
index b44f9e5be..7901477b5 100644
--- a/src/core/utilities/conversions/edict_from.cpp
+++ b/src/core/utilities/conversions/edict_from.cpp
@@ -39,7 +39,7 @@ bool EdictFromIndex( unsigned int iEntityIndex, edict_t*& output )
return false;
edict_t* pEdict;
-#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD)
+#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD) || defined(ENGINE_SDK2013)
pEdict = engine->PEntityOfEntIndex(iEntityIndex);
#else
pEdict = (edict_t *)(gpGlobals->pEdicts + iEntityIndex);
diff --git a/src/core/utilities/conversions/index_from.cpp b/src/core/utilities/conversions/index_from.cpp
index d13972b97..95faf38c3 100644
--- a/src/core/utilities/conversions/index_from.cpp
+++ b/src/core/utilities/conversions/index_from.cpp
@@ -39,7 +39,7 @@ bool IndexFromEdict( edict_t *pEdict, unsigned int& output )
return false;
int iEntityIndex;
-#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD)
+#if defined(ENGINE_ORANGEBOX) || defined(ENGINE_BMS) || defined(ENGINE_GMOD) || defined(ENGINE_SDK2013)
iEntityIndex = engine->IndexOfEdict(pEdict);
#else
iEntityIndex = pEdict - gpGlobals->pEdicts;
diff --git a/src/loader/loader_main.cpp b/src/loader/loader_main.cpp
index e1736219a..98cd66dfc 100644
--- a/src/loader/loader_main.cpp
+++ b/src/loader/loader_main.cpp
@@ -455,7 +455,7 @@ void CSourcePython::ClientFullyConnect( edict_t *pEntity )
}
#endif
-#if defined(ENGINE_CSGO) || defined(ENGINE_BMS) || defined(ENGINE_BLADE)
+#if defined(ENGINE_CSGO) || defined(ENGINE_BMS) || defined(ENGINE_BLADE) || defined(ENGINE_SDK2013)
void CSourcePython::OnEdictAllocated( edict_t *edict )
{
if (m_pCorePlugin != NULL)
diff --git a/src/loader/loader_main.h b/src/loader/loader_main.h
index 8882cd011..18f7b68d5 100644
--- a/src/loader/loader_main.h
+++ b/src/loader/loader_main.h
@@ -76,7 +76,7 @@ class CSourcePython: public IServerPluginCallbacks
virtual void ClientFullyConnect( edict_t *pEntity );
#endif
-#if defined(ENGINE_CSGO) || defined(ENGINE_BMS) || defined(ENGINE_BLADE)
+#if defined(ENGINE_CSGO) || defined(ENGINE_BMS) || defined(ENGINE_BLADE) || defined(ENGINE_SDK2013)
virtual void OnEdictAllocated( edict_t *edict );
virtual void OnEdictFreed( const edict_t *edict );
#endif
diff --git a/src/makefiles/branch/sdk2013.cmake b/src/makefiles/branch/sdk2013.cmake
new file mode 100644
index 000000000..8a8a3c68e
--- /dev/null
+++ b/src/makefiles/branch/sdk2013.cmake
@@ -0,0 +1,14 @@
+# ------------------------------------------------------------------
+# File: src/makefiles/branch/sdk2013.cmake
+# Purpose: This is the CMake file for the sdk2013 branch.
+# ------------------------------------------------------------------
+
+# TODO: Update SDK instead
+#Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
+#-DINTERFACEVERSION_SERVERGAMEDLL=\"ServerGameDLL010\"")
+
+# ------------------------------------------------------------------
+# Set the engine version.
+# ------------------------------------------------------------------
+Set(SOURCE_ENGINE "sdk2013")
+add_definitions(-DENGINE_SDK2013)
diff --git a/src/makefiles/linux/linux.base.cmake b/src/makefiles/linux/linux.base.cmake
index 215b76b65..3fa62fd0f 100644
--- a/src/makefiles/linux/linux.base.cmake
+++ b/src/makefiles/linux/linux.base.cmake
@@ -41,7 +41,7 @@ Set(SOURCEPYTHON_LINK_LIBRARIES
)
-If(SOURCE_ENGINE MATCHES "bms")
+If(SOURCE_ENGINE MATCHES "bms" OR SOURCE_ENGINE MATCHES "sdk2013")
Set(SOURCEPYTHON_LINK_LIBRARIES
"${SOURCEPYTHON_LINK_LIBRARIES}"
${SOURCESDK_LIB}/public/linux32/mathlib.a
@@ -95,12 +95,12 @@ EndIf()
# General definitions
Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_LINUX -DPOSIX -DLINUX -DGNUC -DCOMPILER_GCC")
-if(SOURCE_ENGINE MATCHES "orangebox" OR SOURCE_ENGINE MATCHES "bms" OR SOURCE_ENGINE MATCHES "gmod")
+if(SOURCE_ENGINE MATCHES "orangebox" OR SOURCE_ENGINE MATCHES "bms" OR SOURCE_ENGINE MATCHES "gmod" OR SOURCE_ENGINE MATCHES "sdk2013")
Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNO_MALLOC_OVERRIDE")
Endif()
# Function alias
-If(NOT SOURCE_ENGINE MATCHES "bms")
+If(NOT SOURCE_ENGINE MATCHES "bms" AND NOT SOURCE_ENGINE MATCHES "sdk2013")
Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp")
Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dstrnicmp=strncasecmp -D_snprintf=snprintf")
Set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp")
diff --git a/src/patches/sdk2013/lib/public/tier1.lib b/src/patches/sdk2013/lib/public/tier1.lib
new file mode 100644
index 000000000..6e4e8b5bb
Binary files /dev/null and b/src/patches/sdk2013/lib/public/tier1.lib differ
pFad - Phonifier reborn
Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy