Compare commits
96
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
49e2303a5b | ||
|
|
fe0b9f7320 | ||
|
|
b16c758f88 | ||
|
|
da729c3c08 | ||
|
|
f1bcb2ad3e | ||
|
|
9270399eb1 | ||
|
|
76e6edbad4 | ||
|
|
58ca1508bc | ||
|
|
eed1df28ec | ||
|
|
a602d7d107 | ||
|
|
9a08986fd1 | ||
|
|
5d1820853a | ||
|
|
753aced2a3 | ||
|
|
df47457321 | ||
|
|
d9e818e5d9 | ||
|
|
47c840c9b4 | ||
|
|
2bfc5d3e1e | ||
|
|
4307c57697 | ||
|
|
bff0faff52 | ||
|
|
749966ae66 | ||
|
|
9f11132fb5 | ||
|
|
2dfbd1fc1f | ||
|
|
7c659837bf | ||
|
|
7cf342a1a7 | ||
|
|
e8d6aab989 | ||
|
|
0819278465 | ||
|
|
d89c57ba79 | ||
|
|
23b10fc559 | ||
|
|
36e8e881e8 | ||
|
|
67011834df | ||
|
|
ed9f68814f | ||
|
|
79a8008280 | ||
|
|
643dce8cb1 | ||
|
|
3669b98986 | ||
|
|
e075b7b9b2 | ||
|
|
b95fda8342 | ||
|
|
5abec70579 | ||
|
|
8800d5311c | ||
|
|
3705210879 | ||
|
|
5f4befcb6a | ||
|
|
314011f118 | ||
|
|
a9b7a5dc5c | ||
|
|
9b78c68b1b | ||
|
|
328109be1f | ||
|
|
aba0f29666 | ||
|
|
bdefb58e5f | ||
|
|
7ad3a57c47 | ||
|
|
5a2f3cf433 | ||
|
|
fffc27a348 | ||
|
|
cecb7cb6a2 | ||
|
|
f5cc5eb757 | ||
|
|
689406744b | ||
|
|
603da899b7 | ||
|
|
9b4d1f6972 | ||
|
|
d56b222637 | ||
|
|
dfefda81e1 | ||
|
|
0c463b1f86 | ||
|
|
bf345eea8c | ||
|
|
5328447b74 | ||
|
|
db6881b7e3 | ||
|
|
3e96b1617a | ||
|
|
7ef8b415bb | ||
|
|
9a5d6957b9 | ||
|
|
b5a2ec7a5e | ||
|
|
373136af4e | ||
|
|
8673c11341 | ||
|
|
8c082de148 | ||
|
|
e62d47a85e | ||
|
|
2d32c587ba | ||
|
|
31e29ee94c | ||
|
|
e95e453258 | ||
|
|
48b0f61551 | ||
|
|
ef88fc21a1 | ||
|
|
558c8c9745 | ||
|
|
2f60680cfb | ||
|
|
1ffcf7a664 | ||
|
|
c00b688ab7 | ||
|
|
4169e25451 | ||
|
|
85fc65bae5 | ||
|
|
aed62d5670 | ||
|
|
01d46b8c9c | ||
|
|
f70b48276e | ||
|
|
f0070e45a0 | ||
|
|
11782cee90 | ||
|
|
24b86584a2 | ||
|
|
01b3eee1b8 | ||
|
|
2fb3f8ab0f | ||
|
|
2c7b0e04e9 | ||
|
|
9f3e9a2ff4 | ||
|
|
d9d5b65f2c | ||
|
|
90cc2d6c37 | ||
|
|
1ab5403f9f | ||
|
|
4d03a4ef60 | ||
|
|
46b714108a | ||
|
|
242e1c99e2 | ||
|
|
3d0e661cd6 |
@@ -18,5 +18,5 @@
|
|||||||
(^|/)\.DS_Store$
|
(^|/)\.DS_Store$
|
||||||
|
|
||||||
# Files generated by Windows Explorer
|
# Files generated by Windows Explorer
|
||||||
(^|/)Desktop\.ini$
|
(^|/)[dD]esktop\.ini$
|
||||||
(^|/)Thumbs\.db$
|
(^|/)[tT]humbs\.db$
|
||||||
|
|||||||
@@ -3,3 +3,6 @@ e6ef5ecdf8d75740ca2685a709bf321f8873bc3b sourcemod-1.1.0
|
|||||||
e877885fac80be71822641f7a9122cebc9812521 sourcemod-1.1.1
|
e877885fac80be71822641f7a9122cebc9812521 sourcemod-1.1.1
|
||||||
b3ffa8a4511c4eadaf533fc790aa6b14f7f0c6ea sourcemod-1.1.2
|
b3ffa8a4511c4eadaf533fc790aa6b14f7f0c6ea sourcemod-1.1.2
|
||||||
3a73bbf60f34befa9b66be03fa5974b394bb3411 sourcemod-1.2.0
|
3a73bbf60f34befa9b66be03fa5974b394bb3411 sourcemod-1.2.0
|
||||||
|
a71318396392e3c6d0ff31e069a60fbde59e0cea sourcemod-1.3.0
|
||||||
|
3f33d01fcc28b509bed30f7be07ed215cc000538 sourcemod-1.3.1
|
||||||
|
a3e8f7a7fdf7f012dd02ad491a2e1ccdad151687 sourcemod-1.3.2
|
||||||
|
|||||||
+5
-5
@@ -200,8 +200,8 @@ class SM:
|
|||||||
else:
|
else:
|
||||||
staticLibs = os.path.join(sdkPath, 'lib', 'linux')
|
staticLibs = os.path.join(sdkPath, 'lib', 'linux')
|
||||||
workFolder = os.path.join(AMBuild.outputFolder, job.workFolder)
|
workFolder = os.path.join(AMBuild.outputFolder, job.workFolder)
|
||||||
if sdk == 'l4d2':
|
if sdk == 'ep2v' or sdk == 'l4d2':
|
||||||
for i in ['tier1_i486.a', 'mathlib_i486.a', 'vstdlib_linux.so', 'tier0_linux.so']:
|
for i in ['tier1_i486.a', 'mathlib_i486.a', 'libvstdlib.so', 'libtier0.so']:
|
||||||
link = os.path.join(workFolder, i)
|
link = os.path.join(workFolder, i)
|
||||||
target = os.path.join(staticLibs, i)
|
target = os.path.join(staticLibs, i)
|
||||||
try:
|
try:
|
||||||
@@ -268,9 +268,9 @@ class SM:
|
|||||||
if not noLink:
|
if not noLink:
|
||||||
if AMBuild.target['platform'] == 'linux':
|
if AMBuild.target['platform'] == 'linux':
|
||||||
compiler['POSTLINKFLAGS'][0:0] = ['-lm']
|
compiler['POSTLINKFLAGS'][0:0] = ['-lm']
|
||||||
if sdk == 'l4d2':
|
if sdk == 'ep2v' or sdk == 'l4d2':
|
||||||
compiler['POSTLINKFLAGS'][0:0] = ['tier0_linux.so']
|
compiler['POSTLINKFLAGS'][0:0] = ['libtier0.so']
|
||||||
compiler['POSTLINKFLAGS'][0:0] = ['vstdlib_linux.so']
|
compiler['POSTLINKFLAGS'][0:0] = ['libvstdlib.so']
|
||||||
else:
|
else:
|
||||||
compiler['POSTLINKFLAGS'][0:0] = ['tier0_i486.so']
|
compiler['POSTLINKFLAGS'][0:0] = ['tier0_i486.so']
|
||||||
compiler['POSTLINKFLAGS'][0:0] = ['vstdlib_i486.so']
|
compiler['POSTLINKFLAGS'][0:0] = ['vstdlib_i486.so']
|
||||||
|
|||||||
@@ -2,6 +2,72 @@ SourceMod Changelog
|
|||||||
|
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
|
SourceMod 1.3.3 [2010-06-23]
|
||||||
|
|
||||||
|
URL: http://wiki.alliedmods.net/SourceMod_1.3.3_Release_Notes
|
||||||
|
|
||||||
|
User Changes:
|
||||||
|
|
||||||
|
- Added support for CS:S on Orange Box
|
||||||
|
- Added gamedata for Resistance and Liberation (bug 4418).
|
||||||
|
- Updated gamedata for SourceForts, Empires, Obsidian Conflict, Zombie Master.
|
||||||
|
- Fixed memory corruption and leaks with some voice functionality (bug 4415).
|
||||||
|
- Fixed UI bug in sm_motd (bug 4460).
|
||||||
|
|
||||||
|
Developer Changes:
|
||||||
|
|
||||||
|
- Added new player condition (TFCond_CritCola, bug 4447).
|
||||||
|
- Fixed clientprefs deleting cookies twice in rare cases (bug 4412).
|
||||||
|
- Fixed OnClientConnected forward not firing for bots (bug 4443).
|
||||||
|
- Fixed sm_dump_datamaps crash (bug 4424).
|
||||||
|
- Fixed switch case comparisons failing with large numbers (bug 4457).
|
||||||
|
- Fixed rare crash in output hooks (bug 4422).
|
||||||
|
- Fixed bug with dynamically sized arrays being sliced (bug 4428).
|
||||||
|
- Fixed SendConVarValue() on TF2, DOD:S, L4D, and L4D2 (bug 4273).
|
||||||
|
- Fixed TF2 natives not being marked optional (bug 4389).
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
SourceMod 1.3.2 [2010-05-02]
|
||||||
|
|
||||||
|
URL: http://wiki.alliedmods.net/SourceMod_1.3.2_Release_Notes
|
||||||
|
|
||||||
|
User Changes:
|
||||||
|
|
||||||
|
- Support for recent TF, DoD, and L4D2 updates (bug 4356, bug 4361, bug 4371, bug 4374, bug 4375).
|
||||||
|
- Fixed rare crash when replicating cvars to clients (bug 4315).
|
||||||
|
- Lots of extra game support for Insurgency, ZPS, CSProMod, PVKII, and FortressForever (thanks
|
||||||
|
Nicholas "psychonic" hastings).
|
||||||
|
|
||||||
|
Developer Changes:
|
||||||
|
|
||||||
|
- Added TF functions for stunning, conditions, regeneration, and power play (bug 4166, bug 4331).
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
SourceMod 1.3.1 [2010-02-09]
|
||||||
|
|
||||||
|
URL: http://wiki.alliedmods.net/SourceMod_1.3.1_Release_Notes
|
||||||
|
|
||||||
|
User Changes:
|
||||||
|
|
||||||
|
- Added extended support for CSProMod (bug 4255).
|
||||||
|
- Fixed client disconnect crash on many third party games (bug 4231).
|
||||||
|
- Improved support for Battlegrounds 2 (bug 4146).
|
||||||
|
- Improved support for Insurgency (bug 4180).
|
||||||
|
- Improved support for Garry's Mod (bug 4230, bug 4268).
|
||||||
|
- Improved support for Synergy (bug 4235).
|
||||||
|
- Updated Day of Defeat support for 20010123 update (bug 4262).
|
||||||
|
- Fixed Webternet extension not loading on Windows 2000 (bug 4234).
|
||||||
|
|
||||||
|
Developer Changes:
|
||||||
|
|
||||||
|
- Fixed compiler complaints when using |any| tag on array arguments (bug 4274).
|
||||||
|
- Fixed GetClientCookieTime not being exported (bug 4237).
|
||||||
|
- Fixed potential crash in entity handling code (bug 4249).
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
|
||||||
SourceMod 1.3.0 [2010-01-15]
|
SourceMod 1.3.0 [2010-01-15]
|
||||||
|
|
||||||
URL: http://wiki.alliedmods.net/SourceMod_1.3.0_Release_Notes
|
URL: http://wiki.alliedmods.net/SourceMod_1.3.0_Release_Notes
|
||||||
|
|||||||
@@ -80,21 +80,21 @@ sm_reserve_type 0
|
|||||||
sm_reserved_slots 0
|
sm_reserved_slots 0
|
||||||
|
|
||||||
// Specifies whether or not reserved slots will be hidden (subtracted from max
|
// Specifies whether or not reserved slots will be hidden (subtracted from max
|
||||||
// slot count). Valid values are 0 (visible) or 1 (hidden).
|
// slot count). Valid values are 0 (Visible) or 1 (Hidden).
|
||||||
// --
|
// --
|
||||||
// Requires: reservedslots.smx
|
// Requires: reservedslots.smx
|
||||||
// Default: 0
|
// Default: 0
|
||||||
sm_hide_slots 0
|
sm_hide_slots 0
|
||||||
|
|
||||||
// Specifies whether or not non-admins can send messages to admins using
|
// Specifies whether or not non-admins can send messages to admins using
|
||||||
// say_team @<message>. Valid values are 0 (disabled) or 1 (enabled)
|
// say_team @<message>. Valid values are 0 (Disabled) or 1 (Enabled)
|
||||||
// --
|
// --
|
||||||
// Requires: basechat.smx
|
// Requires: basechat.smx
|
||||||
// Default: 1
|
// Default: 1
|
||||||
sm_chat_mode 1
|
sm_chat_mode 1
|
||||||
|
|
||||||
// Specifies whether or not "timeleft" will automaticly be triggered every
|
// Specifies whether or not "timeleft" will automaticly be triggered every
|
||||||
// x seconds. Valid values are 0 (disabled) to 1800 seconds.
|
// x seconds. Valid values are 0 (Disabled) to 1800 seconds.
|
||||||
// --
|
// --
|
||||||
// Requires: basetriggers.smx
|
// Requires: basetriggers.smx
|
||||||
// Default: 0
|
// Default: 0
|
||||||
@@ -107,3 +107,28 @@ sm_timeleft_interval 0
|
|||||||
// Requires: basetriggers.smx
|
// Requires: basetriggers.smx
|
||||||
// Default: 1
|
// Default: 1
|
||||||
sm_trigger_show 1
|
sm_trigger_show 1
|
||||||
|
|
||||||
|
// Specifies whether or not to display vote progress to clients in the
|
||||||
|
// "hint" box (near the bottom of the screen in most games).
|
||||||
|
// Valid values are 0 (Disabled) or 1 (Enabled).
|
||||||
|
// --
|
||||||
|
// Default: 0
|
||||||
|
sm_vote_progress_hintbox 0
|
||||||
|
|
||||||
|
// Specifies whether or not to display vote progress to clients in the
|
||||||
|
// chat area. Valid values are 0 (Disabled) or 1 (Enabled).
|
||||||
|
// --
|
||||||
|
// Default: 0
|
||||||
|
sm_vote_progress_chat 0
|
||||||
|
|
||||||
|
// Specifies whether or not to display vote progress in the server console.
|
||||||
|
// Valid values are 0 (Disabled) or 1 (Enabled).
|
||||||
|
// --
|
||||||
|
// Default: 0
|
||||||
|
sm_vote_progress_console 0
|
||||||
|
|
||||||
|
// Specifies whether or not to display vote progress to clients in the
|
||||||
|
// client console. Valid values are 0 (Disabled) or 1 (Enabled).
|
||||||
|
// --
|
||||||
|
// Default: 0
|
||||||
|
sm_vote_progress_client_console 0
|
||||||
|
|||||||
@@ -504,7 +504,7 @@ SMCResult CGameConfig::ReadSMC_LeavingSection(const SMCStates *states)
|
|||||||
void *handle = dlopen(info.dli_fname, RTLD_NOW);
|
void *handle = dlopen(info.dli_fname, RTLD_NOW);
|
||||||
if (handle)
|
if (handle)
|
||||||
{
|
{
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD2
|
#if (SOURCE_ENGINE == SE_ORANGEBOXVALVE) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
final_addr = g_MemUtils.ResolveSymbol(handle, &s_TempSig.sig[1]);
|
final_addr = g_MemUtils.ResolveSymbol(handle, &s_TempSig.sig[1]);
|
||||||
#else
|
#else
|
||||||
final_addr = dlsym(handle, &s_TempSig.sig[1]);
|
final_addr = dlsym(handle, &s_TempSig.sig[1]);
|
||||||
|
|||||||
+5
-5
@@ -100,7 +100,7 @@ ifeq "$(ENGINE)" "left4dead2"
|
|||||||
CFLAGS += -DSOURCE_ENGINE=6
|
CFLAGS += -DSOURCE_ENGINE=6
|
||||||
METAMOD = $(MMSOURCE17)/core
|
METAMOD = $(MMSOURCE17)/core
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||||
SRCDS = $(SRCDS_BASE)/left4dead2_demo
|
SRCDS = $(SRCDS_BASE)/left4dead2
|
||||||
BINARY = sourcemod.2.l4d2.so
|
BINARY = sourcemod.2.l4d2.so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
@@ -108,8 +108,8 @@ endif
|
|||||||
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
|
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
|
||||||
|
|
||||||
ifeq "$(ENGINE)" "left4dead2"
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
LINK += $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_linux.so \
|
LINK += $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a libvstdlib.so \
|
||||||
tier0_linux.so -static-libgcc
|
libtier0.so -static-libgcc
|
||||||
else
|
else
|
||||||
LINK += $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so \
|
LINK += $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so \
|
||||||
tier0_i486.so -static-libgcc
|
tier0_i486.so -static-libgcc
|
||||||
@@ -154,8 +154,8 @@ $(BIN_DIR)/%.o: %.c
|
|||||||
all: check
|
all: check
|
||||||
mkdir -p $(BIN_DIR)
|
mkdir -p $(BIN_DIR)
|
||||||
ifeq "$(ENGINE)" "left4dead2"
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
ln -sf $(SRCDS)/bin/vstdlib_linux.so vstdlib_linux.so;
|
ln -sf $(SRCDS)/bin/libvstdlib.so libvstdlib.so;
|
||||||
ln -sf $(SRCDS)/bin/tier0_linux.so tier0_linux.so;
|
ln -sf $(SRCDS)/bin/libtier0.so libtier0.so;
|
||||||
else
|
else
|
||||||
ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so;
|
ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so;
|
||||||
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so;
|
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so;
|
||||||
|
|||||||
+23
-3
@@ -466,7 +466,7 @@ bool PlayerManager::OnClientConnect_Post(edict_t *pEntity, const char *pszName,
|
|||||||
pListener->OnClientConnected(client);
|
pListener->OnClientConnected(client);
|
||||||
if (!pPlayer->IsConnected())
|
if (!pPlayer->IsConnected())
|
||||||
{
|
{
|
||||||
break;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -520,6 +520,11 @@ void PlayerManager::OnClientPutInServer(edict_t *pEntity, const char *playername
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cell_t res;
|
||||||
|
OnClientConnected->PushCell(client);
|
||||||
|
OnClientConnected->Execute(&res, NULL);
|
||||||
|
|
||||||
/* Now do authorization */
|
/* Now do authorization */
|
||||||
for (iter=m_hooks.begin(); iter!=m_hooks.end(); iter++)
|
for (iter=m_hooks.begin(); iter!=m_hooks.end(); iter++)
|
||||||
{
|
{
|
||||||
@@ -1441,6 +1446,7 @@ CPlayer::CPlayer()
|
|||||||
m_TempAdmin = false;
|
m_TempAdmin = false;
|
||||||
m_Info = NULL;
|
m_Info = NULL;
|
||||||
m_bAdminCheckSignalled = false;
|
m_bAdminCheckSignalled = false;
|
||||||
|
m_UserId = -1;
|
||||||
m_bIsInKickQueue = false;
|
m_bIsInKickQueue = false;
|
||||||
m_LastPassword.clear();
|
m_LastPassword.clear();
|
||||||
m_LangId = SOURCEMOD_LANGUAGE_ENGLISH;
|
m_LangId = SOURCEMOD_LANGUAGE_ENGLISH;
|
||||||
@@ -1618,8 +1624,22 @@ void CPlayer::Kick(const char *str)
|
|||||||
{
|
{
|
||||||
MarkAsBeingKicked();
|
MarkAsBeingKicked();
|
||||||
INetChannel *pNetChan = static_cast<INetChannel *>(engine->GetPlayerNetInfo(m_iIndex));
|
INetChannel *pNetChan = static_cast<INetChannel *>(engine->GetPlayerNetInfo(m_iIndex));
|
||||||
IClient *pClient = static_cast<IClient *>(pNetChan->GetMsgHandler());
|
if (pNetChan == NULL)
|
||||||
pClient->Disconnect("%s", str);
|
{
|
||||||
|
/* What does this even mean? Hell if I know. */
|
||||||
|
int userid = GetUserId();
|
||||||
|
if (userid > 0)
|
||||||
|
{
|
||||||
|
char buffer[255];
|
||||||
|
UTIL_Format(buffer, sizeof(buffer), "kickid %d %s\n", userid, str);
|
||||||
|
engine->ServerCommand(buffer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
IClient *pClient = static_cast<IClient *>(pNetChan->GetMsgHandler());
|
||||||
|
pClient->Disconnect("%s", str);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CPlayer::Authorize_Post()
|
void CPlayer::Authorize_Post()
|
||||||
|
|||||||
+16
-5
@@ -2,7 +2,7 @@
|
|||||||
* vim: set ts=4 :
|
* vim: set ts=4 :
|
||||||
* =============================================================================
|
* =============================================================================
|
||||||
* SourceMod
|
* SourceMod
|
||||||
* Copyright (C) 2004-2008 AlliedModders LLC. All rights reserved.
|
* Copyright (C) 2004-2010 AlliedModders LLC. All rights reserved.
|
||||||
* =============================================================================
|
* =============================================================================
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it under
|
* This program is free software; you can redistribute it and/or modify it under
|
||||||
@@ -46,6 +46,12 @@
|
|||||||
#include "Logger.h"
|
#include "Logger.h"
|
||||||
#include "ConsoleDetours.h"
|
#include "ConsoleDetours.h"
|
||||||
|
|
||||||
|
#if SOURCE_ENGINE >= SE_ORANGEBOXVALVE
|
||||||
|
#define NETMSG_BITS 6
|
||||||
|
#else
|
||||||
|
#define NETMSG_BITS 5
|
||||||
|
#endif
|
||||||
|
|
||||||
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
#if (SOURCE_ENGINE == SE_LEFT4DEAD) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
#define NET_SETCONVAR 6
|
#define NET_SETCONVAR 6
|
||||||
#else
|
#else
|
||||||
@@ -189,7 +195,7 @@ static void ReplicateConVar(ConVar *pConVar)
|
|||||||
char data[256];
|
char data[256];
|
||||||
bf_write buffer(data, sizeof(data));
|
bf_write buffer(data, sizeof(data));
|
||||||
|
|
||||||
buffer.WriteUBitLong(NET_SETCONVAR, 5);
|
buffer.WriteUBitLong(NET_SETCONVAR, NETMSG_BITS);
|
||||||
buffer.WriteByte(1);
|
buffer.WriteByte(1);
|
||||||
buffer.WriteString(pConVar->GetName());
|
buffer.WriteString(pConVar->GetName());
|
||||||
buffer.WriteString(pConVar->GetString());
|
buffer.WriteString(pConVar->GetString());
|
||||||
@@ -200,8 +206,8 @@ static void ReplicateConVar(ConVar *pConVar)
|
|||||||
|
|
||||||
if (pPlayer && pPlayer->IsInGame() && !pPlayer->IsFakeClient())
|
if (pPlayer && pPlayer->IsInGame() && !pPlayer->IsFakeClient())
|
||||||
{
|
{
|
||||||
INetChannel *netchan = static_cast<INetChannel *>(engine->GetPlayerNetInfo(i));
|
if (INetChannel *netchan = static_cast<INetChannel *>(engine->GetPlayerNetInfo(i)))
|
||||||
netchan->SendData(buffer);
|
netchan->SendData(buffer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1299,7 +1305,7 @@ static cell_t SendConVarValue(IPluginContext *pContext, const cell_t *params)
|
|||||||
char data[256];
|
char data[256];
|
||||||
bf_write buffer(data, sizeof(data));
|
bf_write buffer(data, sizeof(data));
|
||||||
|
|
||||||
buffer.WriteUBitLong(NET_SETCONVAR, 5);
|
buffer.WriteUBitLong(NET_SETCONVAR, NETMSG_BITS);
|
||||||
buffer.WriteByte(1);
|
buffer.WriteByte(1);
|
||||||
buffer.WriteString(pConVar->GetName());
|
buffer.WriteString(pConVar->GetName());
|
||||||
buffer.WriteString(value);
|
buffer.WriteString(value);
|
||||||
@@ -1322,6 +1328,11 @@ static cell_t SendConVarValue(IPluginContext *pContext, const cell_t *params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
INetChannel *netchan = static_cast<INetChannel *>(engine->GetPlayerNetInfo(params[1]));
|
INetChannel *netchan = static_cast<INetChannel *>(engine->GetPlayerNetInfo(params[1]));
|
||||||
|
if (netchan == NULL)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
netchan->SendData(buffer);
|
netchan->SendData(buffer);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ bool IndexToAThings(cell_t num, CBaseEntity **pEntData, edict_t **pEdictData)
|
|||||||
if (pEdictData)
|
if (pEdictData)
|
||||||
{
|
{
|
||||||
edict_t *pEdict = ::BaseEntityToEdict(pEntity);
|
edict_t *pEdict = ::BaseEntityToEdict(pEntity);
|
||||||
if (pEdict->IsFree())
|
if (!pEdict || pEdict->IsFree())
|
||||||
{
|
{
|
||||||
pEdict = NULL;
|
pEdict = NULL;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -720,6 +720,10 @@ static cell_t GetTimeConnected(IPluginContext *pContext, const cell_t *params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
||||||
|
if (pInfo == NULL)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
return sp_ftoc(pInfo->GetTimeConnected());
|
return sp_ftoc(pInfo->GetTimeConnected());
|
||||||
}
|
}
|
||||||
@@ -739,6 +743,10 @@ static cell_t GetDataRate(IPluginContext *pContext, const cell_t *params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
||||||
|
if (pInfo == NULL)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
return pInfo->GetDataRate();
|
return pInfo->GetDataRate();
|
||||||
}
|
}
|
||||||
@@ -758,6 +766,10 @@ static cell_t IsTimingOut(IPluginContext *pContext, const cell_t *params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
||||||
|
if (pInfo == NULL)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
return pInfo->IsTimingOut() ? 1 : 0;
|
return pInfo->IsTimingOut() ? 1 : 0;
|
||||||
}
|
}
|
||||||
@@ -782,6 +794,10 @@ static cell_t GetLatency(IPluginContext *pContext, const cell_t *params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
||||||
|
if (pInfo == NULL)
|
||||||
|
{
|
||||||
|
return sp_ftoc(-1);
|
||||||
|
}
|
||||||
|
|
||||||
if (params[2] == MAX_FLOWS)
|
if (params[2] == MAX_FLOWS)
|
||||||
{
|
{
|
||||||
@@ -815,6 +831,10 @@ static cell_t GetAvgLatency(IPluginContext *pContext, const cell_t *params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
||||||
|
if (pInfo == NULL)
|
||||||
|
{
|
||||||
|
return sp_ftoc(-1);
|
||||||
|
}
|
||||||
|
|
||||||
if (params[2] == MAX_FLOWS)
|
if (params[2] == MAX_FLOWS)
|
||||||
{
|
{
|
||||||
@@ -848,6 +868,10 @@ static cell_t GetAvgLoss(IPluginContext *pContext, const cell_t *params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
||||||
|
if (pInfo == NULL)
|
||||||
|
{
|
||||||
|
return sp_ftoc(-1);
|
||||||
|
}
|
||||||
|
|
||||||
if (params[2] == MAX_FLOWS)
|
if (params[2] == MAX_FLOWS)
|
||||||
{
|
{
|
||||||
@@ -881,6 +905,10 @@ static cell_t GetAvgChoke(IPluginContext *pContext, const cell_t *params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
||||||
|
if (pInfo == NULL)
|
||||||
|
{
|
||||||
|
return sp_ftoc(-1);
|
||||||
|
}
|
||||||
|
|
||||||
if (params[2] == MAX_FLOWS)
|
if (params[2] == MAX_FLOWS)
|
||||||
{
|
{
|
||||||
@@ -914,6 +942,10 @@ static cell_t GetAvgData(IPluginContext *pContext, const cell_t *params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
||||||
|
if (pInfo == NULL)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (params[2] == MAX_FLOWS)
|
if (params[2] == MAX_FLOWS)
|
||||||
{
|
{
|
||||||
@@ -948,6 +980,11 @@ static cell_t GetAvgPackets(IPluginContext *pContext, const cell_t *params)
|
|||||||
|
|
||||||
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
INetChannelInfo *pInfo = engine->GetPlayerNetInfo(client);
|
||||||
|
|
||||||
|
if (pInfo == NULL)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (params[2] == MAX_FLOWS)
|
if (params[2] == MAX_FLOWS)
|
||||||
{
|
{
|
||||||
value = pInfo->GetAvgPackets(FLOW_INCOMING) + pInfo->GetAvgPackets(FLOW_OUTGOING);
|
value = pInfo->GetAvgPackets(FLOW_INCOMING) + pInfo->GetAvgPackets(FLOW_OUTGOING);
|
||||||
|
|||||||
@@ -313,8 +313,6 @@ void CookieManager::ClientConnectCallback(int serial, IQuery *data)
|
|||||||
row->GetInt(3, (int *)&access);
|
row->GetInt(3, (int *)&access);
|
||||||
|
|
||||||
parent = CreateCookie(name, desc, access);
|
parent = CreateCookie(name, desc, access);
|
||||||
cookieTrie.insert(name, parent);
|
|
||||||
cookieList.push_back(parent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pData->parent = parent;
|
pData->parent = parent;
|
||||||
|
|||||||
@@ -444,5 +444,6 @@ sp_nativeinfo_t g_ClientPrefNatives[] =
|
|||||||
{"ShowCookieMenu", ShowSettingsMenu},
|
{"ShowCookieMenu", ShowSettingsMenu},
|
||||||
{"SetCookieMenuItem", AddSettingsMenuItem},
|
{"SetCookieMenuItem", AddSettingsMenuItem},
|
||||||
{"SetCookiePrefabMenu", AddSettingsPrefabMenuItem},
|
{"SetCookiePrefabMenu", AddSettingsPrefabMenuItem},
|
||||||
|
{"GetClientCookieTime", GetClientCookieTime},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
# vim: set ts=2 sw=2 tw=99 noet ft=python:
|
# vim: set ts=2 sw=2 tw=99 noet ft=python:
|
||||||
import os
|
import os
|
||||||
|
|
||||||
sdk = SM.sdkInfo['ep1']
|
sdk = SM.sdkInfo['ep2v']
|
||||||
compiler = SM.DefaultHL2Compiler('extensions/cstrike', 'ep1')
|
|
||||||
|
compiler = SM.DefaultHL2Compiler('extensions/cstrike', 'ep2v')
|
||||||
|
|
||||||
name = 'game.cstrike.ext.' + sdk['ext']
|
name = 'game.cstrike.ext.' + sdk['ext']
|
||||||
extension = AMBuild.AddJob(name)
|
extension = AMBuild.AddJob(name)
|
||||||
binary = Cpp.LibraryBuilder(name, AMBuild, extension, compiler)
|
binary = Cpp.LibraryBuilder(name, AMBuild, extension, compiler)
|
||||||
SM.PreSetupHL2Job(extension, binary, 'ep1')
|
SM.PreSetupHL2Job(extension, binary, 'ep2v')
|
||||||
binary.AddSourceFiles('extensions/cstrike', [
|
binary.AddSourceFiles('extensions/cstrike', [
|
||||||
'extension.cpp',
|
'extension.cpp',
|
||||||
'natives.cpp',
|
'natives.cpp',
|
||||||
@@ -15,7 +16,6 @@ binary.AddSourceFiles('extensions/cstrike', [
|
|||||||
'timeleft.cpp',
|
'timeleft.cpp',
|
||||||
'sdk/smsdk_ext.cpp'
|
'sdk/smsdk_ext.cpp'
|
||||||
])
|
])
|
||||||
SM.PostSetupHL2Job(extension, binary, 'ep1')
|
SM.PostSetupHL2Job(extension, binary, 'ep2v')
|
||||||
SM.AutoVersion('extensions/cstrike', binary)
|
SM.AutoVersion('extensions/cstrike', binary)
|
||||||
binary.SendToJob()
|
binary.SendToJob()
|
||||||
|
|
||||||
+83
-58
@@ -2,11 +2,11 @@
|
|||||||
# Makefile written by David "BAILOPAN" Anderson
|
# Makefile written by David "BAILOPAN" Anderson
|
||||||
|
|
||||||
SMSDK = ../..
|
SMSDK = ../..
|
||||||
SRCDS_BASE = ~/srcds
|
|
||||||
HL2SDK_ORIG = ../../../hl2sdk
|
HL2SDK_ORIG = ../../../hl2sdk
|
||||||
HL2SDK_OB = ../../../hl2sdk-ob
|
HL2SDK_OB = ../../../hl2sdk-ob
|
||||||
HL2SDK_OB_VALVE = ../../../hl2sdk-ob-valve
|
HL2SDK_OB_VALVE = ../../../hl2sdk-ob-valve
|
||||||
HL2SDK_L4D = ../../../hl2sdk-l4d
|
HL2SDK_L4D = ../../../hl2sdk-l4d
|
||||||
|
HL2SDK_L4D2 = ../../../hl2sdk-l4d2
|
||||||
MMSOURCE17 = ../../../mmsource-1.7
|
MMSOURCE17 = ../../../mmsource-1.7
|
||||||
|
|
||||||
#####################################
|
#####################################
|
||||||
@@ -31,75 +31,97 @@ CPP_GCC4_FLAGS = -fvisibility-inlines-hidden
|
|||||||
CPP = gcc
|
CPP = gcc
|
||||||
|
|
||||||
override ENGSET = false
|
override ENGSET = false
|
||||||
ifeq "$(ENGINE)" "original"
|
|
||||||
HL2SDK = $(HL2SDK_ORIG)
|
# Check for valid list of engines
|
||||||
HL2PUB = $(HL2SDK)/public
|
ifneq (,$(filter original orangebox orangeboxvalve left4dead left4dead2,$(ENGINE)))
|
||||||
HL2LIB = $(HL2SDK)/linux_sdk
|
|
||||||
CFLAGS += -DSOURCE_ENGINE=1
|
|
||||||
METAMOD = $(MMSOURCE17)/core-legacy
|
|
||||||
INCLUDE += -I$(HL2SDK)/public/dlls
|
|
||||||
SRCDS = $(SRCDS_BASE)
|
|
||||||
GAMEFIX = 1.ep1
|
|
||||||
override ENGSET = true
|
|
||||||
endif
|
|
||||||
ifeq "$(ENGINE)" "orangebox"
|
|
||||||
HL2SDK = $(HL2SDK_OB)
|
|
||||||
HL2PUB = $(HL2SDK)/public
|
|
||||||
HL2LIB = $(HL2SDK)/lib/linux
|
|
||||||
CFLAGS += -DSOURCE_ENGINE=3
|
|
||||||
METAMOD = $(MMSOURCE17)/core
|
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
|
||||||
SRCDS = $(SRCDS_BASE)/orangebox
|
|
||||||
GAMEFIX = 2.ep2
|
|
||||||
override ENGSET = true
|
|
||||||
endif
|
|
||||||
ifeq "$(ENGINE)" "orangeboxvalve"
|
|
||||||
HL2SDK = $(HL2SDK_OB_VALVE)
|
|
||||||
HL2PUB = $(HL2SDK)/public
|
|
||||||
HL2LIB = $(HL2SDK)/lib/linux
|
|
||||||
CFLAGS += -DSOURCE_ENGINE=4
|
|
||||||
METAMOD = $(MMSOURCE17)/core
|
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
|
||||||
SRCDS = $(SRCDS_BASE)/orangebox
|
|
||||||
GAMEFIX = 2.ep2v
|
|
||||||
override ENGSET = true
|
|
||||||
endif
|
|
||||||
ifeq "$(ENGINE)" "left4dead"
|
|
||||||
HL2SDK = $(HL2SDK_L4D)
|
|
||||||
HL2PUB = $(HL2SDK)/public
|
|
||||||
HL2LIB = $(HL2SDK)/lib/linux
|
|
||||||
CFLAGS += -DSOURCE_ENGINE=5
|
|
||||||
METAMOD = $(MMSOURCE17)/core
|
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
|
||||||
SRCDS = $(SRCDS_BASE)/l4d
|
|
||||||
GAMEFIX = 2.l4d
|
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq "$(ENGINE)" "original"
|
||||||
|
HL2SDK = $(HL2SDK_ORIG)
|
||||||
|
CFLAGS += -DSOURCE_ENGINE=1
|
||||||
|
GAMEFIX = 1.ep1
|
||||||
|
endif
|
||||||
|
ifeq "$(ENGINE)" "orangebox"
|
||||||
|
HL2SDK = $(HL2SDK_OB)
|
||||||
|
CFLAGS += -DSOURCE_ENGINE=3
|
||||||
|
GAMEFIX = 2.ep2
|
||||||
|
endif
|
||||||
|
ifeq "$(ENGINE)" "orangeboxvalve"
|
||||||
|
HL2SDK = $(HL2SDK_OB_VALVE)
|
||||||
|
CFLAGS += -DSOURCE_ENGINE=4
|
||||||
|
GAMEFIX = 2.ep2v
|
||||||
|
endif
|
||||||
|
ifeq "$(ENGINE)" "left4dead"
|
||||||
|
HL2SDK = $(HL2SDK_L4D)
|
||||||
|
CFLAGS += -DSOURCE_ENGINE=5
|
||||||
|
GAMEFIX = 2.l4d
|
||||||
|
endif
|
||||||
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
|
HL2SDK = $(HL2SDK_L4D2)
|
||||||
|
CFLAGS += -DSOURCE_ENGINE=6
|
||||||
|
GAMEFIX = 2.l4d2
|
||||||
|
endif
|
||||||
|
|
||||||
|
HL2PUB = $(HL2SDK)/public
|
||||||
|
|
||||||
|
ifeq "$(ENGINE)" "original"
|
||||||
|
INCLUDE += -I$(HL2SDK)/public/dlls
|
||||||
|
METAMOD = $(MMSOURCE17)/core-legacy
|
||||||
|
else
|
||||||
|
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||||
|
METAMOD = $(MMSOURCE17)/core
|
||||||
|
endif
|
||||||
|
|
||||||
|
OS := $(shell uname -s)
|
||||||
|
|
||||||
|
ifeq "$(OS)" "Darwin"
|
||||||
|
LIB_EXT = dylib
|
||||||
|
HL2LIB = $(HL2SDK)/lib/mac
|
||||||
|
else
|
||||||
|
LIB_EXT = so
|
||||||
|
ifeq "$(ENGINE)" "original"
|
||||||
|
HL2LIB = $(HL2SDK)/linux_sdk
|
||||||
|
else
|
||||||
|
HL2LIB = $(HL2SDK)/lib/linux
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# if ENGINE is orig, OB, or L4D
|
||||||
|
ifneq (,$(filter original orangebox left4dead,$(ENGINE)))
|
||||||
|
LIB_SUFFIX = _i486.$(LIB_EXT)
|
||||||
|
else
|
||||||
|
LIB_PREFIX = lib
|
||||||
|
LIB_SUFFIX = .$(LIB_EXT)
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq "$(USEMETA)" "true"
|
ifeq "$(USEMETA)" "true"
|
||||||
LINK_HL2 = $(HL2LIB)/tier1_i486.a tier0_i486.so
|
LINK_HL2 = $(LIB_PREFIX)vstdlib$(LIB_SUFFIX) $(LIB_PREFIX)tier0$(LIB_SUFFIX)
|
||||||
|
|
||||||
LINK += $(LINK_HL2)
|
LINK += $(LINK_HL2)
|
||||||
|
|
||||||
INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \
|
INCLUDE += -I. -I.. -Isdk -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \
|
||||||
-I$(METAMOD) -I$(METAMOD)/sourcehook -I$(SMSDK)/public -I$(SMSDK)/public/extensions \
|
-I$(METAMOD) -I$(METAMOD)/sourcehook -I$(SMSDK)/public -I$(SMSDK)/public/extensions \
|
||||||
-I$(SMSDK)/public/sourcepawn
|
-I$(SMSDK)/public/sourcepawn
|
||||||
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 -DSE_LEFT4DEAD=5
|
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 \
|
||||||
|
-DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
|
||||||
else
|
else
|
||||||
INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn
|
INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LINK += -m32 -ldl -lm
|
LINK += -m32 -ldl -lm
|
||||||
|
|
||||||
CFLAGS += -D_LINUX -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \
|
CFLAGS += -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \
|
||||||
-D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror -mfpmath=sse \
|
-D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror \
|
||||||
-msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32
|
-mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32
|
||||||
CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti
|
CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti
|
||||||
|
|
||||||
################################################
|
################################################
|
||||||
### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
|
### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ###
|
||||||
################################################
|
################################################
|
||||||
|
|
||||||
|
BINARY = $(PROJECT).ext.$(GAMEFIX).$(LIB_EXT)
|
||||||
|
|
||||||
ifeq "$(DEBUG)" "true"
|
ifeq "$(DEBUG)" "true"
|
||||||
BIN_DIR = Debug
|
BIN_DIR = Debug
|
||||||
CFLAGS += $(C_DEBUG_FLAGS)
|
CFLAGS += $(C_DEBUG_FLAGS)
|
||||||
@@ -112,13 +134,14 @@ ifeq "$(USEMETA)" "true"
|
|||||||
BIN_DIR := $(BIN_DIR).$(ENGINE)
|
BIN_DIR := $(BIN_DIR).$(ENGINE)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OS := $(shell uname -s)
|
|
||||||
ifeq "$(OS)" "Darwin"
|
ifeq "$(OS)" "Darwin"
|
||||||
LINK += -dynamiclib
|
LIB_EXT = dylib
|
||||||
BINARY = $(PROJECT).ext.$(GAMEFIX).dylib
|
CFLAGS += -isysroot /Developer/SDKs/MacOSX10.5.sdk
|
||||||
|
LINK += -dynamiclib -lstdc++ -mmacosx-version-min=10.5
|
||||||
else
|
else
|
||||||
LINK += -static-libgcc -shared
|
LIB_EXT = so
|
||||||
BINARY = $(PROJECT).ext.$(GAMEFIX).so
|
CFLAGS += -D_LINUX
|
||||||
|
LINK += -shared
|
||||||
endif
|
endif
|
||||||
|
|
||||||
GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)
|
GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1)
|
||||||
@@ -127,7 +150,7 @@ ifeq "$(GCC_VERSION)" "4"
|
|||||||
CPPFLAGS += $(CPP_GCC4_FLAGS)
|
CPPFLAGS += $(CPP_GCC4_FLAGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OBJ_LINUX := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
|
OBJ_BIN := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o)
|
||||||
|
|
||||||
$(BIN_DIR)/%.o: %.cpp
|
$(BIN_DIR)/%.o: %.cpp
|
||||||
$(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
|
$(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $<
|
||||||
@@ -135,18 +158,20 @@ $(BIN_DIR)/%.o: %.cpp
|
|||||||
all: check
|
all: check
|
||||||
mkdir -p $(BIN_DIR)/sdk
|
mkdir -p $(BIN_DIR)/sdk
|
||||||
if [ "$(USEMETA)" = "true" ]; then \
|
if [ "$(USEMETA)" = "true" ]; then \
|
||||||
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so; \
|
ln -sf $(HL2LIB)/$(LIB_PREFIX)vstdlib$(LIB_SUFFIX); \
|
||||||
|
ln -sf $(HL2LIB)/$(LIB_PREFIX)tier0$(LIB_SUFFIX); \
|
||||||
fi
|
fi
|
||||||
$(MAKE) -f Makefile extension
|
$(MAKE) -f Makefile extension
|
||||||
|
|
||||||
check:
|
check:
|
||||||
if [ "$(USEMETA)" = "true" ] && [ "$(ENGSET)" = "false" ]; then \
|
if [ "$(USEMETA)" = "true" ] && [ "$(ENGSET)" = "false" ]; then \
|
||||||
echo "You must supply ENGINE=left4dead or ENGINE=orangebox or ENGINE=original"; \
|
echo "You must supply one of the following values for ENGINE:"; \
|
||||||
|
echo "left4dead2, left4dead, orangeboxvalve, orangebox, or original"; \
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
extension: check $(OBJ_LINUX)
|
extension: check $(OBJ_BIN)
|
||||||
$(CPP) $(INCLUDE) $(OBJ_LINUX) $(LINK) -o $(BIN_DIR)/$(BINARY)
|
$(CPP) $(INCLUDE) $(OBJ_BIN) $(LINK) -o $(BIN_DIR)/$(BINARY)
|
||||||
|
|
||||||
debug:
|
debug:
|
||||||
$(MAKE) -f Makefile all DEBUG=true
|
$(MAKE) -f Makefile all DEBUG=true
|
||||||
|
|||||||
@@ -76,11 +76,6 @@ bool CStrike::SDK_OnLoad(char *error, size_t maxlength, bool late)
|
|||||||
sharesys->AddNatives(myself, g_CSNatives);
|
sharesys->AddNatives(myself, g_CSNatives);
|
||||||
sharesys->RegisterLibrary(myself, "cstrike");
|
sharesys->RegisterLibrary(myself, "cstrike");
|
||||||
|
|
||||||
if ((g_msgHintText = usermsgs->GetMessageIndex("HintText")) != -1)
|
|
||||||
{
|
|
||||||
sharesys->OverrideNatives(myself, g_CS_PrintHintText);
|
|
||||||
}
|
|
||||||
|
|
||||||
playerhelpers->RegisterCommandTargetProcessor(this);
|
playerhelpers->RegisterCommandTargetProcessor(this);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -130,6 +130,5 @@ public:
|
|||||||
extern IBinTools *g_pBinTools;
|
extern IBinTools *g_pBinTools;
|
||||||
extern IGameConfig *g_pGameConf;
|
extern IGameConfig *g_pGameConf;
|
||||||
extern int g_msgHintText;
|
extern int g_msgHintText;
|
||||||
extern sp_nativeinfo_t g_CS_PrintHintText[];
|
|
||||||
|
|
||||||
#endif // _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_
|
#endif // _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_
|
||||||
|
|||||||
@@ -8,9 +8,11 @@ Global
|
|||||||
Debug - Episode1|Win32 = Debug - Episode1|Win32
|
Debug - Episode1|Win32 = Debug - Episode1|Win32
|
||||||
Debug - Old Metamod|Win32 = Debug - Old Metamod|Win32
|
Debug - Old Metamod|Win32 = Debug - Old Metamod|Win32
|
||||||
Debug - Orange Box|Win32 = Debug - Orange Box|Win32
|
Debug - Orange Box|Win32 = Debug - Orange Box|Win32
|
||||||
|
Debug - Orange Box Valve|Win32 = Debug - Orange Box Valve|Win32
|
||||||
Release - Episode 1|Win32 = Release - Episode 1|Win32
|
Release - Episode 1|Win32 = Release - Episode 1|Win32
|
||||||
Release - Old Metamod|Win32 = Release - Old Metamod|Win32
|
Release - Old Metamod|Win32 = Release - Old Metamod|Win32
|
||||||
Release - Orange Box|Win32 = Release - Orange Box|Win32
|
Release - Orange Box|Win32 = Release - Orange Box|Win32
|
||||||
|
Release - Orange Box Valve|Win32 = Release - Orange Box Valve|Win32
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Episode1|Win32.ActiveCfg = Debug - Episode1|Win32
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Episode1|Win32.ActiveCfg = Debug - Episode1|Win32
|
||||||
@@ -19,12 +21,16 @@ Global
|
|||||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Old Metamod|Win32.Build.0 = Debug - Old Metamod|Win32
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Old Metamod|Win32.Build.0 = Debug - Old Metamod|Win32
|
||||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Orange Box|Win32.ActiveCfg = Debug - Orange Box|Win32
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Orange Box|Win32.ActiveCfg = Debug - Orange Box|Win32
|
||||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Orange Box|Win32.Build.0 = Debug - Orange Box|Win32
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Orange Box|Win32.Build.0 = Debug - Orange Box|Win32
|
||||||
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Orange Box Valve|Win32.ActiveCfg = Debug - Orange Box Valve|Win32
|
||||||
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Debug - Orange Box Valve|Win32.Build.0 = Debug - Orange Box Valve|Win32
|
||||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Episode 1|Win32.ActiveCfg = Release - Episode 1|Win32
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Episode 1|Win32.ActiveCfg = Release - Episode 1|Win32
|
||||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Episode 1|Win32.Build.0 = Release - Episode 1|Win32
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Episode 1|Win32.Build.0 = Release - Episode 1|Win32
|
||||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Old Metamod|Win32.ActiveCfg = Release - Old Metamod|Win32
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Old Metamod|Win32.ActiveCfg = Release - Old Metamod|Win32
|
||||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Old Metamod|Win32.Build.0 = Release - Old Metamod|Win32
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Old Metamod|Win32.Build.0 = Release - Old Metamod|Win32
|
||||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Orange Box|Win32.ActiveCfg = Release - Orange Box|Win32
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Orange Box|Win32.ActiveCfg = Release - Orange Box|Win32
|
||||||
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Orange Box|Win32.Build.0 = Release - Orange Box|Win32
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Orange Box|Win32.Build.0 = Release - Orange Box|Win32
|
||||||
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Orange Box Valve|Win32.ActiveCfg = Release - Orange Box Valve|Win32
|
||||||
|
{B3E797CF-4E77-4C9D-B8A8-7589B6902206}.Release - Orange Box Valve|Win32.Build.0 = Release - Orange Box Valve|Win32
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
@@ -343,6 +343,169 @@
|
|||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
<Configuration
|
||||||
|
Name="Debug - Orange Box Valve|Win32"
|
||||||
|
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
Optimization="0"
|
||||||
|
AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;"$(HL2SDKOBVALVE)\public";"$(HL2SDKOBVALVE)\public\game\server";"$(HL2SDKOBVALVE)\public\engine";"$(HL2SDKOBVALVE)\public\tier0";"$(HL2SDKOBVALVE)\public\tier1";"$(MMSOURCE17)\core";"$(MMSOURCE17)\core\sourcehook""
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
|
||||||
|
MinimalRebuild="true"
|
||||||
|
BasicRuntimeChecks="3"
|
||||||
|
RuntimeLibrary="1"
|
||||||
|
EnableEnhancedInstructionSet="0"
|
||||||
|
RuntimeTypeInfo="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="false"
|
||||||
|
DebugInformationFormat="4"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies=""$(HL2SDKOBVALVE)\lib\public\tier0.lib" "$(HL2SDKOBVALVE)\lib\public\tier1.lib""
|
||||||
|
OutputFile="$(OutDir)\game.cstrike.ext.2.ep2v.dll"
|
||||||
|
LinkIncremental="2"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMT"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
|
Name="Release - Orange Box Valve|Win32"
|
||||||
|
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||||
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
|
ConfigurationType="2"
|
||||||
|
CharacterSet="2"
|
||||||
|
WholeProgramOptimization="1"
|
||||||
|
>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreBuildEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCustomBuildTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXMLDataGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCWebServiceProxyGeneratorTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCMIDLTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCCLCompilerTool"
|
||||||
|
FavorSizeOrSpeed="1"
|
||||||
|
AdditionalIncludeDirectories="..;..\sdk;..\..\..\public;..\..\..\public\sourcepawn;..\..\..\public\extensions;"$(HL2SDKOBVALVE)\public";"$(HL2SDKOBVALVE)\public\game\server";"$(HL2SDKOBVALVE)\public\engine";"$(HL2SDKOBVALVE)\public\tier0";"$(HL2SDKOBVALVE)\public\tier1";"$(MMSOURCE17)\core";"$(MMSOURCE17)\core\sourcehook""
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;CSTRIKE_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD"
|
||||||
|
RuntimeLibrary="0"
|
||||||
|
EnableEnhancedInstructionSet="0"
|
||||||
|
RuntimeTypeInfo="false"
|
||||||
|
UsePrecompiledHeader="0"
|
||||||
|
WarningLevel="3"
|
||||||
|
Detect64BitPortabilityProblems="false"
|
||||||
|
DebugInformationFormat="3"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManagedResourceCompilerTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCResourceCompilerTool"
|
||||||
|
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPreLinkEventTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCLinkerTool"
|
||||||
|
AdditionalDependencies=""$(HL2SDKOBVALVE)\lib\public\tier0.lib" "$(HL2SDKOBVALVE)\lib\public\tier1.lib""
|
||||||
|
OutputFile="$(OutDir)\game.cstrike.ext.2.ep2v.dll"
|
||||||
|
LinkIncremental="1"
|
||||||
|
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMTD"
|
||||||
|
GenerateDebugInformation="true"
|
||||||
|
SubSystem="2"
|
||||||
|
OptimizeReferences="2"
|
||||||
|
EnableCOMDATFolding="2"
|
||||||
|
RandomizedBaseAddress="1"
|
||||||
|
DataExecutionPrevention="0"
|
||||||
|
TargetMachine="1"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCALinkTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCManifestTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCXDCMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCBscMakeTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCFxCopTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCAppVerifierTool"
|
||||||
|
/>
|
||||||
|
<Tool
|
||||||
|
Name="VCPostBuildEventTool"
|
||||||
|
/>
|
||||||
|
</Configuration>
|
||||||
|
<Configuration
|
||||||
Name="Debug - Episode1|Win32"
|
Name="Debug - Episode1|Win32"
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
IntermediateDirectory="$(ConfigurationName)"
|
||||||
|
|||||||
@@ -71,45 +71,6 @@ inline CBaseEntity *GetCBaseEntity(int num, bool isplayer)
|
|||||||
return pUnk->GetBaseEntity();
|
return pUnk->GetBaseEntity();
|
||||||
}
|
}
|
||||||
|
|
||||||
static cell_t CS_PrintHintText(IPluginContext *pContext, const cell_t *params)
|
|
||||||
{
|
|
||||||
int client = params[1];
|
|
||||||
IGamePlayer *pPlayer = playerhelpers->GetGamePlayer(params[1]);
|
|
||||||
|
|
||||||
if (!pPlayer)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Client index %d is invalid", client);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!pPlayer->IsInGame())
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Client %d is not in game", client);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_pSM->SetGlobalTarget(client);
|
|
||||||
|
|
||||||
char buffer[192];
|
|
||||||
g_pSM->FormatString(buffer, sizeof(buffer), pContext, params, 2);
|
|
||||||
|
|
||||||
/* Check for an error before printing to the client */
|
|
||||||
if (pContext->GetLastNativeError() != SP_ERROR_NONE)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
bf_write *pBitBuf = usermsgs->StartMessage(g_msgHintText, ¶ms[1], 1, USERMSG_RELIABLE);
|
|
||||||
if (pBitBuf == NULL)
|
|
||||||
{
|
|
||||||
return pContext->ThrowNativeError("Could not send a usermessage");
|
|
||||||
}
|
|
||||||
pBitBuf->WriteByte(1);
|
|
||||||
pBitBuf->WriteString(buffer);
|
|
||||||
usermsgs->EndMessage();
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static cell_t CS_RespawnPlayer(IPluginContext *pContext, const cell_t *params)
|
static cell_t CS_RespawnPlayer(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
static ICallWrapper *pWrapper = NULL;
|
static ICallWrapper *pWrapper = NULL;
|
||||||
@@ -166,8 +127,3 @@ sp_nativeinfo_t g_CSNatives[] =
|
|||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
sp_nativeinfo_t g_CS_PrintHintText[] =
|
|
||||||
{
|
|
||||||
{"PrintHintText", CS_PrintHintText},
|
|
||||||
{NULL, NULL},
|
|
||||||
};
|
|
||||||
|
|||||||
@@ -376,17 +376,17 @@
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* VS2008 does not support Windows build targets prior to WinXP, */
|
/* VS2008 does not support Windows build targets prior to Windows 2000, */
|
||||||
/* so, if no build target has been defined we will target WinXP. */
|
/* so, if no build target has been defined we will target Windows 2000. */
|
||||||
#if defined(_MSC_VER) && (_MSC_VER >= 1500)
|
#if defined(_MSC_VER) && (_MSC_VER >= 1500)
|
||||||
# ifndef _WIN32_WINNT
|
# ifndef _WIN32_WINNT
|
||||||
# define _WIN32_WINNT 0x0501
|
# define _WIN32_WINNT 0x0500
|
||||||
# endif
|
# endif
|
||||||
# ifndef WINVER
|
# ifndef WINVER
|
||||||
# define WINVER 0x0501
|
# define WINVER 0x0500
|
||||||
# endif
|
# endif
|
||||||
# if (_WIN32_WINNT < 0x0501) || (WINVER < 0x0501)
|
# if (_WIN32_WINNT < 0x0500) || (WINVER < 0x0500)
|
||||||
# error VS2008 does not support Windows build targets prior to WinXP
|
# error VS2008 does not support Windows build targets prior to Windows 2000
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -59,6 +59,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
||||||
|
AdditionalIncludeDirectories="..\..\..\public"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
@@ -139,6 +140,7 @@
|
|||||||
<Tool
|
<Tool
|
||||||
Name="VCResourceCompilerTool"
|
Name="VCResourceCompilerTool"
|
||||||
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
||||||
|
AdditionalIncludeDirectories="..\..\..\public"
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCPreLinkEventTool"
|
Name="VCPreLinkEventTool"
|
||||||
@@ -179,666 +181,6 @@
|
|||||||
Name="VCPostBuildEventTool"
|
Name="VCPostBuildEventTool"
|
||||||
/>
|
/>
|
||||||
</Configuration>
|
</Configuration>
|
||||||
<Configuration
|
|
||||||
Name="Debug - Old Metamod|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalOptions="/D SE_EPISODEONE=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=4"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..;..\sdk;..\..;..\..\sourcepawn;"$(HL2SDK)\public";"$(HL2SDK)\public\dlls";"$(HL2SDK)\public\engine";"$(HL2SDK)\public\tier0";"$(HL2SDK)\public\tier1";"$(MMSOURCE17)\core-legacy";"$(MMSOURCE17)\core-legacy\sourcehook""
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=2"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
EnableEnhancedInstructionSet="0"
|
|
||||||
RuntimeTypeInfo="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib""
|
|
||||||
OutputFile="$(OutDir)\sample.ext.dll"
|
|
||||||
LinkIncremental="2"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMT"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release - Old Metamod|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalOptions="/MP /D SE_EPISODEONE=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=4"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
AdditionalIncludeDirectories="..;..\sdk;..\..;..\..\sourcepawn;"$(HL2SDK)\public";"$(HL2SDK)\public\dlls";"$(HL2SDK)\public\engine";"$(HL2SDK)\public\tier0";"$(HL2SDK)\public\tier1";"$(MMSOURCE17)\core-legacy";"$(MMSOURCE17)\core-legacy\sourcehook""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=2"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableEnhancedInstructionSet="0"
|
|
||||||
RuntimeTypeInfo="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib""
|
|
||||||
OutputFile="$(OutDir)\sample.ext.dll"
|
|
||||||
LinkIncremental="1"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMTD"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug - Orange Box|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalOptions="/D SE_EPISODEONE=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=4"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..;..\sdk;..\..;..\..\sourcepawn;"$(HL2SDKOB)\public";"$(HL2SDKOB)\public\engine";"$(HL2SDKOB)\public\game\server";"$(HL2SDKOB)\public\tier0";"$(HL2SDKOB)\public\tier1";"$(MMSOURCE17)\core";"$(MMSOURCE17)\core\sourcehook""
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=3"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
EnableEnhancedInstructionSet="0"
|
|
||||||
RuntimeTypeInfo="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies=""$(HL2SDKOB)\lib\public\tier0.lib" "$(HL2SDKOB)\lib\public\tier1.lib" "$(HL2SDKOB)\lib\public\vstdlib.lib""
|
|
||||||
OutputFile="$(OutDir)\sample.ext.dll"
|
|
||||||
LinkIncremental="2"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMT"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release - Orange Box|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalOptions="/MP /D SE_EPISODEONE=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=4"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
AdditionalIncludeDirectories="..;..\sdk;..\..;..\..\sourcepawn;"$(HL2SDKOB)\public";"$(HL2SDKOB)\public\engine";"$(HL2SDKOB)\public\game\server";"$(HL2SDKOB)\public\tier0";"$(HL2SDKOB)\public\tier1";"$(MMSOURCE17)\core";"$(MMSOURCE17)\core\sourcehook""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=3"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableEnhancedInstructionSet="0"
|
|
||||||
RuntimeTypeInfo="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies=""$(HL2SDKOB)\lib\public\tier0.lib" "$(HL2SDKOB)\lib\public\tier1.lib" "$(HL2SDKOB)\lib\public\vstdlib.lib""
|
|
||||||
OutputFile="$(OutDir)\sample.ext.dll"
|
|
||||||
LinkIncremental="1"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMTD"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug - Left 4 Dead|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalOptions="/D SE_EPISODEONE=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=4"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..;..\sdk;..\..;..\..\sourcepawn;"$(HL2SDKL4D)\public";"$(HL2SDKL4D)\public\engine";"$(HL2SDKL4D)\public\game\server";"$(HL2SDKL4D)\public\tier0";"$(HL2SDKL4D)\public\tier1";"$(MMSOURCE17)\core";"$(MMSOURCE17)\core\sourcehook""
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=4"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
EnableEnhancedInstructionSet="0"
|
|
||||||
RuntimeTypeInfo="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies=""$(HL2SDKL4D)\lib\public\tier0.lib" "$(HL2SDKL4D)\lib\public\tier1.lib" "$(HL2SDKL4D)\lib\public\vstdlib.lib""
|
|
||||||
OutputFile="$(OutDir)\sample.ext.dll"
|
|
||||||
LinkIncremental="2"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMT"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release - Left 4 Dead|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalOptions="/MP /D SE_EPISODEONE=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=4"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
AdditionalIncludeDirectories="..;..\sdk;..\..;..\..\sourcepawn;"$(HL2SDKL4D)\public";"$(HL2SDKL4D)\public\engine";"$(HL2SDKL4D)\public\game\server";"$(HL2SDKL4D)\public\tier0";"$(HL2SDKL4D)\public\tier1";"$(MMSOURCE17)\core";"$(MMSOURCE17)\core\sourcehook""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=4"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableEnhancedInstructionSet="0"
|
|
||||||
RuntimeTypeInfo="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies=""$(HL2SDKL4D)\lib\public\tier0.lib" "$(HL2SDKL4D)\lib\public\tier1.lib" "$(HL2SDKL4D)\lib\public\vstdlib.lib""
|
|
||||||
OutputFile="$(OutDir)\sample.ext.dll"
|
|
||||||
LinkIncremental="1"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMTD"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug - Episode 1|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalOptions="/D SE_EPISODEONE=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=4"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..;..\sdk;..\..;..\..\sourcepawn;"$(HL2SDK)\public";"$(HL2SDK)\public\dlls";"$(HL2SDK)\public\engine";"$(HL2SDK)\public\tier0";"$(HL2SDK)\public\tier1";"$(MMSOURCE17)\core";"$(MMSOURCE17)\core\sourcehook";..\..\..\public;..\..\..\public\sourcepawn"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=2"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
EnableEnhancedInstructionSet="0"
|
|
||||||
RuntimeTypeInfo="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib""
|
|
||||||
OutputFile="$(OutDir)\sample.ext.dll"
|
|
||||||
LinkIncremental="2"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMT"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Release - Episode 1|Win32"
|
|
||||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
|
||||||
IntermediateDirectory="$(ConfigurationName)"
|
|
||||||
ConfigurationType="2"
|
|
||||||
CharacterSet="2"
|
|
||||||
WholeProgramOptimization="1"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
AdditionalOptions="/MP /D SE_EPISODEONE=2 /D SE_ORANGEBOX=3 /D SE_LEFT4DEAD=4"
|
|
||||||
FavorSizeOrSpeed="1"
|
|
||||||
AdditionalIncludeDirectories="..;..\sdk;..\..;..\..\sourcepawn;"$(HL2SDK)\public";"$(HL2SDK)\public\dlls";"$(HL2SDK)\public\engine";"$(HL2SDK)\public\tier0";"$(HL2SDK)\public\tier1";"$(MMSOURCE17)\core";"$(MMSOURCE17)\core\sourcehook""
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;SDK_EXPORTS;_CRT_SECURE_NO_DEPRECATE;SOURCEMOD_BUILD;SOURCE_ENGINE=2"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableEnhancedInstructionSet="0"
|
|
||||||
RuntimeTypeInfo="false"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="false"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="BINARY_NAME=\"$(TargetFileName)\""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies=""$(HL2SDK)\lib\public\tier0.lib" "$(HL2SDK)\lib\public\tier1.lib" "$(HL2SDK)\lib\public\vstdlib.lib""
|
|
||||||
OutputFile="$(OutDir)\sample.ext.dll"
|
|
||||||
LinkIncremental="1"
|
|
||||||
IgnoreDefaultLibraryNames="LIBC;LIBCD;LIBCMTD"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
RandomizedBaseAddress="1"
|
|
||||||
DataExecutionPrevention="0"
|
|
||||||
TargetMachine="1"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManifestTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAppVerifierTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
</Configurations>
|
||||||
<References>
|
<References>
|
||||||
</References>
|
</References>
|
||||||
|
|||||||
@@ -86,13 +86,13 @@ ifeq "$(ENGINE)" "left4dead2"
|
|||||||
CFLAGS += -DSOURCE_ENGINE=6
|
CFLAGS += -DSOURCE_ENGINE=6
|
||||||
METAMOD = $(MMSOURCE17)/core
|
METAMOD = $(MMSOURCE17)/core
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common -I$(HL2SDK)/game/shared
|
INCLUDE += -I$(HL2SDK)/public/game/server -I$(HL2SDK)/common -I$(HL2SDK)/game/shared
|
||||||
SRCDS = $(SRCDS_BASE)/left4dead2_demo
|
SRCDS = $(SRCDS_BASE)/left4dead2
|
||||||
GAMEFIX = 2.l4d2
|
GAMEFIX = 2.l4d2
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq "$(ENGINE)" "left4dead2"
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_linux.so tier0_linux.so
|
LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a libvstdlib.so libtier0.so
|
||||||
else
|
else
|
||||||
LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so tier0_i486.so
|
LINK_HL2 = $(HL2LIB)/tier1_i486.a $(HL2LIB)/mathlib_i486.a vstdlib_i486.so tier0_i486.so
|
||||||
endif
|
endif
|
||||||
@@ -150,8 +150,8 @@ $(BIN_DIR)/%.o: %.cpp
|
|||||||
all: check
|
all: check
|
||||||
mkdir -p $(BIN_DIR)/sdk
|
mkdir -p $(BIN_DIR)/sdk
|
||||||
ifeq "$(ENGINE)" "left4dead2"
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
ln -sf $(SRCDS)/bin/vstdlib_linux.so vstdlib_linux.so;
|
ln -sf $(SRCDS)/bin/libvstdlib.so libvstdlib.so;
|
||||||
ln -sf $(SRCDS)/bin/tier0_linux.so tier0_linux.so;
|
ln -sf $(SRCDS)/bin/libtier0.so libtier0.so;
|
||||||
else
|
else
|
||||||
ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so;
|
ln -sf $(SRCDS)/bin/vstdlib_i486.so vstdlib_i486.so;
|
||||||
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so;
|
ln -sf $(SRCDS)/bin/tier0_i486.so tier0_i486.so;
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
#include "extension.h"
|
#include "extension.h"
|
||||||
|
|
||||||
CHookManager g_Hooks;
|
CHookManager g_Hooks;
|
||||||
|
static bool PRCH_enabled = false;
|
||||||
|
|
||||||
SH_DECL_MANUALHOOK2_void(PlayerRunCmdHook, 0, 0, 0, CUserCmd *, IMoveHelper *);
|
SH_DECL_MANUALHOOK2_void(PlayerRunCmdHook, 0, 0, 0, CUserCmd *, IMoveHelper *);
|
||||||
|
|
||||||
@@ -47,6 +48,7 @@ void CHookManager::Initialize()
|
|||||||
if (g_pGameConf->GetOffset("PlayerRunCmd", &offset))
|
if (g_pGameConf->GetOffset("PlayerRunCmd", &offset))
|
||||||
{
|
{
|
||||||
SH_MANUALHOOK_RECONFIGURE(PlayerRunCmdHook, offset, 0, 0);
|
SH_MANUALHOOK_RECONFIGURE(PlayerRunCmdHook, offset, 0, 0);
|
||||||
|
PRCH_enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_usercmdsFwd = forwards->CreateForward("OnPlayerRunCmd", ET_Event, 6, NULL, Param_Cell, Param_CellByRef, Param_CellByRef, Param_Array, Param_Array, Param_CellByRef);
|
m_usercmdsFwd = forwards->CreateForward("OnPlayerRunCmd", ET_Event, 6, NULL, Param_Cell, Param_CellByRef, Param_CellByRef, Param_Array, Param_Array, Param_CellByRef);
|
||||||
@@ -59,6 +61,9 @@ void CHookManager::Shutdown()
|
|||||||
|
|
||||||
void CHookManager::OnClientPutInServer(int client)
|
void CHookManager::OnClientPutInServer(int client)
|
||||||
{
|
{
|
||||||
|
if (!PRCH_enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
edict_t *pEdict = PEntityOfEntIndex(client);
|
edict_t *pEdict = PEntityOfEntIndex(client);
|
||||||
if (!pEdict)
|
if (!pEdict)
|
||||||
{
|
{
|
||||||
@@ -82,6 +87,9 @@ void CHookManager::OnClientPutInServer(int client)
|
|||||||
|
|
||||||
void CHookManager::OnClientDisconnecting(int client)
|
void CHookManager::OnClientDisconnecting(int client)
|
||||||
{
|
{
|
||||||
|
if (!PRCH_enabled)
|
||||||
|
return;
|
||||||
|
|
||||||
edict_t *pEdict = PEntityOfEntIndex(client);
|
edict_t *pEdict = PEntityOfEntIndex(client);
|
||||||
if (!pEdict)
|
if (!pEdict)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -199,6 +199,11 @@ void EntityOutputManager::ShutdownFireEventDetour()
|
|||||||
|
|
||||||
void EntityOutputManager::FireEventDetour(void *pOutput, CBaseEntity *pActivator, CBaseEntity *pCaller, float fDelay)
|
void EntityOutputManager::FireEventDetour(void *pOutput, CBaseEntity *pActivator, CBaseEntity *pCaller, float fDelay)
|
||||||
{
|
{
|
||||||
|
if (!pCaller)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
char sOutput[20];
|
char sOutput[20];
|
||||||
Q_snprintf(sOutput, sizeof(sOutput), "%x", pOutput);
|
Q_snprintf(sOutput, sizeof(sOutput), "%x", pOutput);
|
||||||
|
|
||||||
@@ -212,6 +217,11 @@ void EntityOutputManager::FireEventDetour(void *pOutput, CBaseEntity *pActivator
|
|||||||
{
|
{
|
||||||
const char *classname = GetEntityClassname(pCaller);
|
const char *classname = GetEntityClassname(pCaller);
|
||||||
const char *outputname = FindOutputName(pOutput, pCaller);
|
const char *outputname = FindOutputName(pOutput, pCaller);
|
||||||
|
|
||||||
|
if (!outputname)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
pOutputName = FindOutputPointer(classname, outputname, false);
|
pOutputName = FindOutputPointer(classname, outputname, false);
|
||||||
|
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ static cell_t PrepSDKCall_SetSignature(IPluginContext *pContext, const cell_t *p
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#if SOURCE_ENGINE == SE_LEFT4DEAD2
|
#if (SOURCE_ENGINE == SE_ORANGEBOXVALVE) || (SOURCE_ENGINE == SE_LEFT4DEAD2)
|
||||||
s_call_addr = memutils->ResolveSymbol(handle, &sig[1]);
|
s_call_addr = memutils->ResolveSymbol(handle, &sig[1]);
|
||||||
#else
|
#else
|
||||||
s_call_addr = dlsym(handle, &sig[1]);
|
s_call_addr = dlsym(handle, &sig[1]);
|
||||||
|
|||||||
@@ -811,6 +811,11 @@ CON_COMMAND(sm_dump_datamaps, "Dumps the data map list as a text file")
|
|||||||
|
|
||||||
typedescription_t *datamap = gamehelpers->FindInDataMap(pMap, "m_iEFlags");
|
typedescription_t *datamap = gamehelpers->FindInDataMap(pMap, "m_iEFlags");
|
||||||
|
|
||||||
|
if (!datamap)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
int *eflags = (int *)((char *)entity->GetBaseEntity() + datamap->fieldOffset[TD_OFFSET_NORMAL]);
|
int *eflags = (int *)((char *)entity->GetBaseEntity() + datamap->fieldOffset[TD_OFFSET_NORMAL]);
|
||||||
*eflags |= (1<<0); // EFL_KILLME
|
*eflags |= (1<<0); // EFL_KILLME
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -199,13 +199,13 @@ void SDKTools::OnClientDisconnecting(int client)
|
|||||||
g_VoiceMap[i][client] = Listen_Default;
|
g_VoiceMap[i][client] = Listen_Default;
|
||||||
if (DecHookCount())
|
if (DecHookCount())
|
||||||
{
|
{
|
||||||
return;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reset this client's mutes, just in case */
|
/* Reset this client's mutes */
|
||||||
memset(&g_ClientMutes[client], 0, sizeof(int) * 65);
|
memset(&g_ClientMutes[client], 0, sizeof(bool) * 65);
|
||||||
|
|
||||||
/* Reset other clients who send to this client */
|
/* Reset other clients who send to this client */
|
||||||
if (g_ClientOverrides[client] > 0)
|
if (g_ClientOverrides[client] > 0)
|
||||||
@@ -213,7 +213,6 @@ void SDKTools::OnClientDisconnecting(int client)
|
|||||||
DecHookCount(g_ClientOverrides[client]);
|
DecHookCount(g_ClientOverrides[client]);
|
||||||
g_ClientOverrides[client] = 0;
|
g_ClientOverrides[client] = 0;
|
||||||
memset(&g_VoiceMap[client], false, sizeof(ListenOverride) * 65);
|
memset(&g_VoiceMap[client], false, sizeof(ListenOverride) * 65);
|
||||||
memset(&g_ClientMutes[client], false, sizeof(bool) * 65);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_VoiceFlags[client])
|
if (g_VoiceFlags[client])
|
||||||
|
|||||||
@@ -159,6 +159,177 @@ cell_t TF2_RemoveDisguise(IPluginContext *pContext, const cell_t *params)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cell_t TF2_AddCondition(IPluginContext *pContext, const cell_t *params)
|
||||||
|
{
|
||||||
|
static ICallWrapper *pWrapper = NULL;
|
||||||
|
|
||||||
|
// CTFPlayerShared::AddCond(int, float)
|
||||||
|
if (!pWrapper)
|
||||||
|
{
|
||||||
|
REGISTER_NATIVE_ADDR("AddCondition",
|
||||||
|
PassInfo pass[2]; \
|
||||||
|
pass[0].flags = PASSFLAG_BYVAL; \
|
||||||
|
pass[0].size = sizeof(int); \
|
||||||
|
pass[0].type = PassType_Basic; \
|
||||||
|
pass[1].flags = PASSFLAG_BYVAL; \
|
||||||
|
pass[1].size = sizeof(float); \
|
||||||
|
pass[1].type = PassType_Basic; \
|
||||||
|
pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, pass, 2))
|
||||||
|
}
|
||||||
|
|
||||||
|
CBaseEntity *pEntity;
|
||||||
|
if (!(pEntity = UTIL_GetCBaseEntity(params[1], true)))
|
||||||
|
{
|
||||||
|
return pContext->ThrowNativeError("Client index %d is not valid", params[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void *obj = (void *)((uint8_t *)pEntity + playerSharedOffset->actual_offset);
|
||||||
|
|
||||||
|
unsigned char vstk[sizeof(void *) + sizeof(int) + sizeof(float)];
|
||||||
|
unsigned char *vptr = vstk;
|
||||||
|
|
||||||
|
*(void **)vptr = obj;
|
||||||
|
vptr += sizeof(void *);
|
||||||
|
*(int *)vptr = params[2];
|
||||||
|
vptr += sizeof(int);
|
||||||
|
*(float *)vptr = *(float *)¶ms[3];
|
||||||
|
|
||||||
|
pWrapper->Execute(vstk, NULL);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
cell_t TF2_RemoveCondition(IPluginContext *pContext, const cell_t *params)
|
||||||
|
{
|
||||||
|
static ICallWrapper *pWrapper = NULL;
|
||||||
|
|
||||||
|
// CTFPlayerShared::RemoveCond(int)
|
||||||
|
if (!pWrapper)
|
||||||
|
{
|
||||||
|
REGISTER_NATIVE_ADDR("RemoveCondition",
|
||||||
|
PassInfo pass[1]; \
|
||||||
|
pass[0].flags = PASSFLAG_BYVAL; \
|
||||||
|
pass[0].size = sizeof(int); \
|
||||||
|
pass[0].type = PassType_Basic; \
|
||||||
|
pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, pass, 1))
|
||||||
|
}
|
||||||
|
|
||||||
|
CBaseEntity *pEntity;
|
||||||
|
if (!(pEntity = UTIL_GetCBaseEntity(params[1], true)))
|
||||||
|
{
|
||||||
|
return pContext->ThrowNativeError("Client index %d is not valid", params[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void *obj = (void *)((uint8_t *)pEntity + playerSharedOffset->actual_offset);
|
||||||
|
|
||||||
|
unsigned char vstk[sizeof(void *) + sizeof(int)];
|
||||||
|
unsigned char *vptr = vstk;
|
||||||
|
|
||||||
|
*(void **)vptr = obj;
|
||||||
|
vptr += sizeof(void *);
|
||||||
|
*(int *)vptr = params[2];
|
||||||
|
|
||||||
|
pWrapper->Execute(vstk, NULL);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
cell_t TF2_StunPlayer(IPluginContext *pContext, const cell_t *params)
|
||||||
|
{
|
||||||
|
static ICallWrapper *pWrapper = NULL;
|
||||||
|
|
||||||
|
// CTFPlayerShared::StunPlayer(float, float, int, CTFPlayer *)
|
||||||
|
if (!pWrapper)
|
||||||
|
{
|
||||||
|
REGISTER_NATIVE_ADDR("StunPlayer",
|
||||||
|
PassInfo pass[4]; \
|
||||||
|
pass[0].flags = PASSFLAG_BYVAL; \
|
||||||
|
pass[0].size = sizeof(float); \
|
||||||
|
pass[0].type = PassType_Basic; \
|
||||||
|
pass[1].flags = PASSFLAG_BYVAL; \
|
||||||
|
pass[1].size = sizeof(float); \
|
||||||
|
pass[1].type = PassType_Basic; \
|
||||||
|
pass[2].flags = PASSFLAG_BYVAL; \
|
||||||
|
pass[2].size = sizeof(int); \
|
||||||
|
pass[2].type = PassType_Basic; \
|
||||||
|
pass[3].flags = PASSFLAG_BYVAL; \
|
||||||
|
pass[3].size = sizeof(CBaseEntity *); \
|
||||||
|
pass[3].type = PassType_Basic; \
|
||||||
|
pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, pass, 4))
|
||||||
|
}
|
||||||
|
|
||||||
|
CBaseEntity *pEntity;
|
||||||
|
if (!(pEntity = UTIL_GetCBaseEntity(params[1], true)))
|
||||||
|
{
|
||||||
|
return pContext->ThrowNativeError("Client index %d is not valid", params[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool bByPlayer = (params[5] != 0);
|
||||||
|
CBaseEntity *pAttacker = NULL;
|
||||||
|
if (bByPlayer && !(pAttacker = UTIL_GetCBaseEntity(params[5], true)))
|
||||||
|
{
|
||||||
|
return pContext->ThrowNativeError("Attacker index %d is not valid", params[5]);
|
||||||
|
}
|
||||||
|
|
||||||
|
void *obj = (void *)((uint8_t *)pEntity + playerSharedOffset->actual_offset);
|
||||||
|
|
||||||
|
unsigned char vstk[sizeof(void *) + 2*sizeof(float) + sizeof(int) + sizeof(CBaseEntity *)];
|
||||||
|
unsigned char *vptr = vstk;
|
||||||
|
|
||||||
|
*(void **)vptr = obj;
|
||||||
|
vptr += sizeof(void *);
|
||||||
|
*(float *)vptr = sp_ctof(params[2]);
|
||||||
|
vptr += sizeof(float);
|
||||||
|
*(float *)vptr = sp_ctof(params[3]);
|
||||||
|
vptr += sizeof(float);
|
||||||
|
*(int *)vptr = params[4];
|
||||||
|
vptr += sizeof(int);
|
||||||
|
*(CBaseEntity **)vptr = pAttacker;
|
||||||
|
|
||||||
|
pWrapper->Execute(vstk, NULL);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
cell_t TF2_SetPowerplayEnabled(IPluginContext *pContext, const cell_t *params)
|
||||||
|
{
|
||||||
|
static ICallWrapper *pWrapper = NULL;
|
||||||
|
|
||||||
|
// CTFPlayer::SetPowerPlayEnabled(bool)
|
||||||
|
if (!pWrapper)
|
||||||
|
{
|
||||||
|
REGISTER_NATIVE_ADDR("SetPowerplayEnabled",
|
||||||
|
PassInfo pass[1]; \
|
||||||
|
pass[0].flags = PASSFLAG_BYVAL; \
|
||||||
|
pass[0].size = sizeof(bool); \
|
||||||
|
pass[0].type = PassType_Basic; \
|
||||||
|
pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, pass, 1))
|
||||||
|
}
|
||||||
|
|
||||||
|
CBaseEntity *pEntity;
|
||||||
|
if (!(pEntity = UTIL_GetCBaseEntity(params[1], true)))
|
||||||
|
{
|
||||||
|
return pContext->ThrowNativeError("Client index %d is not valid", params[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool bEnablePP = false;
|
||||||
|
if (params[2] != 0)
|
||||||
|
{
|
||||||
|
bEnablePP = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char vstk[sizeof(void *) + sizeof(bool)];
|
||||||
|
unsigned char *vptr = vstk;
|
||||||
|
|
||||||
|
*(void **)vptr = (void *)pEntity;
|
||||||
|
vptr += sizeof(void *);
|
||||||
|
*(bool *)vptr = bEnablePP;
|
||||||
|
|
||||||
|
pWrapper->Execute(vstk, NULL);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
cell_t TF2_Respawn(IPluginContext *pContext, const cell_t *params)
|
cell_t TF2_Respawn(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
static ICallWrapper *pWrapper = NULL;
|
static ICallWrapper *pWrapper = NULL;
|
||||||
@@ -201,6 +372,28 @@ cell_t TF2_Respawn(IPluginContext *pContext, const cell_t *params)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cell_t TF2_Regenerate(IPluginContext *pContext, const cell_t *params)
|
||||||
|
{
|
||||||
|
static ICallWrapper *pWrapper = NULL;
|
||||||
|
|
||||||
|
//CTFPlayer::Regenerate()
|
||||||
|
|
||||||
|
if (!pWrapper)
|
||||||
|
{
|
||||||
|
REGISTER_NATIVE_ADDR("Regenerate",
|
||||||
|
pWrapper = g_pBinTools->CreateCall(addr, CallConv_ThisCall, NULL, NULL, 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
CBaseEntity *pEntity;
|
||||||
|
if (!(pEntity = UTIL_GetCBaseEntity(params[1], true)))
|
||||||
|
{
|
||||||
|
return pContext->ThrowNativeError("Client index %d is not valid", params[1]);
|
||||||
|
}
|
||||||
|
pWrapper->Execute(&pEntity, NULL);
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
cell_t TF2_GetResourceEntity(IPluginContext *pContext, const cell_t *params)
|
cell_t TF2_GetResourceEntity(IPluginContext *pContext, const cell_t *params)
|
||||||
{
|
{
|
||||||
return g_resourceEntity;
|
return g_resourceEntity;
|
||||||
@@ -223,5 +416,10 @@ sp_nativeinfo_t g_TFNatives[] =
|
|||||||
{"TF2_RemovePlayerDisguise", TF2_RemoveDisguise},
|
{"TF2_RemovePlayerDisguise", TF2_RemoveDisguise},
|
||||||
{"TF2_GetResourceEntity", TF2_GetResourceEntity},
|
{"TF2_GetResourceEntity", TF2_GetResourceEntity},
|
||||||
{"TF2_GetClass", TF2_GetClass},
|
{"TF2_GetClass", TF2_GetClass},
|
||||||
|
{"TF2_RegeneratePlayer", TF2_Regenerate},
|
||||||
|
{"TF2_AddCondition", TF2_AddCondition},
|
||||||
|
{"TF2_RemoveCondition", TF2_RemoveCondition},
|
||||||
|
{"TF2_SetPlayerPowerPlay", TF2_SetPowerplayEnabled},
|
||||||
|
{"TF2_StunPlayer", TF2_StunPlayer},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -135,6 +135,11 @@
|
|||||||
"game" "gesource"
|
"game" "gesource"
|
||||||
"game" "NeotokyoSource"
|
"game" "NeotokyoSource"
|
||||||
"game" "bg2"
|
"game" "bg2"
|
||||||
|
"game" "cspromod"
|
||||||
|
"game" "FortressForever"
|
||||||
|
"game" "zps"
|
||||||
|
"game" "gesource"
|
||||||
|
"game" "RnLBeta"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Keys"
|
"Keys"
|
||||||
@@ -154,6 +159,14 @@
|
|||||||
"game" "empires"
|
"game" "empires"
|
||||||
"game" "NeotokyoSource"
|
"game" "NeotokyoSource"
|
||||||
"game" "bg2"
|
"game" "bg2"
|
||||||
|
"game" "cspromod"
|
||||||
|
"game" "pvkii"
|
||||||
|
"game" "FortressForever"
|
||||||
|
"game" "zps"
|
||||||
|
"game" "gesource"
|
||||||
|
"game" "obsidian"
|
||||||
|
"game" "cstrike"
|
||||||
|
"game" "RnLBeta"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Keys"
|
"Keys"
|
||||||
@@ -177,6 +190,11 @@
|
|||||||
"game" "zombie_master"
|
"game" "zombie_master"
|
||||||
"game" "bg2"
|
"game" "bg2"
|
||||||
"game" "insurgency"
|
"game" "insurgency"
|
||||||
|
"game" "cspromod"
|
||||||
|
"game" "pvkii"
|
||||||
|
"game" "zps"
|
||||||
|
"game" "gesource"
|
||||||
|
"game" "RnLBeta"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Keys"
|
"Keys"
|
||||||
@@ -185,12 +203,16 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
"cstrike"
|
"#default"
|
||||||
{
|
{
|
||||||
|
"#supported"
|
||||||
|
{
|
||||||
|
"game" "cstrike"
|
||||||
|
}
|
||||||
|
|
||||||
"Keys"
|
"Keys"
|
||||||
{
|
{
|
||||||
"HintTextPreByte" "yes"
|
"GameExtension" "game.cstrike"
|
||||||
"GameExtension" "game.cstrike"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,12 +16,9 @@
|
|||||||
{
|
{
|
||||||
"#supported"
|
"#supported"
|
||||||
{
|
{
|
||||||
"game" "cstrike"
|
|
||||||
"game" "garrysmod"
|
|
||||||
"game" "hl2mp"
|
"game" "hl2mp"
|
||||||
"game" "ship"
|
"game" "ship"
|
||||||
"game" "insurgency"
|
"game" "insurgency"
|
||||||
"game" "pvkii"
|
|
||||||
"game" "sourceforts"
|
"game" "sourceforts"
|
||||||
"game" "FortressForever"
|
"game" "FortressForever"
|
||||||
"game" "empires"
|
"game" "empires"
|
||||||
@@ -29,6 +26,7 @@
|
|||||||
"game" "hidden"
|
"game" "hidden"
|
||||||
"game" "zombie_master"
|
"game" "zombie_master"
|
||||||
"game" "NeotokyoSource"
|
"game" "NeotokyoSource"
|
||||||
|
"game" "cspromod"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Offsets"
|
"Offsets"
|
||||||
|
|||||||
@@ -19,6 +19,12 @@
|
|||||||
"game" "ageofchivalry"
|
"game" "ageofchivalry"
|
||||||
"game" "zps"
|
"game" "zps"
|
||||||
"game" "bg2"
|
"game" "bg2"
|
||||||
|
"game" "garrysmod"
|
||||||
|
"game" "pvkii"
|
||||||
|
"game" "gesource"
|
||||||
|
"game" "empires"
|
||||||
|
"game" "RnLBeta"
|
||||||
|
"game" "obsidian"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Offsets"
|
"Offsets"
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
{
|
{
|
||||||
"game" "dod"
|
"game" "dod"
|
||||||
"game" "tf"
|
"game" "tf"
|
||||||
|
"game" "cstrike"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Offsets"
|
"Offsets"
|
||||||
|
|||||||
@@ -16,18 +16,17 @@
|
|||||||
{
|
{
|
||||||
"#supported"
|
"#supported"
|
||||||
{
|
{
|
||||||
"game" "cstrike"
|
|
||||||
"game" "hl2mp"
|
"game" "hl2mp"
|
||||||
"game" "ship"
|
"game" "ship"
|
||||||
"game" "!Dystopia"
|
"game" "!Dystopia"
|
||||||
"game" "insurgency"
|
"game" "insurgency"
|
||||||
"game" "pvkii"
|
|
||||||
"game" "sourceforts"
|
"game" "sourceforts"
|
||||||
"game" "FortressForever"
|
"game" "FortressForever"
|
||||||
"game" "synergy"
|
"game" "synergy"
|
||||||
"game" "hidden"
|
"game" "hidden"
|
||||||
"game" "zombie_master"
|
"game" "zombie_master"
|
||||||
"game" "NeotokyoSource"
|
"game" "NeotokyoSource"
|
||||||
|
"game" "cspromod"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Offsets"
|
"Offsets"
|
||||||
@@ -74,13 +73,10 @@
|
|||||||
{
|
{
|
||||||
"#supported"
|
"#supported"
|
||||||
{
|
{
|
||||||
"game" "cstrike"
|
|
||||||
"game" "garrysmod"
|
"game" "garrysmod"
|
||||||
"game" "hl2mp"
|
"game" "hl2mp"
|
||||||
"game" "ship"
|
"game" "ship"
|
||||||
"game" "!Dystopia"
|
"game" "!Dystopia"
|
||||||
"game" "insurgency"
|
|
||||||
"game" "pvkii"
|
|
||||||
"game" "sourceforts"
|
"game" "sourceforts"
|
||||||
"game" "FortressForever"
|
"game" "FortressForever"
|
||||||
"game" "synergy"
|
"game" "synergy"
|
||||||
@@ -125,12 +121,9 @@
|
|||||||
{
|
{
|
||||||
"#supported"
|
"#supported"
|
||||||
{
|
{
|
||||||
"game" "cstrike"
|
|
||||||
"game" "garrysmod"
|
"game" "garrysmod"
|
||||||
"game" "hl2mp"
|
"game" "hl2mp"
|
||||||
"game" "ship"
|
"game" "ship"
|
||||||
"game" "insurgency"
|
|
||||||
"game" "pvkii"
|
|
||||||
"game" "sourceforts"
|
"game" "sourceforts"
|
||||||
"game" "FortressForever"
|
"game" "FortressForever"
|
||||||
"game" "synergy"
|
"game" "synergy"
|
||||||
@@ -156,10 +149,7 @@
|
|||||||
{
|
{
|
||||||
"#supported"
|
"#supported"
|
||||||
{
|
{
|
||||||
"game" "cstrike"
|
|
||||||
"game" "hl2mp"
|
"game" "hl2mp"
|
||||||
"game" "insurgency"
|
|
||||||
"game" "pvkii"
|
|
||||||
"game" "sourceforts"
|
"game" "sourceforts"
|
||||||
"game" "synergy"
|
"game" "synergy"
|
||||||
"game" "hidden"
|
"game" "hidden"
|
||||||
@@ -238,9 +228,9 @@
|
|||||||
{
|
{
|
||||||
"#supported"
|
"#supported"
|
||||||
{
|
{
|
||||||
"game" "cstrike"
|
|
||||||
"game" "hl2mp"
|
"game" "hl2mp"
|
||||||
"game" "NeotokyoSource"
|
"game" "NeotokyoSource"
|
||||||
|
"game" "zombie_master"
|
||||||
}
|
}
|
||||||
"Signatures"
|
"Signatures"
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -21,6 +21,9 @@
|
|||||||
"game" "empires"
|
"game" "empires"
|
||||||
"game" "synergy"
|
"game" "synergy"
|
||||||
"game" "bg2"
|
"game" "bg2"
|
||||||
|
"game" "garrysmod"
|
||||||
|
"game" "pvkii"
|
||||||
|
"game" "gesource"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Offsets"
|
"Offsets"
|
||||||
@@ -69,7 +72,7 @@
|
|||||||
{
|
{
|
||||||
"game" "ageofchivalry"
|
"game" "ageofchivalry"
|
||||||
"game" "zps"
|
"game" "zps"
|
||||||
"game" "empires"
|
"game" "pvkii"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Signatures"
|
"Signatures"
|
||||||
@@ -96,8 +99,7 @@
|
|||||||
{
|
{
|
||||||
"game" "ageofchivalry"
|
"game" "ageofchivalry"
|
||||||
"game" "zps"
|
"game" "zps"
|
||||||
"game" "empires"
|
"game" "pvkii"
|
||||||
"game" "synergy"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
"Signatures"
|
"Signatures"
|
||||||
@@ -122,6 +124,11 @@
|
|||||||
"game" "empires"
|
"game" "empires"
|
||||||
"game" "synergy"
|
"game" "synergy"
|
||||||
"game" "bg2"
|
"game" "bg2"
|
||||||
|
"game" "garrysmod"
|
||||||
|
"game" "pvkii"
|
||||||
|
"game" "gesource"
|
||||||
|
"game" "RnLBeta"
|
||||||
|
"game" "obsidian"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Offsets"
|
"Offsets"
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
{
|
{
|
||||||
"game" "dod"
|
"game" "dod"
|
||||||
"game" "tf"
|
"game" "tf"
|
||||||
|
"game" "cstrike"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Offsets"
|
"Offsets"
|
||||||
@@ -66,6 +67,7 @@
|
|||||||
{
|
{
|
||||||
"game" "dod"
|
"game" "dod"
|
||||||
"game" "tf"
|
"game" "tf"
|
||||||
|
"game" "cstrike"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Signatures"
|
"Signatures"
|
||||||
@@ -92,6 +94,7 @@
|
|||||||
{
|
{
|
||||||
"game" "dod"
|
"game" "dod"
|
||||||
"game" "tf"
|
"game" "tf"
|
||||||
|
"game" "cstrike"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Signatures"
|
"Signatures"
|
||||||
@@ -113,6 +116,7 @@
|
|||||||
{
|
{
|
||||||
"game" "dod"
|
"game" "dod"
|
||||||
"game" "tf"
|
"game" "tf"
|
||||||
|
"game" "cstrike"
|
||||||
}
|
}
|
||||||
|
|
||||||
"Offsets"
|
"Offsets"
|
||||||
@@ -204,6 +208,7 @@
|
|||||||
{
|
{
|
||||||
"game" "dod"
|
"game" "dod"
|
||||||
"game" "tf"
|
"game" "tf"
|
||||||
|
"game" "cstrike"
|
||||||
}
|
}
|
||||||
"Signatures"
|
"Signatures"
|
||||||
{
|
{
|
||||||
@@ -219,7 +224,7 @@
|
|||||||
"FireOutputBackup"
|
"FireOutputBackup"
|
||||||
{
|
{
|
||||||
"windows" "6"
|
"windows" "6"
|
||||||
"linux" "10"
|
"linux" "12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -238,7 +243,7 @@
|
|||||||
"SetUserCvar"
|
"SetUserCvar"
|
||||||
{
|
{
|
||||||
"windows" "17"
|
"windows" "17"
|
||||||
"linux" "55"
|
"linux" "56"
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made.
|
* Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made.
|
||||||
|
|||||||
@@ -225,7 +225,7 @@
|
|||||||
"FireOutputBackup"
|
"FireOutputBackup"
|
||||||
{
|
{
|
||||||
"windows" "6"
|
"windows" "6"
|
||||||
"linux" "10"
|
"linux" "12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -244,7 +244,7 @@
|
|||||||
"SetUserCvar"
|
"SetUserCvar"
|
||||||
{
|
{
|
||||||
/* Not 100% sure on this, why would windows change and not linux - TEST ME */
|
/* Not 100% sure on this, why would windows change and not linux - TEST ME */
|
||||||
"windows" "18"
|
"windows" "17"
|
||||||
"linux" "63"
|
"linux" "63"
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@@ -270,8 +270,8 @@
|
|||||||
{
|
{
|
||||||
"GiveNamedItem"
|
"GiveNamedItem"
|
||||||
{
|
{
|
||||||
"windows" "505"
|
"windows" "506"
|
||||||
"linux" "506"
|
"linux" "507"
|
||||||
}
|
}
|
||||||
"RemovePlayerItem"
|
"RemovePlayerItem"
|
||||||
{
|
{
|
||||||
@@ -300,8 +300,8 @@
|
|||||||
}
|
}
|
||||||
"CommitSuicide"
|
"CommitSuicide"
|
||||||
{
|
{
|
||||||
"windows" "473"
|
"windows" "474"
|
||||||
"linux" "473"
|
"linux" "474"
|
||||||
}
|
}
|
||||||
"GetVelocity"
|
"GetVelocity"
|
||||||
{
|
{
|
||||||
@@ -350,8 +350,8 @@
|
|||||||
}
|
}
|
||||||
"PlayerRunCmd"
|
"PlayerRunCmd"
|
||||||
{
|
{
|
||||||
"windows" "451"
|
"windows" "452"
|
||||||
"linux" "452"
|
"linux" "453"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,138 @@
|
|||||||
|
/**
|
||||||
|
* Do not edit this file. Any changes will be overwritten by the gamedata
|
||||||
|
* updater or by upgrading your SourceMod install.
|
||||||
|
*
|
||||||
|
* To override data in this file, create a subdirectory named "custom" and
|
||||||
|
* place your own gamedata file(s) inside of it. Such files will be parsed
|
||||||
|
* after SM's own.
|
||||||
|
*
|
||||||
|
* For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod)
|
||||||
|
*/
|
||||||
|
|
||||||
|
"Games"
|
||||||
|
{
|
||||||
|
/* Battleground 2 1.5a */
|
||||||
|
"bg2"
|
||||||
|
{
|
||||||
|
"Offsets"
|
||||||
|
{
|
||||||
|
"GiveNamedItem"
|
||||||
|
{
|
||||||
|
"windows" "342"
|
||||||
|
"linux" "343"
|
||||||
|
}
|
||||||
|
"RemovePlayerItem"
|
||||||
|
{
|
||||||
|
"windows" "236"
|
||||||
|
"linux" "237"
|
||||||
|
}
|
||||||
|
"Weapon_GetSlot"
|
||||||
|
{
|
||||||
|
"windows" "234"
|
||||||
|
"linux" "235"
|
||||||
|
}
|
||||||
|
"Ignite"
|
||||||
|
{
|
||||||
|
"windows" "191"
|
||||||
|
"linux" "192"
|
||||||
|
}
|
||||||
|
"Extinguish"
|
||||||
|
{
|
||||||
|
"windows" "195"
|
||||||
|
"linux" "196"
|
||||||
|
}
|
||||||
|
"Teleport"
|
||||||
|
{
|
||||||
|
"windows" "99"
|
||||||
|
"linux" "100"
|
||||||
|
}
|
||||||
|
"CommitSuicide"
|
||||||
|
{
|
||||||
|
"windows" "379"
|
||||||
|
"linux" "379"
|
||||||
|
}
|
||||||
|
"GetVelocity"
|
||||||
|
{
|
||||||
|
"windows" "128"
|
||||||
|
"linux" "129"
|
||||||
|
}
|
||||||
|
"EyeAngles"
|
||||||
|
{
|
||||||
|
"windows" "120"
|
||||||
|
"linux" "121"
|
||||||
|
}
|
||||||
|
"AcceptInput"
|
||||||
|
{
|
||||||
|
"windows" "34"
|
||||||
|
"linux" "35"
|
||||||
|
}
|
||||||
|
"DispatchKeyValue"
|
||||||
|
{
|
||||||
|
"windows" "29"
|
||||||
|
"linux" "28"
|
||||||
|
}
|
||||||
|
"DispatchKeyValueFloat"
|
||||||
|
{
|
||||||
|
"windows" "28"
|
||||||
|
"linux" "29"
|
||||||
|
}
|
||||||
|
"DispatchKeyValueVector"
|
||||||
|
{
|
||||||
|
"windows" "27"
|
||||||
|
"linux" "30"
|
||||||
|
}
|
||||||
|
"SetEntityModel"
|
||||||
|
{
|
||||||
|
"windows" "23"
|
||||||
|
"linux" "24"
|
||||||
|
}
|
||||||
|
"WeaponEquip"
|
||||||
|
{
|
||||||
|
"windows" "227"
|
||||||
|
"linux" "228"
|
||||||
|
}
|
||||||
|
"Activate"
|
||||||
|
{
|
||||||
|
"windows" "31"
|
||||||
|
"linux" "32"
|
||||||
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "360"
|
||||||
|
"linux" "361"
|
||||||
|
}
|
||||||
|
"FireOutputBackup"
|
||||||
|
{
|
||||||
|
"windows" "6"
|
||||||
|
"linux" "10"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"DispatchSpawn"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@_Z13DispatchSpawnP11CBaseEntity"
|
||||||
|
"windows" "\x53\x55\x56\x8B\x74\x24\x10\x57\x85\xF6\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x64\x8B\xCB"
|
||||||
|
}
|
||||||
|
"CreateEntityByName"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@_Z18CreateEntityByNamePKci"
|
||||||
|
"windows" "\x56\x8B\x74\x24\x0C\x57\x8B\x7C\x24\x0C\x83\xFE\xFF\x74\x27\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x54\x56\xFF\xD2"
|
||||||
|
}
|
||||||
|
"FindEntityByClassname"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x10\x57\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x08\xFF\xD2\x8B\x00\x25\xFF\x0F\x00\x00\x40\xC1\xE0\x04\x8B\x3C\x30\xEB\x06\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x3B\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A\x8D\xA4"
|
||||||
|
"linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
|
||||||
|
}
|
||||||
|
"FireOutput"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x81\xEC\x20\x1C\x00\x00\x53\x55\x56\x8B\x71\x14\x57\x89"
|
||||||
|
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,141 @@
|
|||||||
|
"Games"
|
||||||
|
{
|
||||||
|
/* CSpromod 1.04 */
|
||||||
|
"cspromod"
|
||||||
|
{
|
||||||
|
"Offsets"
|
||||||
|
{
|
||||||
|
"GiveNamedItem"
|
||||||
|
{
|
||||||
|
"windows" "330"
|
||||||
|
"linux" "331"
|
||||||
|
}
|
||||||
|
"RemovePlayerItem"
|
||||||
|
{
|
||||||
|
"windows" "226"
|
||||||
|
"linux" "227"
|
||||||
|
}
|
||||||
|
"Weapon_GetSlot"
|
||||||
|
{
|
||||||
|
"windows" "224"
|
||||||
|
"linux" "225"
|
||||||
|
}
|
||||||
|
"Ignite"
|
||||||
|
{
|
||||||
|
"windows" "188"
|
||||||
|
"linux" "189"
|
||||||
|
}
|
||||||
|
"Extinguish"
|
||||||
|
{
|
||||||
|
"windows" "189"
|
||||||
|
"linux" "190"
|
||||||
|
}
|
||||||
|
"Teleport"
|
||||||
|
{
|
||||||
|
"windows" "98"
|
||||||
|
"linux" "99"
|
||||||
|
}
|
||||||
|
"CommitSuicide"
|
||||||
|
{
|
||||||
|
"windows" "358"
|
||||||
|
"linux" "359"
|
||||||
|
}
|
||||||
|
"GetVelocity"
|
||||||
|
{
|
||||||
|
"windows" "126"
|
||||||
|
"linux" "127"
|
||||||
|
}
|
||||||
|
"EyeAngles"
|
||||||
|
{
|
||||||
|
"windows" "118"
|
||||||
|
"linux" "119"
|
||||||
|
}
|
||||||
|
"AcceptInput"
|
||||||
|
{
|
||||||
|
"windows" "35"
|
||||||
|
"linux" "36"
|
||||||
|
}
|
||||||
|
"DispatchKeyValue"
|
||||||
|
{
|
||||||
|
"windows" "31"
|
||||||
|
"linux" "30"
|
||||||
|
}
|
||||||
|
"DispatchKeyValueFloat"
|
||||||
|
{
|
||||||
|
"windows" "30"
|
||||||
|
"linux" "31"
|
||||||
|
}
|
||||||
|
"DispatchKeyValueVector"
|
||||||
|
{
|
||||||
|
"windows" "29"
|
||||||
|
"linux" "32"
|
||||||
|
}
|
||||||
|
"SetEntityModel"
|
||||||
|
{
|
||||||
|
"windows" "25"
|
||||||
|
"linux" "26"
|
||||||
|
}
|
||||||
|
"WeaponEquip"
|
||||||
|
{
|
||||||
|
"windows" "217"
|
||||||
|
"linux" "218"
|
||||||
|
}
|
||||||
|
"Activate"
|
||||||
|
{
|
||||||
|
"windows" "32"
|
||||||
|
"linux" "33"
|
||||||
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "348"
|
||||||
|
"linux" "349"
|
||||||
|
}
|
||||||
|
"FireOutputBackup"
|
||||||
|
{
|
||||||
|
"windows" "6"
|
||||||
|
"linux" "6"
|
||||||
|
}
|
||||||
|
"g_pGameRules"
|
||||||
|
{
|
||||||
|
"windows" "2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"FireOutput"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x81\xEC\x2A\x2A\x2A\x2A\x53\x55\x56\x8B\x71\x2A\x85\xF6"
|
||||||
|
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
|
||||||
|
}
|
||||||
|
"DispatchSpawn"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@_Z13DispatchSpawnP11CBaseEntity"
|
||||||
|
"windows" "\x53\x55\x56\x8B\x74\x2A\x2A\x85\xF6\x57\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x2A\x2A\x8B\xCB\xFF"
|
||||||
|
}
|
||||||
|
"CreateEntityByName"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@_Z18CreateEntityByNamePKci"
|
||||||
|
"windows" "\x56\x8B\x74\x2A\x2A\x83\xFE\xFF\x57\x8B\x7C\x2A\x2A\x74\x2A\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x2A\x2A\x56\xFF\xD2"
|
||||||
|
}
|
||||||
|
"FindEntityByClassname"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x2A\x85\xC9\x57\x74\x2A\x8B\x01\x8B\x50\x2A\xFF\xD2\x8B\x00\x25\xFF\x2A\x2A\x2A\x83\xC0\x2A\xC1\xE0\x2A\x8B\x3C\x30\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x2A\x2A\x8B\x2D\x2A\x2A\x2A\x2A\xEB\x2A\x8D\x2A\x2A\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x2A\xEB\x11\x39"
|
||||||
|
"linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
|
||||||
|
}
|
||||||
|
"CreateGameRulesObject"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2"
|
||||||
|
}
|
||||||
|
"g_pGameRules"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@g_pGameRules"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -26,88 +26,88 @@
|
|||||||
{
|
{
|
||||||
"GiveNamedItem"
|
"GiveNamedItem"
|
||||||
{
|
{
|
||||||
"windows" "329"
|
"windows" "386"
|
||||||
"linux" "330"
|
"linux" "387"
|
||||||
}
|
}
|
||||||
"RemovePlayerItem"
|
"RemovePlayerItem"
|
||||||
{
|
{
|
||||||
"windows" "226"
|
"windows" "259"
|
||||||
"linux" "227"
|
"linux" "260"
|
||||||
}
|
}
|
||||||
"Weapon_GetSlot"
|
"Weapon_GetSlot"
|
||||||
{
|
{
|
||||||
"windows" "224"
|
"windows" "257"
|
||||||
"linux" "225"
|
"linux" "258"
|
||||||
}
|
}
|
||||||
"Ignite"
|
"Ignite"
|
||||||
{
|
{
|
||||||
"windows" "188"
|
"windows" "202"
|
||||||
"linux" "189"
|
"linux" "203"
|
||||||
}
|
}
|
||||||
"Extinguish"
|
"Extinguish"
|
||||||
{
|
{
|
||||||
"windows" "189"
|
"windows" "206"
|
||||||
"linux" "190"
|
"linux" "207"
|
||||||
}
|
}
|
||||||
"Teleport"
|
"Teleport"
|
||||||
{
|
{
|
||||||
"windows" "98"
|
"windows" "105"
|
||||||
"linux" "99"
|
"linux" "106"
|
||||||
}
|
}
|
||||||
"CommitSuicide"
|
"CommitSuicide"
|
||||||
{
|
{
|
||||||
"windows" "357"
|
"windows" "426"
|
||||||
"linux" "358"
|
"linux" "426"
|
||||||
}
|
}
|
||||||
"GetVelocity"
|
"GetVelocity"
|
||||||
{
|
{
|
||||||
"windows" "126"
|
"windows" "137"
|
||||||
"linux" "127"
|
"linux" "138"
|
||||||
}
|
}
|
||||||
"EyeAngles"
|
"EyeAngles"
|
||||||
{
|
{
|
||||||
"windows" "118"
|
"windows" "128"
|
||||||
"linux" "119"
|
"linux" "129"
|
||||||
}
|
}
|
||||||
"AcceptInput"
|
"AcceptInput"
|
||||||
{
|
{
|
||||||
"windows" "35"
|
"windows" "34"
|
||||||
"linux" "36"
|
"linux" "35"
|
||||||
}
|
}
|
||||||
"DispatchKeyValue"
|
"DispatchKeyValue"
|
||||||
{
|
{
|
||||||
"windows" "31"
|
"windows" "29"
|
||||||
"linux" "30"
|
"linux" "28"
|
||||||
}
|
}
|
||||||
"DispatchKeyValueFloat"
|
"DispatchKeyValueFloat"
|
||||||
{
|
{
|
||||||
"windows" "30"
|
"windows" "28"
|
||||||
"linux" "31"
|
"linux" "29"
|
||||||
}
|
}
|
||||||
"DispatchKeyValueVector"
|
"DispatchKeyValueVector"
|
||||||
{
|
{
|
||||||
"windows" "29"
|
"windows" "27"
|
||||||
"linux" "32"
|
"linux" "30"
|
||||||
}
|
}
|
||||||
"SetEntityModel"
|
"SetEntityModel"
|
||||||
{
|
{
|
||||||
"windows" "25"
|
"windows" "23"
|
||||||
"linux" "26"
|
"linux" "24"
|
||||||
}
|
}
|
||||||
"WeaponEquip"
|
"WeaponEquip"
|
||||||
{
|
{
|
||||||
"windows" "217"
|
"windows" "250"
|
||||||
"linux" "218"
|
"linux" "251"
|
||||||
}
|
}
|
||||||
"Activate"
|
"Activate"
|
||||||
{
|
{
|
||||||
"windows" "32"
|
"windows" "31"
|
||||||
"linux" "33"
|
"linux" "32"
|
||||||
}
|
}
|
||||||
"PlayerRunCmd"
|
"PlayerRunCmd"
|
||||||
{
|
{
|
||||||
"windows" "347"
|
"windows" "404"
|
||||||
"linux" "348"
|
"linux" "405"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,28 +18,28 @@
|
|||||||
{
|
{
|
||||||
"GiveNamedItem"
|
"GiveNamedItem"
|
||||||
{
|
{
|
||||||
"windows" "357"
|
"windows" "385"
|
||||||
"linux" "358"
|
"linux" "386"
|
||||||
}
|
}
|
||||||
"RemovePlayerItem"
|
"RemovePlayerItem"
|
||||||
{
|
{
|
||||||
"windows" "244"
|
"windows" "259"
|
||||||
"linux" "245"
|
"linux" "260"
|
||||||
}
|
}
|
||||||
"Weapon_GetSlot"
|
"Weapon_GetSlot"
|
||||||
{
|
{
|
||||||
"windows" "242"
|
"windows" "257"
|
||||||
"linux" "243"
|
"linux" "258"
|
||||||
}
|
}
|
||||||
"Ignite"
|
"Ignite"
|
||||||
{
|
{
|
||||||
"windows" "199"
|
"windows" "202"
|
||||||
"linux" "200"
|
"linux" "203"
|
||||||
}
|
}
|
||||||
"Extinguish"
|
"Extinguish"
|
||||||
{
|
{
|
||||||
"windows" "203"
|
"windows" "206"
|
||||||
"linux" "204"
|
"linux" "207"
|
||||||
}
|
}
|
||||||
"Teleport"
|
"Teleport"
|
||||||
{
|
{
|
||||||
@@ -48,18 +48,18 @@
|
|||||||
}
|
}
|
||||||
"CommitSuicide"
|
"CommitSuicide"
|
||||||
{
|
{
|
||||||
"windows" "396"
|
"windows" "422"
|
||||||
"linux" "397"
|
"linux" "423"
|
||||||
}
|
}
|
||||||
"GetVelocity"
|
"GetVelocity"
|
||||||
{
|
{
|
||||||
"windows" "136"
|
"windows" "137"
|
||||||
"linux" "137"
|
"linux" "138"
|
||||||
}
|
}
|
||||||
"EyeAngles"
|
"EyeAngles"
|
||||||
{
|
{
|
||||||
"windows" "127"
|
"windows" "128"
|
||||||
"linux" "128"
|
"linux" "129"
|
||||||
}
|
}
|
||||||
"AcceptInput"
|
"AcceptInput"
|
||||||
{
|
{
|
||||||
@@ -88,14 +88,19 @@
|
|||||||
}
|
}
|
||||||
"WeaponEquip"
|
"WeaponEquip"
|
||||||
{
|
{
|
||||||
"windows" "235"
|
"windows" "250"
|
||||||
"linux" "236"
|
"linux" "251"
|
||||||
}
|
}
|
||||||
"Activate"
|
"Activate"
|
||||||
{
|
{
|
||||||
"windows" "31"
|
"windows" "31"
|
||||||
"linux" "32"
|
"linux" "32"
|
||||||
}
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "403"
|
||||||
|
"linux" "404"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
"Games"
|
"Games"
|
||||||
{
|
{
|
||||||
/* Empires 2.24 */
|
/* Empires 2.25b */
|
||||||
"empires"
|
"empires"
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -19,48 +19,48 @@
|
|||||||
{
|
{
|
||||||
"GiveNamedItem"
|
"GiveNamedItem"
|
||||||
{
|
{
|
||||||
"windows" "354"
|
"windows" "353"
|
||||||
"linux" "355"
|
"linux" "354"
|
||||||
}
|
}
|
||||||
"RemovePlayerItem"
|
"RemovePlayerItem"
|
||||||
{
|
{
|
||||||
"windows" "241"
|
"windows" "240"
|
||||||
"linux" "242"
|
"linux" "241"
|
||||||
}
|
}
|
||||||
"Weapon_GetSlot"
|
"Weapon_GetSlot"
|
||||||
{
|
{
|
||||||
"windows" "239"
|
"windows" "238"
|
||||||
"linux" "240"
|
"linux" "239"
|
||||||
}
|
}
|
||||||
"Ignite"
|
"Ignite"
|
||||||
{
|
{
|
||||||
"windows" "196"
|
"windows" "195"
|
||||||
"linux" "197"
|
"linux" "196"
|
||||||
}
|
}
|
||||||
"Extinguish"
|
"Extinguish"
|
||||||
{
|
{
|
||||||
"windows" "200"
|
"windows" "199"
|
||||||
"linux" "201"
|
"linux" "200"
|
||||||
}
|
}
|
||||||
"Teleport"
|
"Teleport"
|
||||||
{
|
{
|
||||||
"windows" "104"
|
"windows" "103"
|
||||||
"linux" "105"
|
"linux" "104"
|
||||||
}
|
}
|
||||||
"CommitSuicide"
|
"CommitSuicide"
|
||||||
{
|
{
|
||||||
"windows" "401"
|
"windows" "392"
|
||||||
"linux" "402"
|
"linux" "392"
|
||||||
}
|
}
|
||||||
"GetVelocity"
|
"GetVelocity"
|
||||||
{
|
{
|
||||||
"windows" "133"
|
"windows" "132"
|
||||||
"linux" "134"
|
"linux" "133"
|
||||||
}
|
}
|
||||||
"EyeAngles"
|
"EyeAngles"
|
||||||
{
|
{
|
||||||
"windows" "125"
|
"windows" "124"
|
||||||
"linux" "126"
|
"linux" "125"
|
||||||
}
|
}
|
||||||
"DispatchKeyValue"
|
"DispatchKeyValue"
|
||||||
{
|
{
|
||||||
@@ -79,29 +79,61 @@
|
|||||||
}
|
}
|
||||||
"AcceptInput"
|
"AcceptInput"
|
||||||
{
|
{
|
||||||
"windows" "35"
|
"windows" "34"
|
||||||
"linux" "36"
|
"linux" "35"
|
||||||
}
|
}
|
||||||
"Activate"
|
"Activate"
|
||||||
{
|
{
|
||||||
"windows" "31"
|
"windows" "31"
|
||||||
"linux" "32"
|
"linux" "32"
|
||||||
}
|
}
|
||||||
"TakeHealth"
|
|
||||||
{
|
|
||||||
"windows" "62"
|
|
||||||
"linux" "63"
|
|
||||||
}
|
|
||||||
"ChangeTeam"
|
|
||||||
{
|
|
||||||
"windows" "87"
|
|
||||||
"linux" "88"
|
|
||||||
}
|
|
||||||
"SetEntityModel"
|
"SetEntityModel"
|
||||||
{
|
{
|
||||||
"windows" "23"
|
"windows" "23"
|
||||||
"linux" "24"
|
"linux" "24"
|
||||||
}
|
}
|
||||||
|
"WeaponEquip"
|
||||||
|
{
|
||||||
|
"windows" "231"
|
||||||
|
"linux" "232"
|
||||||
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "372"
|
||||||
|
"linux" "373"
|
||||||
|
}
|
||||||
|
"FireOutputBackup"
|
||||||
|
{
|
||||||
|
"windows" "6"
|
||||||
|
"linux" "10"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"DispatchSpawn"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x53\x55\x56\x8B\x74\x24\x10\x57\x85\xF6\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x64\x8B\xCB"
|
||||||
|
"linux" "@_Z13DispatchSpawnP11CBaseEntity"
|
||||||
|
}
|
||||||
|
"CreateEntityByName"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x56\x8B\x74\x24\x0C\x57\x8B\x7C\x24\x0C\x83\xFE\xFF\x74\x27\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x54\x56\xFF\xD2"
|
||||||
|
"linux" "@_Z18CreateEntityByNamePKci"
|
||||||
|
}
|
||||||
|
"FindEntityByClassname"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x10\x57\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x08\xFF\xD2\x8B\x00\x25\xFF\x0F\x00\x00\x40\xC1\xE0\x04\x8B\x3C\x30\xEB\x06\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A\x8D\xA4\x24\x00\x00\x00\x00\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x04\xEB\x2A\x39\x2A\x2A\x74\x2A\x53"
|
||||||
|
"linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
|
||||||
|
}
|
||||||
|
"FireOutput"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x55\x8B\xEC\x83\x2A\x2A\x81\xEC\x2A\x2A\x2A\x2A\x53\x56\x8B\x71\x2A\x57\x89"
|
||||||
|
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,6 +96,11 @@
|
|||||||
"windows" "36"
|
"windows" "36"
|
||||||
"linux" "37"
|
"linux" "37"
|
||||||
}
|
}
|
||||||
|
"FireOutputBackup"
|
||||||
|
{
|
||||||
|
"windows" "6"
|
||||||
|
"linux" "6"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
"Signatures"
|
"Signatures"
|
||||||
@@ -120,6 +125,12 @@
|
|||||||
"library" "server"
|
"library" "server"
|
||||||
"windows" "\x56\x8B\x74\x24\x0C\x83\xFE\xFF\x57\x8B\x7C\x24\x0C\x74\x27\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x54\x56\xFF\xD2"
|
"windows" "\x56\x8B\x74\x24\x0C\x83\xFE\xFF\x57\x8B\x7C\x24\x0C\x74\x27\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x54\x56\xFF\xD2"
|
||||||
}
|
}
|
||||||
|
"FireOutput"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x81\xEC\x2A\x2A\x2A\x2A\x53\x55\x56\x8B\x2A\x2A\x85\xF6\x57"
|
||||||
|
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -12,9 +12,7 @@
|
|||||||
"Games"
|
"Games"
|
||||||
{
|
{
|
||||||
/* Garry's Mod 10 - Windows only
|
/* Garry's Mod 10 - Windows only
|
||||||
* This mod is not officially supported, and the definitions are
|
* This mod is not officially supported
|
||||||
* for Garry's Mod pre-Orange Box.
|
|
||||||
* (credits: Damaged Soul)
|
|
||||||
*/
|
*/
|
||||||
"garrysmod"
|
"garrysmod"
|
||||||
{
|
{
|
||||||
@@ -22,55 +20,98 @@
|
|||||||
{
|
{
|
||||||
"GiveNamedItem"
|
"GiveNamedItem"
|
||||||
{
|
{
|
||||||
"windows" "366"
|
"windows" "391"
|
||||||
}
|
}
|
||||||
"RemovePlayerItem"
|
"RemovePlayerItem"
|
||||||
{
|
{
|
||||||
"windows" "264"
|
"windows" "279"
|
||||||
}
|
}
|
||||||
"Weapon_GetSlot"
|
"Weapon_GetSlot"
|
||||||
{
|
{
|
||||||
"windows" "262"
|
"windows" "277"
|
||||||
}
|
}
|
||||||
"Ignite"
|
"Ignite"
|
||||||
{
|
{
|
||||||
"windows" "220"
|
"windows" "228"
|
||||||
}
|
}
|
||||||
"Extinguish"
|
"Extinguish"
|
||||||
{
|
{
|
||||||
"windows" "221"
|
"windows" "232"
|
||||||
}
|
}
|
||||||
"Teleport"
|
"Teleport"
|
||||||
{
|
{
|
||||||
"windows" "99"
|
"windows" "101"
|
||||||
}
|
}
|
||||||
"CommitSuicide"
|
"CommitSuicide"
|
||||||
{
|
{
|
||||||
"windows" "394"
|
"windows" "429"
|
||||||
}
|
}
|
||||||
"GetVelocity"
|
"GetVelocity"
|
||||||
{
|
{
|
||||||
"windows" "127"
|
"windows" "131"
|
||||||
}
|
}
|
||||||
"EyeAngles"
|
"EyeAngles"
|
||||||
{
|
{
|
||||||
"windows" "119"
|
"windows" "123"
|
||||||
}
|
}
|
||||||
"AcceptInput"
|
"AcceptInput"
|
||||||
{
|
{
|
||||||
"windows" "35"
|
"windows" "34"
|
||||||
}
|
}
|
||||||
"DispatchKeyValue"
|
"DispatchKeyValue"
|
||||||
{
|
{
|
||||||
"windows" "31"
|
"windows" "29"
|
||||||
}
|
}
|
||||||
"DispatchKeyValueFloat"
|
"DispatchKeyValueFloat"
|
||||||
{
|
{
|
||||||
"windows" "30"
|
"windows" "28"
|
||||||
}
|
}
|
||||||
"DispatchKeyValueVector"
|
"DispatchKeyValueVector"
|
||||||
{
|
{
|
||||||
"windows" "29"
|
"windows" "27"
|
||||||
|
}
|
||||||
|
"SetEntityModel"
|
||||||
|
{
|
||||||
|
"windows" "23"
|
||||||
|
}
|
||||||
|
"WeaponEquip"
|
||||||
|
{
|
||||||
|
"windows" "270"
|
||||||
|
}
|
||||||
|
"Activate"
|
||||||
|
{
|
||||||
|
"windows" "31"
|
||||||
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "409"
|
||||||
|
}
|
||||||
|
"FireOutputBackup"
|
||||||
|
{
|
||||||
|
"windows" "6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"DispatchSpawn"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x53\x55\x56\x8B\x74\x24\x10\x57\x85\xF6\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x64\x8B\xCB"
|
||||||
|
}
|
||||||
|
"CreateEntityByName"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x56\x8B\x74\x24\x0C\x57\x8B\x7C\x24\x0C\x83\xFE\xFF\x74\x27\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x54\x56\xFF\xD2"
|
||||||
|
}
|
||||||
|
"FindEntityByClassname"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x10\x57\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x08\xFF\xD2\x8B\x00\x25\xFF\x0F\x00\x00\x40\xC1\xE0\x04\x8B\x3C\x30\xEB\x06\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A\x8D\xA4\x24\x00\x00\x00\x00\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x04\xEB\x2A\x39\x2A\x2A\x74\x2A\x53"
|
||||||
|
}
|
||||||
|
"FireOutput"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x81\xEC\x2A\x2A\x2A\x2A\x53\x55\x56\x8B\x71\x2A\x57\x89"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,126 @@
|
|||||||
|
"Games"
|
||||||
|
{
|
||||||
|
"gesource"
|
||||||
|
{
|
||||||
|
"Offsets"
|
||||||
|
{
|
||||||
|
"GiveNamedItem"
|
||||||
|
{
|
||||||
|
"windows" "351"
|
||||||
|
"linux" "352"
|
||||||
|
}
|
||||||
|
"RemovePlayerItem"
|
||||||
|
{
|
||||||
|
"windows" "239"
|
||||||
|
"linux" "240"
|
||||||
|
}
|
||||||
|
"Weapon_GetSlot"
|
||||||
|
{
|
||||||
|
"windows" "237"
|
||||||
|
"linux" "238"
|
||||||
|
}
|
||||||
|
"Ignite"
|
||||||
|
{
|
||||||
|
"windows" "194"
|
||||||
|
"linux" "195"
|
||||||
|
}
|
||||||
|
"Extinguish"
|
||||||
|
{
|
||||||
|
"windows" "198"
|
||||||
|
"linux" "199"
|
||||||
|
}
|
||||||
|
"Teleport"
|
||||||
|
{
|
||||||
|
"windows" "100"
|
||||||
|
"linux" "101"
|
||||||
|
}
|
||||||
|
"CommitSuicide"
|
||||||
|
{
|
||||||
|
"windows" "392"
|
||||||
|
"linux" "392"
|
||||||
|
}
|
||||||
|
"GetVelocity"
|
||||||
|
{
|
||||||
|
"windows" "130"
|
||||||
|
"linux" "131"
|
||||||
|
}
|
||||||
|
"EyeAngles"
|
||||||
|
{
|
||||||
|
"windows" "122"
|
||||||
|
"linux" "123"
|
||||||
|
}
|
||||||
|
"AcceptInput"
|
||||||
|
{
|
||||||
|
"windows" "34"
|
||||||
|
"linux" "35"
|
||||||
|
}
|
||||||
|
"DispatchKeyValue"
|
||||||
|
{
|
||||||
|
"windows" "29"
|
||||||
|
"linux" "28"
|
||||||
|
}
|
||||||
|
"DispatchKeyValueFloat"
|
||||||
|
{
|
||||||
|
"windows" "28"
|
||||||
|
"linux" "29"
|
||||||
|
}
|
||||||
|
"DispatchKeyValueVector"
|
||||||
|
{
|
||||||
|
"windows" "27"
|
||||||
|
"linux" "30"
|
||||||
|
}
|
||||||
|
"SetEntityModel"
|
||||||
|
{
|
||||||
|
"windows" "23"
|
||||||
|
"linux" "24"
|
||||||
|
}
|
||||||
|
"WeaponEquip"
|
||||||
|
{
|
||||||
|
"windows" "230"
|
||||||
|
"linux" "231"
|
||||||
|
}
|
||||||
|
"Activate"
|
||||||
|
{
|
||||||
|
"windows" "31"
|
||||||
|
"linux" "32"
|
||||||
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "371"
|
||||||
|
"linux" "372"
|
||||||
|
}
|
||||||
|
"FireOutputBackup"
|
||||||
|
{
|
||||||
|
"windows" "6"
|
||||||
|
"linux" "10"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"FindEntityByClassname"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x2A\x2A\x57\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\xFF\xD2\x8B\x00\x25\x2A\x2A\x2A\x2A\x40\xC1\xE0\x2A\x8B\x3C\x30\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x2A\x2A\x8B\x2D\x2A\x2A\x2A\x2A\x8D\xA4\x2A\x2A\x2A\x2A\x2A\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x2A\xEB\x2A\x39"
|
||||||
|
"linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
|
||||||
|
}
|
||||||
|
"CreateEntityByName"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@_Z18CreateEntityByNamePKci"
|
||||||
|
"windows" "\x56\x8B\x74\x24\x2A\x57\x8B\x7C\x24\x2A\x83\xFE\xFF\x74\x2A\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x2A\x56\xFF\xD2"
|
||||||
|
}
|
||||||
|
"DispatchSpawn"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@_Z13DispatchSpawnP11CBaseEntity"
|
||||||
|
"windows" "\x53\x55\x56\x8B\x74\x2A\x2A\x57\x85\xF6\x0F\x2A\x2A\x2A\x2A\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x2A\x8B\xCB"
|
||||||
|
}
|
||||||
|
"FireOutput"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x81\xEC\x1C\x01\x00\x00\x53\x55\x56\x8B\x71\x14\x57\x89"
|
||||||
|
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
"Games"
|
"Games"
|
||||||
{
|
{
|
||||||
/* Insurgency (2009-07-10) */
|
|
||||||
"insurgency"
|
"insurgency"
|
||||||
{
|
{
|
||||||
"Offsets"
|
"Offsets"
|
||||||
@@ -82,9 +81,33 @@
|
|||||||
"windows" "288"
|
"windows" "288"
|
||||||
"linux" "289"
|
"linux" "289"
|
||||||
}
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "274"
|
||||||
|
"linux" "275"
|
||||||
|
}
|
||||||
|
"g_pGameRules"
|
||||||
|
{
|
||||||
|
"windows" "2"
|
||||||
|
}
|
||||||
|
"FireOutputBackup"
|
||||||
|
{
|
||||||
|
"windows" "6"
|
||||||
|
"linux" "6"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
"Signatures"
|
"Signatures"
|
||||||
{
|
{
|
||||||
|
"CreateGameRulesObject"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x6A\x01\xFF\x50"
|
||||||
|
}
|
||||||
|
"g_pGameRules"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"linux" "@g_pGameRules"
|
||||||
|
}
|
||||||
"FireOutput"
|
"FireOutput"
|
||||||
{
|
{
|
||||||
"library" "server"
|
"library" "server"
|
||||||
@@ -100,9 +123,15 @@
|
|||||||
"CreateEntityByName"
|
"CreateEntityByName"
|
||||||
{
|
{
|
||||||
"library" "server"
|
"library" "server"
|
||||||
"windows" "\x56\x8B\x74\x24\x0C\x57\x8B\x7C\x24\x0C\x83\x2A\x2A\x74\x27\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x2A\x2A\x56\xFF\xD2\xA3\xCC"
|
"windows" "\x56\x8B\x74\x24\x0C\x57\x8B\x7C\x24\x0C\x83\x2A\x2A\x74\x27\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x2A\x2A\x56\xFF\xD2\xA3"
|
||||||
"linux" "@_Z18CreateEntityByNamePKci"
|
"linux" "@_Z18CreateEntityByNamePKci"
|
||||||
}
|
}
|
||||||
|
"FindEntityByClassname"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x2A\x2A\x57\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\xFF\xD2\x8B\x00\x25\x2A\x2A\x2A\x2A\x40\xC1\xE0\x2A\x8B\x3C\x30\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x2A\x2A\x8B\x2D\x2A\x2A\x2A\x2A\x8D\xA4\x24\x2A\x2A\x2A\x2A\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x2A\xEB\x2A\x39"
|
||||||
|
"linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,90 +11,128 @@
|
|||||||
|
|
||||||
"Games"
|
"Games"
|
||||||
{
|
{
|
||||||
/* Obsidian Conflict 1.3 */
|
/* Obsidian Conflict 1.35 */
|
||||||
"obsidian"
|
"obsidian"
|
||||||
{
|
{
|
||||||
"Offsets"
|
"Offsets"
|
||||||
{
|
{
|
||||||
"GiveNamedItem"
|
"GiveNamedItem"
|
||||||
{
|
{
|
||||||
"windows" "350"
|
"windows" "351"
|
||||||
"linux" "351"
|
|
||||||
}
|
}
|
||||||
"RemovePlayerItem"
|
"RemovePlayerItem"
|
||||||
{
|
{
|
||||||
"windows" "237"
|
"windows" "237"
|
||||||
"linux" "238"
|
|
||||||
}
|
}
|
||||||
"Weapon_GetSlot"
|
"Weapon_GetSlot"
|
||||||
{
|
{
|
||||||
"windows" "235"
|
"windows" "235"
|
||||||
"linux" "236"
|
|
||||||
}
|
}
|
||||||
"Ignite"
|
"Ignite"
|
||||||
{
|
{
|
||||||
"windows" "190"
|
"windows" "190"
|
||||||
"linux" "191"
|
|
||||||
}
|
}
|
||||||
"Extinguish"
|
"Extinguish"
|
||||||
{
|
{
|
||||||
"windows" "194"
|
"windows" "194"
|
||||||
"linux" "195"
|
|
||||||
}
|
}
|
||||||
"Teleport"
|
"Teleport"
|
||||||
{
|
{
|
||||||
"windows" "100"
|
"windows" "100"
|
||||||
"linux" "101"
|
|
||||||
}
|
}
|
||||||
"CommitSuicide"
|
"CommitSuicide"
|
||||||
{
|
{
|
||||||
"windows" "395"
|
"windows" "396"
|
||||||
"linux" "395"
|
|
||||||
}
|
}
|
||||||
"GetVelocity"
|
"GetVelocity"
|
||||||
{
|
{
|
||||||
"windows" "127"
|
"windows" "127"
|
||||||
"linux" "128"
|
|
||||||
}
|
}
|
||||||
"EyeAngles"
|
"EyeAngles"
|
||||||
{
|
{
|
||||||
"windows" "119"
|
"windows" "119"
|
||||||
"linux" "120"
|
|
||||||
}
|
}
|
||||||
"AcceptInput"
|
"AcceptInput"
|
||||||
{
|
{
|
||||||
"windows" "34"
|
"windows" "34"
|
||||||
"linux" "35"
|
|
||||||
}
|
}
|
||||||
"DispatchKeyValue"
|
"DispatchKeyValue"
|
||||||
{
|
{
|
||||||
"windows" "29"
|
"windows" "29"
|
||||||
"linux" "28"
|
|
||||||
}
|
}
|
||||||
"DispatchKeyValueFloat"
|
"DispatchKeyValueFloat"
|
||||||
{
|
{
|
||||||
"windows" "28"
|
"windows" "28"
|
||||||
"linux" "29"
|
|
||||||
}
|
}
|
||||||
"DispatchKeyValueVector"
|
"DispatchKeyValueVector"
|
||||||
{
|
{
|
||||||
"windows" "27"
|
"windows" "27"
|
||||||
"linux" "30"
|
|
||||||
}
|
}
|
||||||
"SetEntityModel"
|
"SetEntityModel"
|
||||||
{
|
{
|
||||||
"windows" "23"
|
"windows" "23"
|
||||||
"linux" "24"
|
|
||||||
}
|
}
|
||||||
"WeaponEquip"
|
"WeaponEquip"
|
||||||
{
|
{
|
||||||
"windows" "228"
|
"windows" "228"
|
||||||
"linux" "229"
|
|
||||||
}
|
}
|
||||||
"Activate"
|
"Activate"
|
||||||
{
|
{
|
||||||
"windows" "31"
|
"windows" "31"
|
||||||
"linux" "32"
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "371"
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Offset into CBaseTempEntity constructor (vs2010 moved it!) */
|
||||||
|
"s_pTempEntities"
|
||||||
|
{
|
||||||
|
"windows" "19"
|
||||||
|
}
|
||||||
|
"GetTEName"
|
||||||
|
{
|
||||||
|
"windows" "4"
|
||||||
|
}
|
||||||
|
"GetTENext"
|
||||||
|
{
|
||||||
|
"windows" "8"
|
||||||
|
}
|
||||||
|
"TE_GetServerClass"
|
||||||
|
{
|
||||||
|
"windows" "0"
|
||||||
|
}
|
||||||
|
"FireOutputBackup"
|
||||||
|
{
|
||||||
|
"windows" "9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"CBaseTempEntity"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x55\x8B\xEC\x8B\xC1\x8B\x2A\x2A\xC7\x2A\x2A\x2A\x2A\x2A\x89\x2A\x2A\x8B\x15\x2A\x2A\x2A\x2A\x89"
|
||||||
|
}
|
||||||
|
"DispatchSpawn"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x55\x8B\xEC\x51\x53\x56\x8B\x75\x2A\x57\x85\xF6\x0F\x2A\x2A\x2A\x2A\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x8B\x2A\x8B"
|
||||||
|
}
|
||||||
|
"CreateEntityByName"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x55\x8B\xEC\x56\x8B\x2A\x2A\x57\x8B\x2A\x2A\x83\x2A\x2A\x74\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x2A\x56\xFF\xD2"
|
||||||
|
}
|
||||||
|
"FindEntityByClassname"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x55\x8B\xEC\x53\x56\x8B\xF1\x8B\x2A\x2A\x57\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\xFF\xD2\x8B\x00\x25\x2A\x2A\x2A\x2A\x40\x03\xC0\x8B\x3C\xC6\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74"
|
||||||
|
}
|
||||||
|
"FireOutput"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x55\x8B\xEC\x81\xEC\x2A\x2A\x2A\x2A\x53\x56\x8B\x2A\x2A\x57\x89"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,48 +19,48 @@
|
|||||||
/* CBasePlayer */
|
/* CBasePlayer */
|
||||||
"GiveNamedItem"
|
"GiveNamedItem"
|
||||||
{
|
{
|
||||||
"windows" "328"
|
"windows" "352"
|
||||||
"linux" "329"
|
"linux" "353"
|
||||||
}
|
}
|
||||||
"RemovePlayerItem"
|
"RemovePlayerItem"
|
||||||
{
|
{
|
||||||
"windows" "226"
|
"windows" "239"
|
||||||
"linux" "227"
|
"linux" "240"
|
||||||
}
|
}
|
||||||
"Weapon_GetSlot"
|
"Weapon_GetSlot"
|
||||||
{
|
{
|
||||||
"windows" "224"
|
"windows" "237"
|
||||||
"linux" "225"
|
"linux" "238"
|
||||||
}
|
}
|
||||||
"Ignite"
|
"Ignite"
|
||||||
{
|
{
|
||||||
"windows" "188"
|
"windows" "194"
|
||||||
"linux" "189"
|
"linux" "195"
|
||||||
}
|
}
|
||||||
"Extinguish"
|
"Extinguish"
|
||||||
{
|
{
|
||||||
"windows" "189"
|
"windows" "198"
|
||||||
"linux" "190"
|
"linux" "199"
|
||||||
}
|
}
|
||||||
"Teleport"
|
"Teleport"
|
||||||
{
|
{
|
||||||
"windows" "98"
|
"windows" "101"
|
||||||
"linux" "99"
|
"linux" "102"
|
||||||
}
|
}
|
||||||
"CommitSuicide"
|
"CommitSuicide"
|
||||||
{
|
{
|
||||||
"windows" "356"
|
"windows" "393"
|
||||||
"linux" "357"
|
"linux" "393"
|
||||||
}
|
}
|
||||||
"GetVelocity"
|
"GetVelocity"
|
||||||
{
|
{
|
||||||
"windows" "126"
|
"windows" "131"
|
||||||
"linux" "127"
|
"linux" "132"
|
||||||
}
|
}
|
||||||
"EyeAngles"
|
"EyeAngles"
|
||||||
{
|
{
|
||||||
"windows" "118"
|
"windows" "123"
|
||||||
"linux" "119"
|
"linux" "124"
|
||||||
}
|
}
|
||||||
"AcceptInput"
|
"AcceptInput"
|
||||||
{
|
{
|
||||||
@@ -69,34 +69,53 @@
|
|||||||
}
|
}
|
||||||
"DispatchKeyValue"
|
"DispatchKeyValue"
|
||||||
{
|
{
|
||||||
"windows" "31"
|
"windows" "29"
|
||||||
"linux" "30"
|
"linux" "28"
|
||||||
}
|
}
|
||||||
"DispatchKeyValueFloat"
|
"DispatchKeyValueFloat"
|
||||||
{
|
{
|
||||||
"windows" "30"
|
"windows" "28"
|
||||||
"linux" "31"
|
"linux" "29"
|
||||||
}
|
}
|
||||||
"DispatchKeyValueVector"
|
"DispatchKeyValueVector"
|
||||||
{
|
{
|
||||||
"windows" "29"
|
"windows" "27"
|
||||||
"linux" "32"
|
"linux" "30"
|
||||||
}
|
}
|
||||||
"SetEntityModel"
|
"SetEntityModel"
|
||||||
{
|
{
|
||||||
"windows" "25"
|
"windows" "24"
|
||||||
"linux" "26"
|
"linux" "25"
|
||||||
}
|
}
|
||||||
"WeaponEquip"
|
"WeaponEquip"
|
||||||
{
|
{
|
||||||
"windows" "217"
|
"windows" "230"
|
||||||
"linux" "218"
|
"linux" "231"
|
||||||
}
|
}
|
||||||
"Activate"
|
"Activate"
|
||||||
{
|
{
|
||||||
"windows" "32"
|
"windows" "32"
|
||||||
"linux" "33"
|
"linux" "33"
|
||||||
}
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "372"
|
||||||
|
"linux" "373"
|
||||||
|
}
|
||||||
|
"FireOutputBackup"
|
||||||
|
{
|
||||||
|
"windows" "6"
|
||||||
|
"linux" "10"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"FireOutput"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x81\xEC\x2A\x2A\x2A\x2A\x53\x55\x56\x8B\x71\x2A\x85\xF6\x57"
|
||||||
|
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
"Games"
|
||||||
|
{
|
||||||
|
/* Resistance and Liberation Open Beta 1.1 */
|
||||||
|
"RnLBeta"
|
||||||
|
{
|
||||||
|
"Offsets"
|
||||||
|
{
|
||||||
|
"GiveNamedItem"
|
||||||
|
{
|
||||||
|
"windows" "356"
|
||||||
|
}
|
||||||
|
"RemovePlayerItem"
|
||||||
|
{
|
||||||
|
"windows" "238"
|
||||||
|
}
|
||||||
|
"Weapon_GetSlot"
|
||||||
|
{
|
||||||
|
"windows" "236"
|
||||||
|
}
|
||||||
|
"Ignite"
|
||||||
|
{
|
||||||
|
"windows" "193"
|
||||||
|
}
|
||||||
|
"Extinguish"
|
||||||
|
{
|
||||||
|
"windows" "197"
|
||||||
|
}
|
||||||
|
"Teleport"
|
||||||
|
{
|
||||||
|
"windows" "100"
|
||||||
|
}
|
||||||
|
"CommitSuicide"
|
||||||
|
{
|
||||||
|
"windows" "397"
|
||||||
|
}
|
||||||
|
"GetVelocity"
|
||||||
|
{
|
||||||
|
"windows" "130"
|
||||||
|
}
|
||||||
|
"EyeAngles"
|
||||||
|
{
|
||||||
|
"windows" "122"
|
||||||
|
}
|
||||||
|
"AcceptInput"
|
||||||
|
{
|
||||||
|
"windows" "34"
|
||||||
|
}
|
||||||
|
"DispatchKeyValue"
|
||||||
|
{
|
||||||
|
"windows" "29"
|
||||||
|
}
|
||||||
|
"DispatchKeyValueFloat"
|
||||||
|
{
|
||||||
|
"windows" "28"
|
||||||
|
}
|
||||||
|
"DispatchKeyValueVector"
|
||||||
|
{
|
||||||
|
"windows" "27"
|
||||||
|
}
|
||||||
|
"SetEntityModel"
|
||||||
|
{
|
||||||
|
"windows" "23"
|
||||||
|
}
|
||||||
|
"WeaponEquip"
|
||||||
|
{
|
||||||
|
"windows" "229"
|
||||||
|
}
|
||||||
|
"Activate"
|
||||||
|
{
|
||||||
|
"windows" "31"
|
||||||
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "376"
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Offset into CBaseTempEntity constructor (vs2010 moved it!) */
|
||||||
|
"s_pTempEntities"
|
||||||
|
{
|
||||||
|
"windows" "19"
|
||||||
|
}
|
||||||
|
"GetTEName"
|
||||||
|
{
|
||||||
|
"windows" "4"
|
||||||
|
}
|
||||||
|
"GetTENext"
|
||||||
|
{
|
||||||
|
"windows" "8"
|
||||||
|
}
|
||||||
|
"TE_GetServerClass"
|
||||||
|
{
|
||||||
|
"windows" "0"
|
||||||
|
}
|
||||||
|
"FireOutputBackup"
|
||||||
|
{
|
||||||
|
"windows" "9"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"CBaseTempEntity"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x55\x8B\xEC\x8B\xC1\x8B\x2A\x2A\xC7\x2A\x2A\x2A\x2A\x2A\x89\x2A\x2A\x8B\x15\x2A\x2A\x2A\x2A\x89"
|
||||||
|
}
|
||||||
|
"DispatchSpawn"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x55\x8B\xEC\x51\x53\x56\x8B\x75\x2A\x57\x85\xF6\x0F\x2A\x2A\x2A\x2A\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x8B\x2A\x8B"
|
||||||
|
}
|
||||||
|
"CreateEntityByName"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x55\x8B\xEC\x56\x8B\x2A\x2A\x57\x8B\x2A\x2A\x83\x2A\x2A\x74\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x2A\x56\xFF\xD2"
|
||||||
|
}
|
||||||
|
"FindEntityByClassname"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x55\x8B\xEC\x53\x56\x8B\xF1\x8B\x2A\x2A\x57\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\xFF\xD2\x8B\x00\x25\x2A\x2A\x2A\x2A\x40\x03\xC0\x8B\x3C\xC6\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74"
|
||||||
|
}
|
||||||
|
"FireOutput"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x81\xEC\x1C\x01\x00\x00\x53\x55\x56\x8B\x71\x14\x85\xF6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
"Games"
|
"Games"
|
||||||
{
|
{
|
||||||
/* SourceForts */
|
/* SourceForts */
|
||||||
"SourceForts"
|
"sourceforts"
|
||||||
{
|
{
|
||||||
"Offsets"
|
"Offsets"
|
||||||
{
|
{
|
||||||
@@ -97,6 +97,11 @@
|
|||||||
"windows" "32"
|
"windows" "32"
|
||||||
"linux" "33"
|
"linux" "33"
|
||||||
}
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "346"
|
||||||
|
"linux" "347"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -107,6 +107,38 @@
|
|||||||
"windows" "375"
|
"windows" "375"
|
||||||
"linux" "376"
|
"linux" "376"
|
||||||
}
|
}
|
||||||
|
"FireOutputBackup"
|
||||||
|
{
|
||||||
|
"windows" "6"
|
||||||
|
"linux" "10"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Signatures"
|
||||||
|
{
|
||||||
|
"FindEntityByClassname"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x10\x57\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x08\xFF\xD2\x8B\x00\x25\xFF\x0F\x00\x00\x40\xC1\xE0\x04\x8B\x3C\x30\xEB\x06\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A\x8D\xA4\x24\x00\x00\x00\x00\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x04\xEB\x2A\x39\x2A\x2A\x74\x2A\x53"
|
||||||
|
"linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
|
||||||
|
}
|
||||||
|
"DispatchSpawn"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x53\x55\x56\x8B\x74\x24\x10\x57\x85\xF6\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x64\x8B\xCB"
|
||||||
|
"linux" "@_Z13DispatchSpawnP11CBaseEntity"
|
||||||
|
}
|
||||||
|
"CreateEntityByName"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x56\x8B\x74\x24\x0C\x57\x8B\x7C\x24\x0C\x83\xFE\xFF\x74\x27\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x54\x56\xFF\xD2"
|
||||||
|
"linux" "@_Z18CreateEntityByNamePKci"
|
||||||
|
}
|
||||||
|
"FireOutput"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x81\xEC\x2A\x2A\x2A\x2A\x53\x55\x56\x8B\x71\x2A\x57\x89"
|
||||||
|
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -28,18 +28,18 @@
|
|||||||
}
|
}
|
||||||
"Weapon_GetSlot"
|
"Weapon_GetSlot"
|
||||||
{
|
{
|
||||||
"windows" "256"
|
"windows" "257"
|
||||||
"linux" "257"
|
"linux" "258"
|
||||||
}
|
}
|
||||||
"Ignite"
|
"Ignite"
|
||||||
{
|
{
|
||||||
"windows" "201"
|
"windows" "202"
|
||||||
"linux" "202"
|
"linux" "203"
|
||||||
}
|
}
|
||||||
"Extinguish"
|
"Extinguish"
|
||||||
{
|
{
|
||||||
"windows" "205"
|
"windows" "206"
|
||||||
"linux" "206"
|
"linux" "207"
|
||||||
}
|
}
|
||||||
"Teleport"
|
"Teleport"
|
||||||
{
|
{
|
||||||
@@ -53,13 +53,13 @@
|
|||||||
}
|
}
|
||||||
"GetVelocity"
|
"GetVelocity"
|
||||||
{
|
{
|
||||||
"windows" "136"
|
"windows" "137"
|
||||||
"linux" "137"
|
"linux" "138"
|
||||||
}
|
}
|
||||||
"EyeAngles"
|
"EyeAngles"
|
||||||
{
|
{
|
||||||
"windows" "127"
|
"windows" "128"
|
||||||
"linux" "128"
|
"linux" "129"
|
||||||
}
|
}
|
||||||
"DispatchKeyValue"
|
"DispatchKeyValue"
|
||||||
{
|
{
|
||||||
@@ -88,8 +88,8 @@
|
|||||||
}
|
}
|
||||||
"WeaponEquip"
|
"WeaponEquip"
|
||||||
{
|
{
|
||||||
"windows" "249"
|
"windows" "250"
|
||||||
"linux" "250"
|
"linux" "251"
|
||||||
}
|
}
|
||||||
"Activate"
|
"Activate"
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -101,6 +101,11 @@
|
|||||||
"windows" "32"
|
"windows" "32"
|
||||||
"linux" "33"
|
"linux" "33"
|
||||||
}
|
}
|
||||||
|
"PlayerRunCmd"
|
||||||
|
{
|
||||||
|
"windows" "347"
|
||||||
|
"linux" "348"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
"Signatures"
|
"Signatures"
|
||||||
|
|||||||
@@ -99,11 +99,6 @@
|
|||||||
}
|
}
|
||||||
"Signatures"
|
"Signatures"
|
||||||
{
|
{
|
||||||
"CreateGameRulesObject"
|
|
||||||
{
|
|
||||||
"library" "server"
|
|
||||||
"windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2C\x6A\x01"
|
|
||||||
}
|
|
||||||
"FindEntityByClassname"
|
"FindEntityByClassname"
|
||||||
{
|
{
|
||||||
"library" "server"
|
"library" "server"
|
||||||
@@ -120,7 +115,7 @@
|
|||||||
{
|
{
|
||||||
"library" "server"
|
"library" "server"
|
||||||
"linux" "@_Z13DispatchSpawnP11CBaseEntity"
|
"linux" "@_Z13DispatchSpawnP11CBaseEntity"
|
||||||
"windows" "\x53\x55\x56\x8B\x74\x24\x10\x2A\x85\xF6\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x60\x8B\xCB"
|
"windows" "\x53\x55\x56\x8B\x74\x2A\x2A\x57\x85\xF6\x0F\x2A\x2A\x2A\x2A\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x2A\x8B\xCB"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,7 +92,6 @@
|
|||||||
|
|
||||||
"game.garrysmod.txt"
|
"game.garrysmod.txt"
|
||||||
{
|
{
|
||||||
"engine" "original"
|
|
||||||
"game" "garrysmod"
|
"game" "garrysmod"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -143,4 +142,16 @@
|
|||||||
{
|
{
|
||||||
"game" "bg2"
|
"game" "bg2"
|
||||||
}
|
}
|
||||||
|
"game.cspromod.txt"
|
||||||
|
{
|
||||||
|
"game" "cspromod"
|
||||||
|
}
|
||||||
|
"game.gesource.txt"
|
||||||
|
{
|
||||||
|
"game" "gesource"
|
||||||
|
}
|
||||||
|
"game.rnlbeta.txt"
|
||||||
|
{
|
||||||
|
"game" "RnLBeta"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,13 +18,13 @@
|
|||||||
"RoundRespawn"
|
"RoundRespawn"
|
||||||
{
|
{
|
||||||
"library" "server"
|
"library" "server"
|
||||||
"windows" "\x56\x8B\xF1\x8B\x06\xFF\x90\x2A\x04\x00\x00\x8B\x86\x2A\x0D\x00"
|
"windows" "\x56\x8B\xF1\x8B\x06\x8B\x2A\x2A\x2A\x2A\x2A\xFF\xD2\x8B\x2A\x2A\x2A\x2A\x2A\x85"
|
||||||
"linux" "@_ZN9CCSPlayer12RoundRespawnEv"
|
"linux" "@_ZN9CCSPlayer12RoundRespawnEv"
|
||||||
}
|
}
|
||||||
"SwitchTeam"
|
"SwitchTeam"
|
||||||
{
|
{
|
||||||
"library" "server"
|
"library" "server"
|
||||||
"windows" "\x83\xEC\x10\x56\x57\x8B\x7C\x24\x1C\x57\x8B\xF1\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\x85\xC0\x0F\x84\xEA\x00\x00\x00\x83\xFF\x03\x74\x09\x83\xFF\x02\x0F\x85\xDC\x00\x00\x00\x8B\xCE\xE8\x2A\x2A\x2A\x2A\x3B\xF8\x0F\x84\xDC\x00\x00\x00\x57\x8B\xCE\xC6\x86\x2A\x2A"
|
"windows" "\x83\xEC\x10\x56\x57\x8B\x7C\x24\x1C\x57\x8B\xF1\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\x85\xC0\x0F\x2A\x2A\x2A\x2A\x2A\x83\xFF\x03\x74\x09\x83\xFF\x02\x0F\x2A\x2A\x2A\x2A\x2A\x8B\xCE\xE8\x2A\x2A\x2A\x2A\x3B"
|
||||||
"linux" "@_ZN9CCSPlayer10SwitchTeamEi"
|
"linux" "@_ZN9CCSPlayer10SwitchTeamEi"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
"Burn"
|
"Burn"
|
||||||
{
|
{
|
||||||
"library" "server"
|
"library" "server"
|
||||||
"windows" "\x56\x8B\xF1\x8B\x8E\x2A\x2A\x00\x00\x8B\x01\x8B\x90\x2A\x2A\x00\x00\xFF\xD2\x84\xC0"
|
"windows" "\x56\x8B\xF1\x8B\x8E\x2A\x2A\x00\x00\x8B\x01\x8B\x90\x2A\x2A\x00\x00\xFF\xD2\x84\xC0\x0F\x2A\x2A\x2A\x2A\x2A\x8B"
|
||||||
"linux" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBase"
|
"linux" "@_ZN15CTFPlayerShared4BurnEP9CTFPlayerP13CTFWeaponBase"
|
||||||
}
|
}
|
||||||
"RemoveDisguise"
|
"RemoveDisguise"
|
||||||
@@ -51,13 +51,43 @@
|
|||||||
"linux" "@_ZN14CTFCompoundBow26CalcIsAttackCriticalHelperEv"
|
"linux" "@_ZN14CTFCompoundBow26CalcIsAttackCriticalHelperEv"
|
||||||
"windows" "\xE8\x2A\x2A\x2A\x2A\x85\xC0\x74\x14\x6A\x0B"
|
"windows" "\xE8\x2A\x2A\x2A\x2A\x85\xC0\x74\x14\x6A\x0B"
|
||||||
}
|
}
|
||||||
|
"Regenerate"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x83\xEC\x08\xD9\xE8\x53\x55\xD9\x2A\x2A\x2A\x56\x8B\xF1\x8B\x06\x8B\x90"
|
||||||
|
"linux" "@_ZN9CTFPlayer10RegenerateEv"
|
||||||
|
}
|
||||||
|
"AddCondition"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x56\x57\x8B\x7C\x2A\x2A\x8B\xF1\x8B\xCF\xBA\x01\x00\x00\x00\xD3\xE2\x8D\x46\x2A\x8D\x4C\x2A\x2A\x51\x0B\x10"
|
||||||
|
"linux" "@_ZN15CTFPlayerShared7AddCondEif"
|
||||||
|
}
|
||||||
|
"RemoveCondition"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x56\x57\x8B\x7C\x2A\x2A\x8B\xF1\x8B\xCF\xBA\x01\x00\x00\x00\xD3\xE2\x8D\x46\x2A\x8D\x4C\x2A\x2A\x51\xF7\xD2"
|
||||||
|
"linux" "@_ZN15CTFPlayerShared10RemoveCondEi"
|
||||||
|
}
|
||||||
|
"SetPowerplayEnabled"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x80\x7C\x2A\x2A\x2A\x56\x8B\xF1\x74\x2A\xA1\x2A\x2A\x2A\x2A\xD9\x2A\x2A\x57"
|
||||||
|
"linux" "@_ZN9CTFPlayer19SetPowerplayEnabledEb"
|
||||||
|
}
|
||||||
|
"StunPlayer"
|
||||||
|
{
|
||||||
|
"library" "server"
|
||||||
|
"windows" "\x51\xD9\x2A\x2A\x2A\x2A\x2A\x56\x83\xEC\x2A\xD9\x2A\x2A\x2A\x8B\xF1\xD9\xEE\xD9\x2A\x2A\x2A\xD9\xE8"
|
||||||
|
"linux" "@_ZN15CTFPlayerShared10StunPlayerEffiP9CTFPlayer"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
"Offsets"
|
"Offsets"
|
||||||
{
|
{
|
||||||
"ForceRespawn"
|
"ForceRespawn"
|
||||||
{
|
{
|
||||||
"windows" "312"
|
"windows" "313"
|
||||||
"linux" "313"
|
"linux" "314"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -526,9 +526,7 @@ FetchUser(Handle:db, client)
|
|||||||
|
|
||||||
FetchUsersWeCan(Handle:db)
|
FetchUsersWeCan(Handle:db)
|
||||||
{
|
{
|
||||||
new max_clients = GetMaxClients();
|
for (new i=1; i<=MaxClients; i++)
|
||||||
|
|
||||||
for (new i=1; i<=max_clients; i++)
|
|
||||||
{
|
{
|
||||||
if (PlayerAuth[i] && GetUserAdmin(i) == INVALID_ADMIN_ID)
|
if (PlayerAuth[i] && GetUserAdmin(i) == INVALID_ADMIN_ID)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -45,8 +45,6 @@ public Plugin:myinfo =
|
|||||||
url = "http://www.sourcemod.net/"
|
url = "http://www.sourcemod.net/"
|
||||||
};
|
};
|
||||||
|
|
||||||
new g_maxPlayers;
|
|
||||||
|
|
||||||
/* Forwards */
|
/* Forwards */
|
||||||
new Handle:hOnAdminMenuReady = INVALID_HANDLE;
|
new Handle:hOnAdminMenuReady = INVALID_HANDLE;
|
||||||
new Handle:hOnAdminMenuCreated = INVALID_HANDLE;
|
new Handle:hOnAdminMenuCreated = INVALID_HANDLE;
|
||||||
@@ -97,8 +95,6 @@ public OnConfigsExecuted()
|
|||||||
|
|
||||||
public OnMapStart()
|
public OnMapStart()
|
||||||
{
|
{
|
||||||
g_maxPlayers = GetMaxClients();
|
|
||||||
|
|
||||||
ParseConfigs();
|
ParseConfigs();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -215,14 +211,13 @@ public Action:Command_DisplayMenu(client, args)
|
|||||||
|
|
||||||
stock UTIL_AddTargetsToMenu2(Handle:menu, source_client, flags)
|
stock UTIL_AddTargetsToMenu2(Handle:menu, source_client, flags)
|
||||||
{
|
{
|
||||||
new max_clients = GetMaxClients();
|
|
||||||
decl String:user_id[12];
|
decl String:user_id[12];
|
||||||
decl String:name[MAX_NAME_LENGTH];
|
decl String:name[MAX_NAME_LENGTH];
|
||||||
decl String:display[MAX_NAME_LENGTH+12];
|
decl String:display[MAX_NAME_LENGTH+12];
|
||||||
|
|
||||||
new num_clients;
|
new num_clients;
|
||||||
|
|
||||||
for (new i = 1; i <= max_clients; i++)
|
for (new i = 1; i <= MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (!IsClientConnected(i) || IsClientInKickQueue(i))
|
if (!IsClientConnected(i) || IsClientInKickQueue(i))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -512,7 +512,7 @@ public ParamCheck(client)
|
|||||||
new String:temp[4];
|
new String:temp[4];
|
||||||
|
|
||||||
//loop through players. Add name as text and name/userid/steamid as info
|
//loop through players. Add name as text and name/userid/steamid as info
|
||||||
for (new i=1; i<=g_maxPlayers; i++)
|
for (new i=1; i<=MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (IsClientInGame(i))
|
if (IsClientInGame(i))
|
||||||
{
|
{
|
||||||
|
|||||||
+1
-1
@@ -60,7 +60,7 @@ public OnPluginStart()
|
|||||||
LoadTranslations("basebans.phrases");
|
LoadTranslations("basebans.phrases");
|
||||||
|
|
||||||
RegAdminCmd("sm_ban", Command_Ban, ADMFLAG_BAN, "sm_ban <#userid|name> <minutes|0> [reason]");
|
RegAdminCmd("sm_ban", Command_Ban, ADMFLAG_BAN, "sm_ban <#userid|name> <minutes|0> [reason]");
|
||||||
RegAdminCmd("sm_unban", Command_Unban, ADMFLAG_UNBAN, "sm_unban <steamid>");
|
RegAdminCmd("sm_unban", Command_Unban, ADMFLAG_UNBAN, "sm_unban <steamid|ip>");
|
||||||
RegAdminCmd("sm_addban", Command_AddBan, ADMFLAG_RCON, "sm_addban <time> <steamid> [reason]");
|
RegAdminCmd("sm_addban", Command_AddBan, ADMFLAG_RCON, "sm_addban <time> <steamid> [reason]");
|
||||||
RegAdminCmd("sm_banip", Command_BanIp, ADMFLAG_BAN, "sm_banip <ip|#userid|name> <time> [reason]");
|
RegAdminCmd("sm_banip", Command_BanIp, ADMFLAG_BAN, "sm_banip <ip|#userid|name> <time> [reason]");
|
||||||
|
|
||||||
|
|||||||
+1
-2
@@ -157,9 +157,8 @@ public Action:Command_Say(client, args)
|
|||||||
public ConVarChange_Alltalk(Handle:convar, const String:oldValue[], const String:newValue[])
|
public ConVarChange_Alltalk(Handle:convar, const String:oldValue[], const String:newValue[])
|
||||||
{
|
{
|
||||||
new mode = GetConVarInt(g_Cvar_Deadtalk);
|
new mode = GetConVarInt(g_Cvar_Deadtalk);
|
||||||
new maxClients = GetMaxClients();
|
|
||||||
|
|
||||||
for (new i = 1; i <= maxClients; i++)
|
for (new i = 1; i <= MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (!IsClientInGame(i))
|
if (!IsClientInGame(i))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -189,10 +189,9 @@ public Action:Command_Who(client, args)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* List all players */
|
/* List all players */
|
||||||
new maxClients = GetMaxClients();
|
|
||||||
decl String:flagstring[255];
|
decl String:flagstring[255];
|
||||||
|
|
||||||
for (new i=1; i<=maxClients; i++)
|
for (new i=1; i<=MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (!IsClientInGame(i))
|
if (!IsClientInGame(i))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -210,6 +210,12 @@ public Action:Command_Nextmap(client, args)
|
|||||||
|
|
||||||
public Action:Command_Motd(client, args)
|
public Action:Command_Motd(client, args)
|
||||||
{
|
{
|
||||||
|
if (client == 0)
|
||||||
|
{
|
||||||
|
ReplyToCommand(client, "[SM] %t", "Command is in-game only");
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
ShowMOTDPanel(client, "Message Of The Day", "motd", MOTDPANEL_TYPE_INDEX);
|
ShowMOTDPanel(client, "Message Of The Day", "motd", MOTDPANEL_TYPE_INDEX);
|
||||||
|
|
||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
|
|||||||
@@ -53,9 +53,7 @@ KillBeacon(client)
|
|||||||
|
|
||||||
KillAllBeacons()
|
KillAllBeacons()
|
||||||
{
|
{
|
||||||
new maxclients = GetMaxClients();
|
for (new i = 1; i <= MaxClients; i++)
|
||||||
|
|
||||||
for (new i = 1; i <= maxclients; i++)
|
|
||||||
{
|
{
|
||||||
KillBeacon(i);
|
KillBeacon(i);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,8 +74,7 @@ KillDrugTimer(client)
|
|||||||
|
|
||||||
KillAllDrugs()
|
KillAllDrugs()
|
||||||
{
|
{
|
||||||
new maxclients = GetMaxClients();
|
for (new i = 1; i <= MaxClients; i++)
|
||||||
for (new i = 1; i <= maxclients; i++)
|
|
||||||
{
|
{
|
||||||
if (g_DrugTimers[i] != INVALID_HANDLE)
|
if (g_DrugTimers[i] != INVALID_HANDLE)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -58,9 +58,7 @@ KillFireBomb(client)
|
|||||||
|
|
||||||
KillAllFireBombs()
|
KillAllFireBombs()
|
||||||
{
|
{
|
||||||
new maxclients = GetMaxClients();
|
for (new i = 1; i <= MaxClients; i++)
|
||||||
|
|
||||||
for (new i = 1; i <= maxclients; i++)
|
|
||||||
{
|
{
|
||||||
KillFireBomb(i);
|
KillFireBomb(i);
|
||||||
}
|
}
|
||||||
@@ -162,9 +160,8 @@ public Action:Timer_FireBomb(Handle:timer, any:value)
|
|||||||
if (GetConVarInt(g_Cvar_FireBombMode) > 0)
|
if (GetConVarInt(g_Cvar_FireBombMode) > 0)
|
||||||
{
|
{
|
||||||
new teamOnly = ((GetConVarInt(g_Cvar_FireBombMode) == 1) ? true : false);
|
new teamOnly = ((GetConVarInt(g_Cvar_FireBombMode) == 1) ? true : false);
|
||||||
new maxClients = GetMaxClients();
|
|
||||||
|
|
||||||
for (new i = 1; i <= maxClients; i++)
|
for (new i = 1; i <= MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (!IsClientInGame(i) || !IsPlayerAlive(i) || i == client)
|
if (!IsClientInGame(i) || !IsPlayerAlive(i) || i == client)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -105,9 +105,7 @@ KillFreezeBomb(client)
|
|||||||
|
|
||||||
KillAllFreezes( )
|
KillAllFreezes( )
|
||||||
{
|
{
|
||||||
new maxclients = GetMaxClients( );
|
for(new i = 1; i <= MaxClients; i++)
|
||||||
|
|
||||||
for(new i = 1; i <= maxclients; i++)
|
|
||||||
{
|
{
|
||||||
if (g_FreezeSerial[i] != 0)
|
if (g_FreezeSerial[i] != 0)
|
||||||
{
|
{
|
||||||
@@ -254,9 +252,8 @@ public Action:Timer_FreezeBomb(Handle:timer, any:value)
|
|||||||
if (GetConVarInt(g_Cvar_FreezeBombMode) > 0)
|
if (GetConVarInt(g_Cvar_FreezeBombMode) > 0)
|
||||||
{
|
{
|
||||||
new bool:teamOnly = ((GetConVarInt(g_Cvar_FreezeBombMode) == 1) ? true : false);
|
new bool:teamOnly = ((GetConVarInt(g_Cvar_FreezeBombMode) == 1) ? true : false);
|
||||||
new maxClients = GetMaxClients( );
|
|
||||||
|
|
||||||
for (new i = 1; i <= maxClients; i++)
|
for (new i = 1; i <= MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (!IsClientInGame(i) || !IsPlayerAlive(i) || i == client)
|
if (!IsClientInGame(i) || !IsPlayerAlive(i) || i == client)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -57,9 +57,7 @@ KillTimeBomb(client)
|
|||||||
|
|
||||||
KillAllTimeBombs()
|
KillAllTimeBombs()
|
||||||
{
|
{
|
||||||
new maxclients = GetMaxClients();
|
for (new i = 1; i <= MaxClients; i++)
|
||||||
|
|
||||||
for (new i = 1; i <= maxclients; i++)
|
|
||||||
{
|
{
|
||||||
KillTimeBomb(i);
|
KillTimeBomb(i);
|
||||||
}
|
}
|
||||||
@@ -141,9 +139,8 @@ public Action:Timer_TimeBomb(Handle:timer, any:value)
|
|||||||
if (GetConVarInt(g_Cvar_TimeBombMode) > 0)
|
if (GetConVarInt(g_Cvar_TimeBombMode) > 0)
|
||||||
{
|
{
|
||||||
new teamOnly = ((GetConVarInt(g_Cvar_TimeBombMode) == 1) ? true : false);
|
new teamOnly = ((GetConVarInt(g_Cvar_TimeBombMode) == 1) ? true : false);
|
||||||
new maxClients = GetMaxClients();
|
|
||||||
|
|
||||||
for (new i = 1; i <= maxClients; i++)
|
for (new i = 1; i <= MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (!IsClientInGame(i) || !IsPlayerAlive(i) || i == client)
|
if (!IsClientInGame(i) || !IsPlayerAlive(i) || i == client)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ native GetArrayArray(Handle:array, index, any:buffer[], size=-1);
|
|||||||
* @noreturn
|
* @noreturn
|
||||||
* @error Invalid Handle, invalid index, or invalid block.
|
* @error Invalid Handle, invalid index, or invalid block.
|
||||||
*/
|
*/
|
||||||
native any:SetArrayCell(Handle:array, index, any:value, block=0, bool:asChar=false);
|
native SetArrayCell(Handle:array, index, any:value, block=0, bool:asChar=false);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets a string value in an array.
|
* Sets a string value in an array.
|
||||||
|
|||||||
@@ -601,7 +601,7 @@ native Float:GetClientTime(client);
|
|||||||
*
|
*
|
||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @param flow Traffic flowing direction.
|
* @param flow Traffic flowing direction.
|
||||||
* @return Latency.
|
* @return Latency, or -1 if network info is not available.
|
||||||
* @error Invalid client index, client not in game, or fake client.
|
* @error Invalid client index, client not in game, or fake client.
|
||||||
*/
|
*/
|
||||||
native Float:GetClientLatency(client, NetFlow:flow);
|
native Float:GetClientLatency(client, NetFlow:flow);
|
||||||
@@ -611,7 +611,7 @@ native Float:GetClientLatency(client, NetFlow:flow);
|
|||||||
*
|
*
|
||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @param flow Traffic flowing direction.
|
* @param flow Traffic flowing direction.
|
||||||
* @return Average latency.
|
* @return Latency, or -1 if network info is not available.
|
||||||
* @error Invalid client index, client not in game, or fake client.
|
* @error Invalid client index, client not in game, or fake client.
|
||||||
*/
|
*/
|
||||||
native Float:GetClientAvgLatency(client, NetFlow:flow);
|
native Float:GetClientAvgLatency(client, NetFlow:flow);
|
||||||
@@ -621,7 +621,7 @@ native Float:GetClientAvgLatency(client, NetFlow:flow);
|
|||||||
*
|
*
|
||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @param flow Traffic flowing direction.
|
* @param flow Traffic flowing direction.
|
||||||
* @return Average packet loss.
|
* @return Average packet loss, or -1 if network info is not available.
|
||||||
* @error Invalid client index, client not in game, or fake client.
|
* @error Invalid client index, client not in game, or fake client.
|
||||||
*/
|
*/
|
||||||
native Float:GetClientAvgLoss(client, NetFlow:flow);
|
native Float:GetClientAvgLoss(client, NetFlow:flow);
|
||||||
@@ -631,7 +631,7 @@ native Float:GetClientAvgLoss(client, NetFlow:flow);
|
|||||||
*
|
*
|
||||||
* @param client Player's index.
|
* @param client Player's index.
|
||||||
* @param flow Traffic flowing direction.
|
* @param flow Traffic flowing direction.
|
||||||
* @return Average packet choke.
|
* @return Average packet loss, or -1 if network info is not available.
|
||||||
* @error Invalid client index, client not in game, or fake client.
|
* @error Invalid client index, client not in game, or fake client.
|
||||||
*/
|
*/
|
||||||
native Float:GetClientAvgChoke(client, NetFlow:flow);
|
native Float:GetClientAvgChoke(client, NetFlow:flow);
|
||||||
|
|||||||
@@ -839,7 +839,11 @@ native RemoveServerTag(const String:tag[]);
|
|||||||
/**
|
/**
|
||||||
* Callback for command listeners. This is invoked whenever any command
|
* Callback for command listeners. This is invoked whenever any command
|
||||||
* reaches the server, from the server console itself or a player.
|
* reaches the server, from the server console itself or a player.
|
||||||
|
*
|
||||||
|
* Clients may be in the process of connecting when they are executing commands
|
||||||
|
* IsClientConnected(client) is not guaranteed to return true. Other functions
|
||||||
|
* such as GetClientIP() may not work at this point either.
|
||||||
|
*
|
||||||
* Returning Plugin_Handled or Plugin_Stop will prevent the original,
|
* Returning Plugin_Handled or Plugin_Stop will prevent the original,
|
||||||
* baseline code from running.
|
* baseline code from running.
|
||||||
*
|
*
|
||||||
@@ -849,8 +853,8 @@ native RemoveServerTag(const String:tag[]);
|
|||||||
* * C++ command dispatch hooks from Metamod:Source plugins
|
* * C++ command dispatch hooks from Metamod:Source plugins
|
||||||
* * Reg*Cmd() hooks that did not create new commands.
|
* * Reg*Cmd() hooks that did not create new commands.
|
||||||
*
|
*
|
||||||
* @param client Client, or 0 for server. Client will be connected but
|
* @param client Client, or 0 for server.
|
||||||
* not necessarily in game.
|
* Client may not be connected or in game.
|
||||||
* @param command Command name, lower case. To get name as typed, use
|
* @param command Command name, lower case. To get name as typed, use
|
||||||
* GetCmdArg() and specify argument 0.
|
* GetCmdArg() and specify argument 0.
|
||||||
* @param argc Argument count.
|
* @param argc Argument count.
|
||||||
|
|||||||
@@ -30,6 +30,11 @@
|
|||||||
* Version: $Id$
|
* Version: $Id$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if defined _functions_included
|
||||||
|
#endinput
|
||||||
|
#endif
|
||||||
|
#define _functions_included
|
||||||
|
|
||||||
#define SP_PARAMFLAG_BYREF (1<<0) /**< Internal use only. */
|
#define SP_PARAMFLAG_BYREF (1<<0) /**< Internal use only. */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -273,10 +273,9 @@ native PrintToChat(client, const String:format[], any:...);
|
|||||||
*/
|
*/
|
||||||
stock PrintToChatAll(const String:format[], any:...)
|
stock PrintToChatAll(const String:format[], any:...)
|
||||||
{
|
{
|
||||||
new maxClients = GetMaxClients();
|
|
||||||
decl String:buffer[192];
|
decl String:buffer[192];
|
||||||
|
|
||||||
for (new i = 1; i <= maxClients; i++)
|
for (new i = 1; i <= MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (IsClientInGame(i))
|
if (IsClientInGame(i))
|
||||||
{
|
{
|
||||||
@@ -307,10 +306,9 @@ native PrintCenterText(client, const String:format[], any:...);
|
|||||||
*/
|
*/
|
||||||
stock PrintCenterTextAll(const String:format[], any:...)
|
stock PrintCenterTextAll(const String:format[], any:...)
|
||||||
{
|
{
|
||||||
new maxClients = GetMaxClients();
|
|
||||||
decl String:buffer[192];
|
decl String:buffer[192];
|
||||||
|
|
||||||
for (new i = 1; i <= maxClients; i++)
|
for (new i = 1; i <= MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (IsClientInGame(i))
|
if (IsClientInGame(i))
|
||||||
{
|
{
|
||||||
@@ -341,10 +339,9 @@ native PrintHintText(client, const String:format[], any:...);
|
|||||||
*/
|
*/
|
||||||
stock PrintHintTextToAll(const String:format[], any:...)
|
stock PrintHintTextToAll(const String:format[], any:...)
|
||||||
{
|
{
|
||||||
new maxClients = GetMaxClients();
|
|
||||||
decl String:buffer[192];
|
decl String:buffer[192];
|
||||||
|
|
||||||
for (new i = 1; i <= maxClients; i++)
|
for (new i = 1; i <= MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (IsClientInGame(i))
|
if (IsClientInGame(i))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -99,7 +99,6 @@ stock Handle:FindPluginByFile(const String:filename[])
|
|||||||
#pragma deprecated Use FindTarget() or ProcessTargetString()
|
#pragma deprecated Use FindTarget() or ProcessTargetString()
|
||||||
stock SearchForClients(const String:pattern[], clients[], maxClients)
|
stock SearchForClients(const String:pattern[], clients[], maxClients)
|
||||||
{
|
{
|
||||||
new maxclients = GetMaxClients();
|
|
||||||
new total = 0;
|
new total = 0;
|
||||||
|
|
||||||
if (maxClients == 0)
|
if (maxClients == 0)
|
||||||
@@ -113,7 +112,7 @@ stock SearchForClients(const String:pattern[], clients[], maxClients)
|
|||||||
if (!input)
|
if (!input)
|
||||||
{
|
{
|
||||||
decl String:name[65]
|
decl String:name[65]
|
||||||
for (new i=1; i<=maxclients; i++)
|
for (new i=1; i<=MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (!IsClientInGame(i))
|
if (!IsClientInGame(i))
|
||||||
{
|
{
|
||||||
@@ -137,7 +136,7 @@ stock SearchForClients(const String:pattern[], clients[], maxClients)
|
|||||||
}
|
}
|
||||||
|
|
||||||
decl String:name[65]
|
decl String:name[65]
|
||||||
for (new i=1; i<=maxclients; i++)
|
for (new i=1; i<=MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (!IsClientInGame(i))
|
if (!IsClientInGame(i))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -490,11 +490,10 @@ native bool:VoteMenu(Handle:menu, clients[], numClients, time, flags=0);
|
|||||||
*/
|
*/
|
||||||
stock VoteMenuToAll(Handle:menu, time, flags=0)
|
stock VoteMenuToAll(Handle:menu, time, flags=0)
|
||||||
{
|
{
|
||||||
new num = GetMaxClients();
|
|
||||||
new total;
|
new total;
|
||||||
decl players[num];
|
decl players[MaxClients];
|
||||||
|
|
||||||
for (new i=1; i<=num; i++)
|
for (new i=1; i<=MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (!IsClientInGame(i))
|
if (!IsClientInGame(i))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -403,11 +403,10 @@ stock EmitSoundToAll(const String:sample[],
|
|||||||
bool:updatePos = true,
|
bool:updatePos = true,
|
||||||
Float:soundtime = 0.0)
|
Float:soundtime = 0.0)
|
||||||
{
|
{
|
||||||
new maxClients = GetMaxClients();
|
new clients[MaxClients];
|
||||||
new clients[maxClients];
|
|
||||||
new total = 0;
|
new total = 0;
|
||||||
|
|
||||||
for (new i=1; i<=maxClients; i++)
|
for (new i=1; i<=MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (IsClientInGame(i))
|
if (IsClientInGame(i))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -197,10 +197,9 @@ stock TE_WriteEncodedEnt(const String:prop[], value)
|
|||||||
*/
|
*/
|
||||||
stock TE_SendToAll(Float:delay=0.0)
|
stock TE_SendToAll(Float:delay=0.0)
|
||||||
{
|
{
|
||||||
new maxClients = GetMaxClients();
|
|
||||||
new total = 0;
|
new total = 0;
|
||||||
new clients[maxClients];
|
new clients[MaxClients];
|
||||||
for (new i=1; i<=maxClients; i++)
|
for (new i=1; i<=MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (IsClientInGame(i))
|
if (IsClientInGame(i))
|
||||||
{
|
{
|
||||||
|
|||||||
+113
-1
@@ -35,6 +35,20 @@
|
|||||||
#endif
|
#endif
|
||||||
#define _tf2_included
|
#define _tf2_included
|
||||||
|
|
||||||
|
#define TF_STUNFLAG_SLOWDOWN (1 << 0) // activates slowdown modifier
|
||||||
|
#define TF_STUNFLAG_BONKSTUCK (1 << 1) // bonk sound, stuck
|
||||||
|
#define TF_STUNFLAG_LIMITMOVEMENT (1 << 2) // disable forward/backward movement
|
||||||
|
#define TF_STUNFLAG_CHEERSOUND (1 << 3) // cheering sound
|
||||||
|
#define TF_STUNFLAG_NOSOUNDOREFFECT (1 << 5) // no sound or particle
|
||||||
|
#define TF_STUNFLAG_THIRDPERSON (1 << 6) // panic animation
|
||||||
|
#define TF_STUNFLAG_GHOSTEFFECT (1 << 7) // ghost particles
|
||||||
|
|
||||||
|
#define TF_STUNFLAGS_LOSERSTATE TF_STUNFLAG_SLOWDOWN|TF_STUNFLAG_NOSOUNDOREFFECT|TF_STUNFLAG_THIRDPERSON
|
||||||
|
#define TF_STUNFLAGS_GHOSTSCARE TF_STUNFLAG_GHOSTEFFECT|TF_STUNFLAG_THIRDPERSON
|
||||||
|
#define TF_STUNFLAGS_SMALLBONK TF_STUNFLAG_THIRDPERSON|TF_STUNFLAG_SLOWDOWN
|
||||||
|
#define TF_STUNFLAGS_NORMALBONK TF_STUNFLAG_BONKSTUCK
|
||||||
|
#define TF_STUNFLAGS_BIGBONK TF_STUNFLAG_CHEERSOUND|TF_STUNFLAG_BONKSTUCK
|
||||||
|
|
||||||
enum TFClassType
|
enum TFClassType
|
||||||
{
|
{
|
||||||
TFClass_Unknown = 0,
|
TFClass_Unknown = 0,
|
||||||
@@ -57,6 +71,34 @@ enum TFTeam
|
|||||||
TFTeam_Blue = 3
|
TFTeam_Blue = 3
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum TFCond
|
||||||
|
{
|
||||||
|
TFCond_Slowed = 0,
|
||||||
|
TFCond_Zoomed,
|
||||||
|
TFCond_Disguising,
|
||||||
|
TFCond_Disguised,
|
||||||
|
TFCond_Cloaked,
|
||||||
|
TFCond_Ubercharged,
|
||||||
|
TFCond_TeleportedGlow,
|
||||||
|
TFCond_Taunting,
|
||||||
|
TFCond_UberchargeFading,
|
||||||
|
TFCond_Unknown1,
|
||||||
|
TFCond_Teleporting,
|
||||||
|
TFCond_Kritzkrieged,
|
||||||
|
TFCond_Unknown2,
|
||||||
|
TFCond_DeadRingered,
|
||||||
|
TFCond_Bonked,
|
||||||
|
TFCond_Dazed,
|
||||||
|
TFCond_Buffed,
|
||||||
|
TFCond_Charging,
|
||||||
|
TFCond_DemoBuff,
|
||||||
|
TFCond_CritCola,
|
||||||
|
TFCond_Healing,
|
||||||
|
TFCond_OnFire,
|
||||||
|
TFCond_Overhealed,
|
||||||
|
TFCond_Jarated
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets a client on fire for 10 seconds.
|
* Sets a client on fire for 10 seconds.
|
||||||
*
|
*
|
||||||
@@ -75,6 +117,46 @@ native TF2_IgnitePlayer(client, target);
|
|||||||
*/
|
*/
|
||||||
native TF2_RespawnPlayer(client);
|
native TF2_RespawnPlayer(client);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Regenerates a client's health and ammunition
|
||||||
|
*
|
||||||
|
* @param client Player's index.
|
||||||
|
* @noreturn
|
||||||
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
|
*/
|
||||||
|
native TF2_RegeneratePlayer(client);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a condition to a player
|
||||||
|
*
|
||||||
|
* @param client Player's index.
|
||||||
|
* @param condition Integer identifier of condition to apply.
|
||||||
|
* @param duration Duration of condition (does not apply to all conditions).
|
||||||
|
* @noreturn
|
||||||
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
|
*/
|
||||||
|
native TF2_AddCondition(client, TFCond:condition, Float:duration);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes a condition from a player
|
||||||
|
*
|
||||||
|
* @param client Player's index.
|
||||||
|
* @param condition Integer identifier of condition to remove.
|
||||||
|
* @noreturn
|
||||||
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
|
*/
|
||||||
|
native TF2_RemoveCondition(client, TFCond:condition);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enables/disables PowerPlay mode on a player.
|
||||||
|
*
|
||||||
|
* @param client Player's index.
|
||||||
|
* @param enabled Whether to enable or disable PowerPlay on player.
|
||||||
|
* @noreturn
|
||||||
|
* @error Invalid client index, client not in game, or no mod support.
|
||||||
|
*/
|
||||||
|
native TF2_SetPlayerPowerPlay(client, bool:enabled);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disguises a client to the given model and team. Only has an effect on spies.
|
* Disguises a client to the given model and team. Only has an effect on spies.
|
||||||
*
|
*
|
||||||
@@ -97,6 +179,19 @@ native TF2_DisguisePlayer(client, TFTeam:team, TFClassType:class);
|
|||||||
*/
|
*/
|
||||||
native TF2_RemovePlayerDisguise(client);
|
native TF2_RemovePlayerDisguise(client);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Stuns a client
|
||||||
|
*
|
||||||
|
* @param client Player's index.
|
||||||
|
* @param float Duration of stun.
|
||||||
|
* @param float Slowdown percent (as decimal, 0.00-1.00)
|
||||||
|
* (ignored if TF_STUNFLAG_SLOWDOWN is not set.
|
||||||
|
* @param int Stun flags.
|
||||||
|
* @param attacker Attacker's index (0 is allowed for world).
|
||||||
|
* @noreturn
|
||||||
|
*/
|
||||||
|
native TF2_StunPlayer(client, Float:duration, Float:slowdown=0.0, stunflags, attacker=0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieves the entity index of the CPlayerResource entity
|
* Retrieves the entity index of the CPlayerResource entity
|
||||||
*
|
*
|
||||||
@@ -136,10 +231,27 @@ public Extension:__ext_tf2 =
|
|||||||
{
|
{
|
||||||
name = "TF2 Tools",
|
name = "TF2 Tools",
|
||||||
file = "game.tf2.ext",
|
file = "game.tf2.ext",
|
||||||
autoload = 1,
|
autoload = 0,
|
||||||
#if defined REQUIRE_EXTENSIONS
|
#if defined REQUIRE_EXTENSIONS
|
||||||
required = 1,
|
required = 1,
|
||||||
#else
|
#else
|
||||||
required = 0,
|
required = 0,
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if !defined REQUIRE_EXTENSIONS
|
||||||
|
public __ext_tf2_SetNTVOptional()
|
||||||
|
{
|
||||||
|
MarkNativeAsOptional("TF2_IgnitePlayer");
|
||||||
|
MarkNativeAsOptional("TF2_RespawnPlayer");
|
||||||
|
MarkNativeAsOptional("TF2_RegeneratePlayer");
|
||||||
|
MarkNativeAsOptional("TF2_AddCondition");
|
||||||
|
MarkNativeAsOptional("TF2_RemoveCondition");
|
||||||
|
MarkNativeAsOptional("TF2_SetPlayerPowerPlay");
|
||||||
|
MarkNativeAsOptional("TF2_DisguisePlayer");
|
||||||
|
MarkNativeAsOptional("TF2_RemovePlayerDisguise");
|
||||||
|
MarkNativeAsOptional("TF2_StunPlayer");
|
||||||
|
MarkNativeAsOptional("TF2_GetResourceEntity");
|
||||||
|
MarkNativeAsOptional("TF2_GetClass");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|||||||
@@ -38,6 +38,37 @@
|
|||||||
#include <tf2>
|
#include <tf2>
|
||||||
#include <sdktools>
|
#include <sdktools>
|
||||||
|
|
||||||
|
#define TF_CONDFLAG_NONE 0
|
||||||
|
#define TF_CONDFLAG_SLOWED (1 << 0)
|
||||||
|
#define TF_CONDFLAG_ZOOMED (1 << 1)
|
||||||
|
#define TF_CONDFLAG_DISGUISING (1 << 2)
|
||||||
|
#define TF_CONDFLAG_DISGUISED (1 << 3)
|
||||||
|
#define TF_CONDFLAG_CLOAKED (1 << 4)
|
||||||
|
#define TF_CONDFLAG_UBERCHARGED (1 << 5)
|
||||||
|
#define TF_CONDFLAG_TELEPORTGLOW (1 << 6)
|
||||||
|
#define TF_CONDFLAG_TAUNTING (1 << 7)
|
||||||
|
#define TF_CONDFLAG_UBERCHARGEFADE (1 << 8)
|
||||||
|
#define TF_CONDFLAG_TELEPORTING (1 << 10)
|
||||||
|
#define TF_CONDFLAG_KRITZKRIEGED (1 << 11)
|
||||||
|
#define TF_CONDFLAG_DEADRINGERED (1 << 13)
|
||||||
|
#define TF_CONDFLAG_BONKED (1 << 14)
|
||||||
|
#define TF_CONDFLAG_DAZED (1 << 15)
|
||||||
|
#define TF_CONDFLAG_BUFFED (1 << 16)
|
||||||
|
#define TF_CONDFLAG_CHARGING (1 << 17)
|
||||||
|
#define TF_CONDFLAG_DEMOBUFF (1 << 18)
|
||||||
|
#define TF_CONDFLAG_CRITCOLA (1 << 19)
|
||||||
|
#define TF_CONDFLAG_HEALING (1 << 20)
|
||||||
|
#define TF_CONDFLAG_ONFIRE (1 << 21)
|
||||||
|
#define TF_CONDFLAG_OVERHEALED (1 << 22)
|
||||||
|
#define TF_CONDFLAG_JARATED (1 << 23)
|
||||||
|
|
||||||
|
#define TF_DEATHFLAG_KILLERDOMINATION (1 << 0)
|
||||||
|
#define TF_DEATHFLAG_ASSISTERDOMINATION (1 << 1)
|
||||||
|
#define TF_DEATHFLAG_KILLERREVENGE (1 << 2)
|
||||||
|
#define TF_DEATHFLAG_ASSISTERREVENGE (1 << 3)
|
||||||
|
#define TF_DEATHFLAG_FIRSTBLOOD (1 << 4)
|
||||||
|
#define TF_DEATHFLAG_DEADRINGER (1 << 5)
|
||||||
|
|
||||||
enum TFResourceType
|
enum TFResourceType
|
||||||
{
|
{
|
||||||
TFResource_Ping,
|
TFResource_Ping,
|
||||||
@@ -217,3 +248,13 @@ stock TF2_RemoveAllWeapons(client)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a player's condition bits
|
||||||
|
*
|
||||||
|
* @param client Player's index.
|
||||||
|
* @return Player's condition bits
|
||||||
|
*/
|
||||||
|
stock TF2_GetPlayerConditionFlags(client)
|
||||||
|
{
|
||||||
|
return GetEntProp(client, Prop_Send, "m_nPlayerCond");
|
||||||
|
}
|
||||||
|
|||||||
@@ -170,10 +170,9 @@ native UnhookUserMessage(UserMsg:msg_id, MsgHook:hook, bool:intercept=false);
|
|||||||
*/
|
*/
|
||||||
stock Handle:StartMessageAll(String:msgname[], flags=0)
|
stock Handle:StartMessageAll(String:msgname[], flags=0)
|
||||||
{
|
{
|
||||||
new maxClients = GetMaxClients();
|
|
||||||
new total = 0;
|
new total = 0;
|
||||||
new clients[maxClients];
|
new clients[MaxClients];
|
||||||
for (new i=1; i<=maxClients; i++)
|
for (new i=1; i<=MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (IsClientConnected(i))
|
if (IsClientConnected(i))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -37,6 +37,6 @@
|
|||||||
|
|
||||||
#define SOURCEMOD_V_MAJOR 1 /**< SourceMod Major version */
|
#define SOURCEMOD_V_MAJOR 1 /**< SourceMod Major version */
|
||||||
#define SOURCEMOD_V_MINOR 3 /**< SourceMod Minor version */
|
#define SOURCEMOD_V_MINOR 3 /**< SourceMod Minor version */
|
||||||
#define SOURCEMOD_V_RELEASE 0 /**< SourceMod Release version */
|
#define SOURCEMOD_V_RELEASE 3 /**< SourceMod Release version */
|
||||||
|
|
||||||
#define SOURCEMOD_VERSION "1.3.0" /**< SourceMod version string (major.minor.release.build) */
|
#define SOURCEMOD_VERSION "1.3.3" /**< SourceMod version string (major.minor.release.build) */
|
||||||
|
|||||||
+2
-3
@@ -60,7 +60,8 @@ public APLRes:AskPluginLoad2(Handle:myself, bool:late, String:error[], err_max)
|
|||||||
if (StrEqual(game, "left4dead", false)
|
if (StrEqual(game, "left4dead", false)
|
||||||
|| StrEqual(game, "dystopia", false)
|
|| StrEqual(game, "dystopia", false)
|
||||||
|| StrEqual(game, "synergy", false)
|
|| StrEqual(game, "synergy", false)
|
||||||
|| StrEqual(game, "left4dead2", false))
|
|| StrEqual(game, "left4dead2", false)
|
||||||
|
|| StrEqual(game, "garrysmod", false))
|
||||||
{
|
{
|
||||||
strcopy(error, err_max, "Nextmap is incompatible with this game");
|
strcopy(error, err_max, "Nextmap is incompatible with this game");
|
||||||
return APLRes_SilentFailure;
|
return APLRes_SilentFailure;
|
||||||
@@ -223,6 +224,4 @@ FormatTimeDuration(String:buffer[], maxlen, time)
|
|||||||
{
|
{
|
||||||
return Format(buffer, maxlen, "%is", seconds);
|
return Format(buffer, maxlen, "%is", seconds);
|
||||||
}
|
}
|
||||||
|
|
||||||
return Plugin_Handled;
|
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-14
@@ -44,8 +44,6 @@ public Plugin:myinfo =
|
|||||||
url = "http://www.sourcemod.net/"
|
url = "http://www.sourcemod.net/"
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Maximum number of clients that can connect to server */
|
|
||||||
new g_MaxClients;
|
|
||||||
new g_adminCount = 0;
|
new g_adminCount = 0;
|
||||||
new bool:g_isAdmin[MAXPLAYERS+1];
|
new bool:g_isAdmin[MAXPLAYERS+1];
|
||||||
|
|
||||||
@@ -82,16 +80,14 @@ public OnPluginStart()
|
|||||||
public OnPluginEnd()
|
public OnPluginEnd()
|
||||||
{
|
{
|
||||||
/* If the plugin has been unloaded, reset visiblemaxplayers. In the case of the server shutting down this effect will not be visible */
|
/* If the plugin has been unloaded, reset visiblemaxplayers. In the case of the server shutting down this effect will not be visible */
|
||||||
SetConVarInt(sv_visiblemaxplayers, g_MaxClients);
|
SetConVarInt(sv_visiblemaxplayers, MaxClients);
|
||||||
}
|
}
|
||||||
|
|
||||||
public OnMapStart()
|
public OnMapStart()
|
||||||
{
|
{
|
||||||
g_MaxClients = GetMaxClients();
|
|
||||||
|
|
||||||
if (GetConVarBool(sm_hide_slots))
|
if (GetConVarBool(sm_hide_slots))
|
||||||
{
|
{
|
||||||
SetVisibleMaxSlots(GetClientCount(false), g_MaxClients - GetConVarInt(sm_reserved_slots));
|
SetVisibleMaxSlots(GetClientCount(false), MaxClients - GetConVarInt(sm_reserved_slots));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,7 +95,7 @@ public OnConfigsExecuted()
|
|||||||
{
|
{
|
||||||
if (GetConVarBool(sm_hide_slots))
|
if (GetConVarBool(sm_hide_slots))
|
||||||
{
|
{
|
||||||
SetVisibleMaxSlots(GetClientCount(false), g_MaxClients - GetConVarInt(sm_reserved_slots));
|
SetVisibleMaxSlots(GetClientCount(false), MaxClients - GetConVarInt(sm_reserved_slots));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,7 +110,7 @@ public Action:OnTimedKick(Handle:timer, any:client)
|
|||||||
|
|
||||||
if (GetConVarBool(sm_hide_slots))
|
if (GetConVarBool(sm_hide_slots))
|
||||||
{
|
{
|
||||||
SetVisibleMaxSlots(GetClientCount(false), g_MaxClients - GetConVarInt(sm_reserved_slots));
|
SetVisibleMaxSlots(GetClientCount(false), MaxClients - GetConVarInt(sm_reserved_slots));
|
||||||
}
|
}
|
||||||
|
|
||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
@@ -127,7 +123,7 @@ public OnClientPostAdminCheck(client)
|
|||||||
if (reserved > 0)
|
if (reserved > 0)
|
||||||
{
|
{
|
||||||
new clients = GetClientCount(false);
|
new clients = GetClientCount(false);
|
||||||
new limit = g_MaxClients - reserved;
|
new limit = MaxClients - reserved;
|
||||||
new flags = GetUserFlagBits(client);
|
new flags = GetUserFlagBits(client);
|
||||||
|
|
||||||
new type = GetConVarInt(sm_reserve_type);
|
new type = GetConVarInt(sm_reserve_type);
|
||||||
@@ -204,7 +200,7 @@ public OnClientDisconnect_Post(client)
|
|||||||
{
|
{
|
||||||
if (GetConVarBool(sm_hide_slots))
|
if (GetConVarBool(sm_hide_slots))
|
||||||
{
|
{
|
||||||
SetVisibleMaxSlots(GetClientCount(false), g_MaxClients - GetConVarInt(sm_reserved_slots));
|
SetVisibleMaxSlots(GetClientCount(false), MaxClients - GetConVarInt(sm_reserved_slots));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_isAdmin[client])
|
if (g_isAdmin[client])
|
||||||
@@ -219,7 +215,7 @@ public SlotsChanged(Handle:convar, const String:oldValue[], const String:newValu
|
|||||||
/* Reserved slots or hidden slots have been disabled - reset sv_visiblemaxplayers */
|
/* Reserved slots or hidden slots have been disabled - reset sv_visiblemaxplayers */
|
||||||
if (StringToInt(newValue) == 0)
|
if (StringToInt(newValue) == 0)
|
||||||
{
|
{
|
||||||
SetConVarInt(sv_visiblemaxplayers, g_MaxClients);
|
SetConVarInt(sv_visiblemaxplayers, MaxClients);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -227,9 +223,9 @@ SetVisibleMaxSlots(clients, limit)
|
|||||||
{
|
{
|
||||||
new num = clients;
|
new num = clients;
|
||||||
|
|
||||||
if (clients == g_MaxClients)
|
if (clients == MaxClients)
|
||||||
{
|
{
|
||||||
num = g_MaxClients;
|
num = MaxClients;
|
||||||
} else if (clients < limit) {
|
} else if (clients < limit) {
|
||||||
num = limit;
|
num = limit;
|
||||||
}
|
}
|
||||||
@@ -251,7 +247,7 @@ SelectKickClient()
|
|||||||
|
|
||||||
new Float:value;
|
new Float:value;
|
||||||
|
|
||||||
for (new i=1; i<=g_MaxClients; i++)
|
for (new i=1; i<=MaxClients; i++)
|
||||||
{
|
{
|
||||||
if (!IsClientConnected(i))
|
if (!IsClientConnected(i))
|
||||||
{
|
{
|
||||||
|
|||||||
+111
-30
@@ -15,25 +15,24 @@ public Plugin:myinfo =
|
|||||||
public OnPluginStart()
|
public OnPluginStart()
|
||||||
{
|
{
|
||||||
RegConsoleCmd("sm_burnme", Command_Burn);
|
RegConsoleCmd("sm_burnme", Command_Burn);
|
||||||
RegConsoleCmd("sm_invuln", Command_Invuln);
|
|
||||||
RegConsoleCmd("sm_respawn", Command_Respawn);
|
RegConsoleCmd("sm_respawn", Command_Respawn);
|
||||||
RegConsoleCmd("sm_disguise", Command_Disguise);
|
RegConsoleCmd("sm_disguise", Command_Disguise);
|
||||||
RegConsoleCmd("sm_remdisguise", Command_RemDisguise);
|
RegConsoleCmd("sm_remdisguise", Command_RemDisguise);
|
||||||
RegConsoleCmd("sm_class", Command_Class);
|
RegConsoleCmd("sm_class", Command_Class);
|
||||||
RegConsoleCmd("sm_remove", Command_Remove);
|
RegConsoleCmd("sm_remove", Command_Remove);
|
||||||
RegConsoleCmd("sm_changeclass", Command_ChangeClass);
|
RegConsoleCmd("sm_changeclass", Command_ChangeClass);
|
||||||
|
RegConsoleCmd("sm_regenerate", Command_Regenerate);
|
||||||
|
RegConsoleCmd("sm_uberme", Command_UberMe);
|
||||||
|
RegConsoleCmd("sm_unuberme", Command_UnUberMe);
|
||||||
|
RegConsoleCmd("sm_setpowerplay", Command_SetPowerPlay);
|
||||||
|
RegConsoleCmd("sm_panic", Command_Panic);
|
||||||
|
RegConsoleCmd("sm_bighit", Command_BigHit);
|
||||||
|
RegConsoleCmd("sm_frighten", Command_Frighten);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Action:Command_Class(client, args)
|
public Action:Command_Class(client, args)
|
||||||
{
|
{
|
||||||
TF2_RemoveAllWeapons(client);
|
TF2_RemoveAllWeapons(client);
|
||||||
|
|
||||||
decl String:text[10];
|
|
||||||
GetCmdArg(1, text, sizeof(text));
|
|
||||||
|
|
||||||
new one = StringToInt(text);
|
|
||||||
|
|
||||||
TF2_EquipPlayerClassWeapons(client, TFClassType:one);
|
|
||||||
|
|
||||||
PrintToChat(client, "Test: sniper's classnum is %i (should be %i)", TF2_GetClass("sniper"), TFClass_Sniper);
|
PrintToChat(client, "Test: sniper's classnum is %i (should be %i)", TF2_GetClass("sniper"), TFClass_Sniper);
|
||||||
|
|
||||||
@@ -93,28 +92,6 @@ public Action:Command_Burn(client, args)
|
|||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Action:Command_Invuln(client, args)
|
|
||||||
{
|
|
||||||
if (client == 0)
|
|
||||||
{
|
|
||||||
return Plugin_Handled;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (args < 1)
|
|
||||||
{
|
|
||||||
return Plugin_Handled;
|
|
||||||
}
|
|
||||||
|
|
||||||
decl String:text[10];
|
|
||||||
GetCmdArg(1, text, sizeof(text));
|
|
||||||
|
|
||||||
new bool:one = !!StringToInt(text);
|
|
||||||
|
|
||||||
TF2_SetPlayerInvuln(client, one)
|
|
||||||
|
|
||||||
return Plugin_Handled;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Action:Command_Disguise(client, args)
|
public Action:Command_Disguise(client, args)
|
||||||
{
|
{
|
||||||
if (client == 0)
|
if (client == 0)
|
||||||
@@ -165,3 +142,107 @@ public Action:Command_Respawn(client, args)
|
|||||||
|
|
||||||
return Plugin_Handled;
|
return Plugin_Handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Action:Command_Regenerate(client, args)
|
||||||
|
{
|
||||||
|
if (client == 0)
|
||||||
|
{
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
TF2_RegeneratePlayer(client);
|
||||||
|
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Action:Command_UberMe(client, args)
|
||||||
|
{
|
||||||
|
if (client == 0)
|
||||||
|
{
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args < 1)
|
||||||
|
{
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
decl String:text[10];
|
||||||
|
GetCmdArg(1, text, sizeof(text));
|
||||||
|
|
||||||
|
new Float:one = StringToFloat(text);
|
||||||
|
|
||||||
|
TF2_AddCondition(client, TFCond_Ubercharged, one);
|
||||||
|
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Action:Command_UnUberMe(client, args)
|
||||||
|
{
|
||||||
|
if (client == 0)
|
||||||
|
{
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
TF2_RemoveCondition(client, TFCond_Ubercharged);
|
||||||
|
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Action:Command_SetPowerPlay(client, args)
|
||||||
|
{
|
||||||
|
if (client == 0)
|
||||||
|
{
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args < 1)
|
||||||
|
{
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
decl String:text[10];
|
||||||
|
GetCmdArg(1, text, sizeof(text));
|
||||||
|
|
||||||
|
new bool:one = bool:StringToInt(text);
|
||||||
|
|
||||||
|
TF2_SetPlayerPowerPlay(client, one);
|
||||||
|
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Action:Command_Panic(client, args)
|
||||||
|
{
|
||||||
|
if (client == 0)
|
||||||
|
{
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
TF2_StunPlayer(client, 15.0, 0.25, TF_STUNFLAGS_LOSERSTATE);
|
||||||
|
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Action:Command_BigHit(client, args)
|
||||||
|
{
|
||||||
|
if (client == 0)
|
||||||
|
{
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
TF2_StunPlayer(client, 5.0, _, TF_STUNFLAGS_BIGBONK, client);
|
||||||
|
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Action:Command_Frighten(client, args)
|
||||||
|
{
|
||||||
|
if (client == 0)
|
||||||
|
{
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
|
|
||||||
|
TF2_StunPlayer(client, 5.0, _, TF_STUNFLAGS_GHOSTSCARE);
|
||||||
|
|
||||||
|
return Plugin_Handled;
|
||||||
|
}
|
||||||
+1
-1
@@ -1 +1 @@
|
|||||||
1.3.0
|
1.3.3
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# (C)2004-2009 SourceMod Development Team
|
# (C)2004-2010 SourceMod Development Team
|
||||||
# Makefile written by David "BAILOPAN" Anderson
|
# Makefile written by David "BAILOPAN" Anderson
|
||||||
|
|
||||||
SMSDK = ..
|
SMSDK = ..
|
||||||
@@ -37,7 +37,7 @@ ifeq "$(ENGINE)" "original"
|
|||||||
METAMOD = $(MMSOURCE18)/core-legacy
|
METAMOD = $(MMSOURCE18)/core-legacy
|
||||||
INCLUDE += -I$(HL2SDK)/public/dlls
|
INCLUDE += -I$(HL2SDK)/public/dlls
|
||||||
SRCDS = $(SRCDS_BASE)
|
SRCDS = $(SRCDS_BASE)
|
||||||
LIB_SUFFIX = i486
|
LIB_SUFFIX = _i486.so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
ifeq "$(ENGINE)" "orangebox"
|
ifeq "$(ENGINE)" "orangebox"
|
||||||
@@ -48,7 +48,7 @@ ifeq "$(ENGINE)" "orangebox"
|
|||||||
METAMOD = $(MMSOURCE18)/core
|
METAMOD = $(MMSOURCE18)/core
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||||
SRCDS = $(SRCDS_BASE)/orangebox
|
SRCDS = $(SRCDS_BASE)/orangebox
|
||||||
LIB_SUFFIX = i486
|
LIB_SUFFIX = _i486.so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
ifeq "$(ENGINE)" "orangeboxvalve"
|
ifeq "$(ENGINE)" "orangeboxvalve"
|
||||||
@@ -59,7 +59,8 @@ ifeq "$(ENGINE)" "orangeboxvalve"
|
|||||||
METAMOD = $(MMSOURCE18)/core
|
METAMOD = $(MMSOURCE18)/core
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||||
SRCDS = $(SRCDS_BASE)/orangebox
|
SRCDS = $(SRCDS_BASE)/orangebox
|
||||||
LIB_SUFFIX = i486
|
LIB_PREFIX = lib
|
||||||
|
LIB_SUFFIX = .so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
ifeq "$(ENGINE)" "left4dead"
|
ifeq "$(ENGINE)" "left4dead"
|
||||||
@@ -70,7 +71,7 @@ ifeq "$(ENGINE)" "left4dead"
|
|||||||
METAMOD = $(MMSOURCE18)/core
|
METAMOD = $(MMSOURCE18)/core
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||||
SRCDS = $(SRCDS_BASE)/l4d
|
SRCDS = $(SRCDS_BASE)/l4d
|
||||||
LIB_SUFFIX = i486
|
LIB_SUFFIX = _i486.so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
ifeq "$(ENGINE)" "left4dead2"
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
@@ -81,14 +82,15 @@ ifeq "$(ENGINE)" "left4dead2"
|
|||||||
METAMOD = $(MMSOURCE18)/core
|
METAMOD = $(MMSOURCE18)/core
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||||
SRCDS = $(SRCDS_BASE)/left4dead2
|
SRCDS = $(SRCDS_BASE)/left4dead2
|
||||||
LIB_SUFFIX = linux
|
LIB_PREFIX = lib
|
||||||
|
LIB_SUFFIX = .so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 \
|
CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_ORANGEBOXVALVE=4 \
|
||||||
-DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
|
-DSE_LEFT4DEAD=5 -DSE_LEFT4DEAD2=6
|
||||||
|
|
||||||
LINK = vstdlib_$(LIB_SUFFIX).so tier0_$(LIB_SUFFIX).so -m32 -ldl -lm
|
LINK = $(LIB_PREFIX)vstdlib$(LIB_SUFFIX) $(LIB_PREFIX)tier0$(LIB_SUFFIX) -m32 -ldl -lm
|
||||||
|
|
||||||
INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \
|
INCLUDE += -I. -I.. -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 \
|
||||||
-I$(METAMOD) -I$(METAMOD)/sourcehook -I$(SMSDK) -I$(SMSDK)/jit -I$(SMSDK)/jit/x86 \
|
-I$(METAMOD) -I$(METAMOD)/sourcehook -I$(SMSDK) -I$(SMSDK)/jit -I$(SMSDK)/jit/x86 \
|
||||||
@@ -133,8 +135,8 @@ $(BIN_DIR)/%.o: %.cpp
|
|||||||
|
|
||||||
all: check
|
all: check
|
||||||
mkdir -p $(BIN_DIR)
|
mkdir -p $(BIN_DIR)
|
||||||
ln -sf $(HL2LIB)/vstdlib_$(LIB_SUFFIX).so
|
ln -sf $(HL2LIB)/$(LIB_PREFIX)vstdlib$(LIB_SUFFIX)
|
||||||
ln -sf $(HL2LIB)/tier0_$(LIB_SUFFIX).so
|
ln -sf $(HL2LIB)/$(LIB_PREFIX)tier0$(LIB_SUFFIX)
|
||||||
$(MAKE) -f Makefile mms_ext
|
$(MAKE) -f Makefile mms_ext
|
||||||
|
|
||||||
check:
|
check:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# (C)2004-2009 SourceMod Development Team
|
# (C)2004-2010 SourceMod Development Team
|
||||||
# Makefile written by David "BAILOPAN" Anderson
|
# Makefile written by David "BAILOPAN" Anderson
|
||||||
|
|
||||||
SMSDK = ../..
|
SMSDK = ../..
|
||||||
@@ -40,7 +40,7 @@ ifeq "$(ENGINE)" "original"
|
|||||||
METAMOD = $(MMSOURCE18)/core-legacy
|
METAMOD = $(MMSOURCE18)/core-legacy
|
||||||
INCLUDE += -I$(HL2SDK)/public/dlls
|
INCLUDE += -I$(HL2SDK)/public/dlls
|
||||||
SRCDS = $(SRCDS_BASE)
|
SRCDS = $(SRCDS_BASE)
|
||||||
LIB_SUFFIX = i486
|
LIB_SUFFIX = _i486.so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
ifeq "$(ENGINE)" "orangebox"
|
ifeq "$(ENGINE)" "orangebox"
|
||||||
@@ -51,7 +51,7 @@ ifeq "$(ENGINE)" "orangebox"
|
|||||||
METAMOD = $(MMSOURCE18)/core
|
METAMOD = $(MMSOURCE18)/core
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||||
SRCDS = $(SRCDS_BASE)/orangebox
|
SRCDS = $(SRCDS_BASE)/orangebox
|
||||||
LIB_SUFFIX = i486
|
LIB_SUFFIX = _i486.so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
ifeq "$(ENGINE)" "orangeboxvalve"
|
ifeq "$(ENGINE)" "orangeboxvalve"
|
||||||
@@ -62,7 +62,8 @@ ifeq "$(ENGINE)" "orangeboxvalve"
|
|||||||
METAMOD = $(MMSOURCE18)/core
|
METAMOD = $(MMSOURCE18)/core
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||||
SRCDS = $(SRCDS_BASE)/orangebox
|
SRCDS = $(SRCDS_BASE)/orangebox
|
||||||
LIB_SUFFIX = i486
|
LIB_PREFIX = lib
|
||||||
|
LIB_SUFFIX = .so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
ifeq "$(ENGINE)" "left4dead"
|
ifeq "$(ENGINE)" "left4dead"
|
||||||
@@ -73,7 +74,7 @@ ifeq "$(ENGINE)" "left4dead"
|
|||||||
METAMOD = $(MMSOURCE18)/core
|
METAMOD = $(MMSOURCE18)/core
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||||
SRCDS = $(SRCDS_BASE)/l4d
|
SRCDS = $(SRCDS_BASE)/l4d
|
||||||
LIB_SUFFIX = i486
|
LIB_SUFFIX = _i486.so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
ifeq "$(ENGINE)" "left4dead2"
|
ifeq "$(ENGINE)" "left4dead2"
|
||||||
@@ -84,12 +85,13 @@ ifeq "$(ENGINE)" "left4dead2"
|
|||||||
METAMOD = $(MMSOURCE18)/core
|
METAMOD = $(MMSOURCE18)/core
|
||||||
INCLUDE += -I$(HL2SDK)/public/game/server
|
INCLUDE += -I$(HL2SDK)/public/game/server
|
||||||
SRCDS = $(SRCDS_BASE)/left4dead2
|
SRCDS = $(SRCDS_BASE)/left4dead2
|
||||||
LIB_SUFFIX = linux
|
LIB_PREFIX = lib
|
||||||
|
LIB_SUFFIX = .so
|
||||||
override ENGSET = true
|
override ENGSET = true
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq "$(USEMETA)" "true"
|
ifeq "$(USEMETA)" "true"
|
||||||
LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_$(LIB_SUFFIX).so tier0_$(LIB_SUFFIX).so
|
LINK_HL2 = $(HL2LIB)/tier1_i486.a $(LIB_PREFIX)vstdlib$(LIB_SUFFIX) $(LIB_PREFIX)tier0$(LIB_SUFFIX)
|
||||||
|
|
||||||
LINK += $(LINK_HL2)
|
LINK += $(LINK_HL2)
|
||||||
|
|
||||||
@@ -147,8 +149,8 @@ $(BIN_DIR)/%.o: %.cpp
|
|||||||
all: check
|
all: check
|
||||||
mkdir -p $(BIN_DIR)/sdk
|
mkdir -p $(BIN_DIR)/sdk
|
||||||
if [ "$(USEMETA)" = "true" ]; then \
|
if [ "$(USEMETA)" = "true" ]; then \
|
||||||
ln -sf $(HL2LIB)/vstdlib_$(LIB_SUFFIX).so; \
|
ln -sf $(HL2LIB)/$(LIB_PREFIX)vstdlib$(LIB_SUFFIX); \
|
||||||
ln -sf $(HL2LIB)/tier0_$(LIB_SUFFIX).so; \
|
ln -sf $(HL2LIB)/$(LIB_PREFIX)tier0$(LIB_SUFFIX); \
|
||||||
fi
|
fi
|
||||||
$(MAKE) -f Makefile extension
|
$(MAKE) -f Makefile extension
|
||||||
|
|
||||||
|
|||||||
+4
-1
@@ -2,7 +2,7 @@ a billion and nanas
|
|||||||
joys of buildbot, part 2: buildbot and the very lonely square-shaped duck
|
joys of buildbot, part 2: buildbot and the very lonely square-shaped duck
|
||||||
joys of buildbot, part 3: an accidental event proves troublesome for a psychic fish
|
joys of buildbot, part 3: an accidental event proves troublesome for a psychic fish
|
||||||
joys of buildbot, part 4: a transient mummy is perplexed by a broken wand
|
joys of buildbot, part 4: a transient mummy is perplexed by a broken wand
|
||||||
buildbot has horrible bugs
|
buildbot has horrible blugs
|
||||||
i am the very model of a modern major general
|
i am the very model of a modern major general
|
||||||
|
|
||||||
It's no wonder the build always falls over when we call it pushing.
|
It's no wonder the build always falls over when we call it pushing.
|
||||||
@@ -18,3 +18,6 @@ joys of buildbot, part nana: if you don't do as you are told, buildbot-san, you
|
|||||||
DS saves us from Valve again.
|
DS saves us from Valve again.
|
||||||
Invaders' blood marches through my veins, like GIANT RADIOACTIVE RUBBER PANTS!
|
Invaders' blood marches through my veins, like GIANT RADIOACTIVE RUBBER PANTS!
|
||||||
THE PANTS COMMAND COMMAND ME! DO NOT IGNORE MY VEINS.
|
THE PANTS COMMAND COMMAND ME! DO NOT IGNORE MY VEINS.
|
||||||
|
This text is written in invisible ink.
|
||||||
|
|
||||||
|
o
|
||||||
@@ -2341,7 +2341,10 @@ static int declloc(int fstatic)
|
|||||||
stradjust(sPRI);
|
stradjust(sPRI);
|
||||||
}
|
}
|
||||||
pushreg(sPRI);
|
pushreg(sPRI);
|
||||||
|
/* No idea why this is here, but it throws away dimension info which
|
||||||
|
would otherwise be used by addvariable2 below.
|
||||||
memset(dim, 0, sizeof(int)*sDIMEN_MAX);
|
memset(dim, 0, sizeof(int)*sDIMEN_MAX);
|
||||||
|
*/
|
||||||
ident = iREFARRAY;
|
ident = iREFARRAY;
|
||||||
genarray(numdim, autozero);
|
genarray(numdim, autozero);
|
||||||
}
|
}
|
||||||
@@ -4584,7 +4587,14 @@ static void doarg(char *name,int ident,int offset,int tags[],int numtags,
|
|||||||
arg->numdim+=1;
|
arg->numdim+=1;
|
||||||
} while (matchtoken('['));
|
} while (matchtoken('['));
|
||||||
ident=iREFARRAY; /* "reference to array" (is a pointer) */
|
ident=iREFARRAY; /* "reference to array" (is a pointer) */
|
||||||
|
#if 0 /* For SM, multiple tags including string don't make sense,
|
||||||
|
so just check the first tag. Done manually so the string
|
||||||
|
tag isn't matched with the any tag. */
|
||||||
if (checktag(tags, numtags, pc_tag_string)) {
|
if (checktag(tags, numtags, pc_tag_string)) {
|
||||||
|
#endif
|
||||||
|
assert(tags!=0);
|
||||||
|
assert(numtags>0);
|
||||||
|
if (tags[0] == pc_tag_string) {
|
||||||
slength = arg->dim[arg->numdim - 1];
|
slength = arg->dim[arg->numdim - 1];
|
||||||
arg->dim[arg->numdim - 1] = (size + sizeof(cell) - 1) / sizeof(cell);
|
arg->dim[arg->numdim - 1] = (size + sizeof(cell) - 1) / sizeof(cell);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1733,13 +1733,8 @@ inline void WriteOp_Switch(JitWriter *jit)
|
|||||||
for (cell_t i=0; i<num_cases; i++)
|
for (cell_t i=0; i<num_cases; i++)
|
||||||
{
|
{
|
||||||
val = cases[i].val;
|
val = cases[i].val;
|
||||||
//cmp eax, <val> OR cmp al, <val>
|
//cmp eax, <val>
|
||||||
if (val >= SCHAR_MIN && val <= SCHAR_MAX)
|
IA32_Cmp_Eax_Imm32(jit, val);
|
||||||
{
|
|
||||||
IA32_Cmp_Al_Imm8(jit, val);
|
|
||||||
} else {
|
|
||||||
IA32_Cmp_Eax_Imm32(jit, cases[i].val);
|
|
||||||
}
|
|
||||||
IA32_Jump_Cond_Imm32_Rel(jit, CC_E, RelocLookup(jit, cases[i].offs, false));
|
IA32_Jump_Cond_Imm32_Rel(jit, CC_E, RelocLookup(jit, cases[i].offs, false));
|
||||||
}
|
}
|
||||||
/* After all this, jump to the default case! */
|
/* After all this, jump to the default case! */
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ AddNormalLibrary('sourcepawn.jit.x86', 'bin')
|
|||||||
AddNormalLibrary('geoip.ext', 'extensions')
|
AddNormalLibrary('geoip.ext', 'extensions')
|
||||||
AddNormalLibrary('dbi.mysql.ext', 'extensions')
|
AddNormalLibrary('dbi.mysql.ext', 'extensions')
|
||||||
AddNormalLibrary('dbi.sqlite.ext', 'extensions')
|
AddNormalLibrary('dbi.sqlite.ext', 'extensions')
|
||||||
AddNormalLibrary('game.cstrike.ext.1.ep1', 'extensions')
|
AddNormalLibrary('game.cstrike.ext.2.ep2v', 'extensions')
|
||||||
AddNormalLibrary('game.tf2.ext.2.ep2v', 'extensions')
|
AddNormalLibrary('game.tf2.ext.2.ep2v', 'extensions')
|
||||||
AddNormalLibrary('topmenus.ext', 'extensions')
|
AddNormalLibrary('topmenus.ext', 'extensions')
|
||||||
AddNormalLibrary('regex.ext', 'extensions')
|
AddNormalLibrary('regex.ext', 'extensions')
|
||||||
|
|||||||
Reference in New Issue
Block a user