Compare commits

...
Author SHA1 Message Date
Nicholas Hastings 8c0a53cfdb Updating versioning for 1.4.4 release. 2012-07-03 18:30:05 -04:00
Nicholas Hastings 5d485df4b8 Updating changelog. 2012-07-03 18:29:39 -04:00
Powerlord 0656857960 Updated TFHoliday enum for latest TF2 updates (bug 5364, r=psychonic). 2012-07-03 18:03:06 -04:00
Nicholas Hastings af69434738 Fixed clientprefs prefab menu double free crash (bug 5374, r=asherkin). 2012-07-03 07:51:12 -04:00
Nicholas Hastings d713c52524 Updated CS:S gamedata. 2012-07-02 23:27:22 -04:00
Brian Simon ef59237dad Fixed NULL ninvoke ptr in sample ext when SMEXT_ENABLE_NINVOKE defined (bug 5340, r=psychonic). 2012-07-01 12:05:21 -04:00
Nicholas Hastings 049f99a658 Updated GMod gamedata. 2012-06-30 09:08:06 -04:00
Nicholas Hastings ffe50ed9f1 Added new TF2 weapon and custom dmg defines. 2012-06-28 11:27:31 -04:00
Nicholas Hastings f2266b45a3 Updated EmitSentence native for sdk change on ep2v. 2012-06-28 11:29:07 -04:00
Nicholas Hastings c5f57cb3e4 Updated TF2, DOD:S, and HL2:DM gamedata. 2012-06-27 23:24:38 -04:00
Nicholas Hastings 21a645e1c6 Another build fix. 2012-06-27 23:17:44 -04:00
Nicholas Hastings e4505b981b Build fix. 2012-06-27 23:14:26 -04:00
Nicholas Hastings 30c9d56e3f Updated Core and SDK Tools for ep2v EmitSound sdk change. 2012-06-27 23:08:54 -04:00
Nicholas Hastings e29cf999a9 Triggering a build. 2012-06-27 22:19:04 -04:00
Nicholas Hastings df9ae818db Updated TF2 gamedata. 2012-06-27 21:41:04 -04:00
Nicholas Hastings f725ee4fb4 Updated Nuclear Dawn gamedata. 2012-06-20 21:00:53 -04:00
Nicholas Hastings ce51189e9a Re-adding -dev tag and bumping version. 2012-06-09 21:45:20 -04:00
Nicholas Hastings 84ffb3de43 Added tag sourcemod-1.4.3 for changeset 608f4c94872e 2012-06-09 21:43:58 -04:00
23 changed files with 369 additions and 234 deletions
+1
View File
@@ -6,3 +6,4 @@ b3ffa8a4511c4eadaf533fc790aa6b14f7f0c6ea sourcemod-1.1.2
ddd707c3454c382db5db9d28148cd19227f44759 sourcemod-1.4.0 ddd707c3454c382db5db9d28148cd19227f44759 sourcemod-1.4.0
f74e1dea2ef2c5a12b5238badc0e877106804191 sourcemod-1.4.1 f74e1dea2ef2c5a12b5238badc0e877106804191 sourcemod-1.4.1
0026e1394254c392244c7b140e3075974ab5a6db sourcemod-1.4.2 0026e1394254c392244c7b140e3075974ab5a6db sourcemod-1.4.2
608f4c94872e3624404a1d105284163bc57fadf7 sourcemod-1.4.3
+18
View File
@@ -2,6 +2,24 @@ SourceMod Changelog
----------------------------- -----------------------------
SourceMod 1.4.4 [2012-07-03]
URL: http://wiki.alliedmods.net/SourceMod_1.4.4_Release_Notes
User Changes:
- Updated support for latest Source 2009 engine changes (CS:S, DoD:S, TF2, HL2DM, GMod).
- Updated Nuclear Dawn gamedata.
- Fixed a crash that could occur when selecting an option on a clientprefs prefab menu (bug 5374).
Developer Changes:
- Added new TF2 weapon and custom dmg defines.
- Added new TF2 TFHoliday value (bug 5364) (Powerlord).
- Updated sample extension to properly fill ninvoke with INativeInvoker ptr (bug 5340) (Afronanny).
-----------------------------
SourceMod 1.4.3 [2012-06-09] SourceMod 1.4.3 [2012-06-09]
URL: http://wiki.alliedmods.net/SourceMod_1.4.3_Release_Notes URL: http://wiki.alliedmods.net/SourceMod_1.4.3_Release_Notes
+3
View File
@@ -331,6 +331,9 @@ void BaseMenuStyle::ClientPressedKey(int client, unsigned int key_press)
ATTN_NORM, ATTN_NORM,
0, 0,
PITCH_NORM, PITCH_NORM,
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE
0,
#endif
&pos); &pos);
} }
} }
+15 -2
View File
@@ -105,6 +105,7 @@ bool ClientPrefs::SDK_OnLoad(char *error, size_t maxlength, bool late)
sharesys->AddNatives(myself, g_ClientPrefNatives); sharesys->AddNatives(myself, g_ClientPrefNatives);
sharesys->RegisterLibrary(myself, "clientprefs"); sharesys->RegisterLibrary(myself, "clientprefs");
identity = sharesys->CreateIdentity(sharesys->CreateIdentType("ClientPrefs"), this);
g_CookieManager.cookieDataLoadedForward = forwards->CreateForward("OnClientCookiesCached", ET_Ignore, 1, NULL, Param_Cell); g_CookieManager.cookieDataLoadedForward = forwards->CreateForward("OnClientCookiesCached", ET_Ignore, 1, NULL, Param_Cell);
g_CookieType = handlesys->CreateType("Cookie", g_CookieType = handlesys->CreateType("Cookie",
@@ -124,7 +125,7 @@ bool ClientPrefs::SDK_OnLoad(char *error, size_t maxlength, bool late)
NULL); NULL);
IMenuStyle *style = menus->GetDefaultStyle(); IMenuStyle *style = menus->GetDefaultStyle();
g_CookieManager.clientMenu = style->CreateMenu(&g_Handler, NULL); g_CookieManager.clientMenu = style->CreateMenu(&g_Handler, identity);
g_CookieManager.clientMenu->SetDefaultTitle("Client Settings:"); g_CookieManager.clientMenu->SetDefaultTitle("Client Settings:");
plsys->AddPluginsListener(&g_CookieManager); plsys->AddPluginsListener(&g_CookieManager);
@@ -191,10 +192,17 @@ void ClientPrefs::SDK_OnUnload()
forwards->ReleaseForward(g_CookieManager.cookieDataLoadedForward); forwards->ReleaseForward(g_CookieManager.cookieDataLoadedForward);
g_CookieManager.clientMenu->Destroy(); HandleSecurity sec = HandleSecurity(identity, identity);
HandleError err = handlesys->FreeHandle(g_CookieManager.clientMenu->GetHandle(), &sec);
if (HandleError_None != err)
{
g_pSM->LogError(myself, "Error %d when attempting to free client menu handle", err);
}
phrases->Destroy(); phrases->Destroy();
sharesys->DestroyIdentity( identity );
plsys->RemovePluginsListener(&g_CookieManager); plsys->RemovePluginsListener(&g_CookieManager);
playerhelpers->RemoveClientListener(&g_CookieManager); playerhelpers->RemoveClientListener(&g_CookieManager);
@@ -470,6 +478,11 @@ bool Translate(char *buffer,
return true; return true;
} }
IdentityToken_t *ClientPrefs::GetIdentity() const
{
return identity;
}
const char *ClientPrefs::GetExtensionVerString() const char *ClientPrefs::GetExtensionVerString()
{ {
return SM_FULL_VERSION; return SM_FULL_VERSION;
+3
View File
@@ -140,6 +140,8 @@ public:
*/ */
//virtual bool SDK_OnMetamodPauseChange(bool paused, char *error, size_t maxlength); //virtual bool SDK_OnMetamodPauseChange(bool paused, char *error, size_t maxlength);
#endif #endif
public:
IdentityToken_t *GetIdentity() const;
public: public:
IDBDriver *Driver; IDBDriver *Driver;
IDatabase *Database; IDatabase *Database;
@@ -152,6 +154,7 @@ public:
private: private:
SourceHook::List<TQueryOp *> cachedQueries; SourceHook::List<TQueryOp *> cachedQueries;
IMutex *queryMutex; IMutex *queryMutex;
IdentityToken_t *identity;
}; };
class CookieTypeHandler : public IHandleTypeDispatch class CookieTypeHandler : public IHandleTypeDispatch
+7 -2
View File
@@ -57,7 +57,7 @@ void ClientMenuHandler::OnMenuSelect(IBaseMenu *menu, int client, unsigned int i
return; return;
} }
IBaseMenu *submenu = menus->GetDefaultStyle()->CreateMenu(&g_AutoHandler, NULL); IBaseMenu *submenu = menus->GetDefaultStyle()->CreateMenu(&g_AutoHandler, g_ClientPrefs.GetIdentity());
char message[256]; char message[256];
@@ -175,5 +175,10 @@ void AutoMenuHandler::OnMenuSelect(SourceMod::IBaseMenu *menu, int client, unsig
void AutoMenuHandler::OnMenuEnd(IBaseMenu *menu, MenuEndReason reason) void AutoMenuHandler::OnMenuEnd(IBaseMenu *menu, MenuEndReason reason)
{ {
menu->Destroy(true); HandleSecurity sec = HandleSecurity(g_ClientPrefs.GetIdentity(), g_ClientPrefs.GetIdentity());
HandleError err = handlesys->FreeHandle(menu->GetHandle(), &sec);
if (HandleError_None != err)
{
g_pSM->LogError(myself, "Error %d when attempting to free automenu handle", err);
}
} }
+5
View File
@@ -528,7 +528,12 @@ static cell_t SlapPlayer(IPluginContext *pContext, const cell_t *params)
CellRecipientFilter rf; CellRecipientFilter rf;
rf.SetToReliable(true); rf.SetToReliable(true);
rf.Initialize(player_list, total_players); rf.Initialize(player_list, total_players);
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE
engsound->EmitSound(rf, params[1], CHAN_AUTO, sound_name, VOL_NORM, ATTN_NORM, 0, PITCH_NORM, 0, &pos);
#else
engsound->EmitSound(rf, params[1], CHAN_AUTO, sound_name, VOL_NORM, ATTN_NORM, 0, PITCH_NORM, &pos); engsound->EmitSound(rf, params[1], CHAN_AUTO, sound_name, VOL_NORM, ATTN_NORM, 0, PITCH_NORM, &pos);
#endif
} }
} }
+128
View File
@@ -33,8 +33,13 @@
#include <IForwardSys.h> #include <IForwardSys.h>
SH_DECL_HOOK8_void(IVEngineServer, EmitAmbientSound, SH_NOATTRIB, 0, int, const Vector &, const char *, float, soundlevel_t, int, int, float); SH_DECL_HOOK8_void(IVEngineServer, EmitAmbientSound, SH_NOATTRIB, 0, int, const Vector &, const char *, float, soundlevel_t, int, int, float);
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE
SH_DECL_HOOK15_void(IEngineSound, EmitSound, SH_NOATTRIB, 0, IRecipientFilter &, int, int, const char *, float, float, int, int, int, const Vector *, const Vector *, CUtlVector<Vector> *, bool, float, int);
SH_DECL_HOOK15_void(IEngineSound, EmitSound, SH_NOATTRIB, 1, IRecipientFilter &, int, int, const char *, float, soundlevel_t, int, int, int, const Vector *, const Vector *, CUtlVector<Vector> *, bool, float, int);
#else
SH_DECL_HOOK14_void(IEngineSound, EmitSound, SH_NOATTRIB, 0, IRecipientFilter &, int, int, const char *, float, float, int, int, const Vector *, const Vector *, CUtlVector<Vector> *, bool, float, int); SH_DECL_HOOK14_void(IEngineSound, EmitSound, SH_NOATTRIB, 0, IRecipientFilter &, int, int, const char *, float, float, int, int, const Vector *, const Vector *, CUtlVector<Vector> *, bool, float, int);
SH_DECL_HOOK14_void(IEngineSound, EmitSound, SH_NOATTRIB, 1, IRecipientFilter &, int, int, const char *, float, soundlevel_t, int, int, const Vector *, const Vector *, CUtlVector<Vector> *, bool, float, int); SH_DECL_HOOK14_void(IEngineSound, EmitSound, SH_NOATTRIB, 1, IRecipientFilter &, int, int, const char *, float, soundlevel_t, int, int, const Vector *, const Vector *, CUtlVector<Vector> *, bool, float, int);
#endif
bool g_InSoundHook = false; bool g_InSoundHook = false;
@@ -252,10 +257,17 @@ void SoundHooks::OnEmitAmbientSound(int entindex, const Vector &pos, const char
} }
} }
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE
void SoundHooks::OnEmitSound(IRecipientFilter &filter, int iEntIndex, int iChannel, const char *pSample,
float flVolume, soundlevel_t iSoundlevel, int iFlags, int iPitch, int iSpecialDSP, const Vector *pOrigin,
const Vector *pDirection, CUtlVector<Vector> *pUtlVecOrigins, bool bUpdatePositions,
float soundtime, int speakerentity)
#else
void SoundHooks::OnEmitSound(IRecipientFilter &filter, int iEntIndex, int iChannel, const char *pSample, void SoundHooks::OnEmitSound(IRecipientFilter &filter, int iEntIndex, int iChannel, const char *pSample,
float flVolume, soundlevel_t iSoundlevel, int iFlags, int iPitch, const Vector *pOrigin, float flVolume, soundlevel_t iSoundlevel, int iFlags, int iPitch, const Vector *pOrigin,
const Vector *pDirection, CUtlVector<Vector> *pUtlVecOrigins, bool bUpdatePositions, const Vector *pDirection, CUtlVector<Vector> *pUtlVecOrigins, bool bUpdatePositions,
float soundtime, int speakerentity) float soundtime, int speakerentity)
#endif
{ {
SoundHookIter iter; SoundHookIter iter;
IPluginFunction *pFunc; IPluginFunction *pFunc;
@@ -293,6 +305,15 @@ void SoundHooks::OnEmitSound(IRecipientFilter &filter, int iEntIndex, int iChann
{ {
CellRecipientFilter crf; CellRecipientFilter crf;
crf.Initialize(players, size); crf.Initialize(players, size);
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE
RETURN_META_NEWPARAMS(
MRES_IGNORED,
static_cast<void (IEngineSound::*)(IRecipientFilter &, int, int, const char*, float, soundlevel_t,
int, int, int, const Vector *, const Vector *, CUtlVector<Vector> *, bool, float, int)>(&IEngineSound::EmitSound),
(crf, iEntIndex, iChannel, buffer, flVolume, iSoundlevel, iFlags, iPitch, iSpecialDSP, pOrigin,
pDirection, pUtlVecOrigins, bUpdatePositions, soundtime, speakerentity)
);
#else
RETURN_META_NEWPARAMS( RETURN_META_NEWPARAMS(
MRES_IGNORED, MRES_IGNORED,
static_cast<void (IEngineSound::*)(IRecipientFilter &, int, int, const char*, float, soundlevel_t, static_cast<void (IEngineSound::*)(IRecipientFilter &, int, int, const char*, float, soundlevel_t,
@@ -300,15 +321,23 @@ void SoundHooks::OnEmitSound(IRecipientFilter &filter, int iEntIndex, int iChann
(crf, iEntIndex, iChannel, buffer, flVolume, iSoundlevel, iFlags, iPitch, pOrigin, (crf, iEntIndex, iChannel, buffer, flVolume, iSoundlevel, iFlags, iPitch, pOrigin,
pDirection, pUtlVecOrigins, bUpdatePositions, soundtime, speakerentity) pDirection, pUtlVecOrigins, bUpdatePositions, soundtime, speakerentity)
); );
#endif
} }
} }
} }
} }
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE
void SoundHooks::OnEmitSound2(IRecipientFilter &filter, int iEntIndex, int iChannel, const char *pSample,
float flVolume, float flAttenuation, int iFlags, int iPitch, int iSpecialDSP, const Vector *pOrigin,
const Vector *pDirection, CUtlVector<Vector> *pUtlVecOrigins, bool bUpdatePositions,
float soundtime, int speakerentity)
#else
void SoundHooks::OnEmitSound2(IRecipientFilter &filter, int iEntIndex, int iChannel, const char *pSample, void SoundHooks::OnEmitSound2(IRecipientFilter &filter, int iEntIndex, int iChannel, const char *pSample,
float flVolume, float flAttenuation, int iFlags, int iPitch, const Vector *pOrigin, float flVolume, float flAttenuation, int iFlags, int iPitch, const Vector *pOrigin,
const Vector *pDirection, CUtlVector<Vector> *pUtlVecOrigins, bool bUpdatePositions, const Vector *pDirection, CUtlVector<Vector> *pUtlVecOrigins, bool bUpdatePositions,
float soundtime, int speakerentity) float soundtime, int speakerentity)
#endif
{ {
SoundHookIter iter; SoundHookIter iter;
IPluginFunction *pFunc; IPluginFunction *pFunc;
@@ -347,6 +376,15 @@ void SoundHooks::OnEmitSound2(IRecipientFilter &filter, int iEntIndex, int iChan
{ {
CellRecipientFilter crf; CellRecipientFilter crf;
crf.Initialize(players, size); crf.Initialize(players, size);
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE
RETURN_META_NEWPARAMS(
MRES_IGNORED,
static_cast<void (IEngineSound::*)(IRecipientFilter &, int, int, const char*, float, float,
int, int, int, const Vector *, const Vector *, CUtlVector<Vector> *, bool, float, int)>(&IEngineSound::EmitSound),
(crf, iEntIndex, iChannel, buffer, flVolume, SNDLVL_TO_ATTN(static_cast<soundlevel_t>(sndlevel)),
iFlags, iPitch, iSpecialDSP, pOrigin, pDirection, pUtlVecOrigins, bUpdatePositions, soundtime, speakerentity)
);
#else
RETURN_META_NEWPARAMS( RETURN_META_NEWPARAMS(
MRES_IGNORED, MRES_IGNORED,
static_cast<void (IEngineSound::*)(IRecipientFilter &, int, int, const char*, float, float, static_cast<void (IEngineSound::*)(IRecipientFilter &, int, int, const char*, float, float,
@@ -354,6 +392,7 @@ void SoundHooks::OnEmitSound2(IRecipientFilter &filter, int iEntIndex, int iChan
(crf, iEntIndex, iChannel, buffer, flVolume, SNDLVL_TO_ATTN(static_cast<soundlevel_t>(sndlevel)), (crf, iEntIndex, iChannel, buffer, flVolume, SNDLVL_TO_ATTN(static_cast<soundlevel_t>(sndlevel)),
iFlags, iPitch, pOrigin, pDirection, pUtlVecOrigins, bUpdatePositions, soundtime, speakerentity) iFlags, iPitch, pOrigin, pDirection, pUtlVecOrigins, bUpdatePositions, soundtime, speakerentity)
); );
#endif
} }
} }
} }
@@ -547,6 +586,48 @@ static cell_t EmitSound(IPluginContext *pContext, const cell_t *params)
player[0] = cl_array[i]; player[0] = cl_array[i];
crf.Reset(); crf.Reset();
crf.Initialize(player, 1); crf.Initialize(player, 1);
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE
if (g_InSoundHook)
{
SH_CALL(enginesoundPatch,
static_cast<void (IEngineSound::*)(IRecipientFilter &, int, int, const char*, float,
soundlevel_t, int, int, int, const Vector *, const Vector *, CUtlVector<Vector> *, bool, float, int)>
(&IEngineSound::EmitSound))
(crf,
player[0],
channel,
sample,
vol,
(soundlevel_t)level,
flags,
pitch,
0,
pOrigin,
pDir,
pOrigVec,
updatePos,
soundtime,
speakerentity);
}
else
{
engsound->EmitSound(crf,
player[0],
channel,
sample,
vol,
(soundlevel_t)level,
flags,
pitch,
0,
pOrigin,
pDir,
pOrigVec,
updatePos,
soundtime,
speakerentity);
}
#else
if (g_InSoundHook) if (g_InSoundHook)
{ {
SH_CALL(enginesoundPatch, SH_CALL(enginesoundPatch,
@@ -585,8 +666,51 @@ static cell_t EmitSound(IPluginContext *pContext, const cell_t *params)
soundtime, soundtime,
speakerentity); speakerentity);
} }
#endif
} }
} else { } else {
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE
if (g_InSoundHook)
{
SH_CALL(enginesoundPatch,
static_cast<void (IEngineSound::*)(IRecipientFilter &, int, int, const char*, float,
soundlevel_t, int, int, int, const Vector *, const Vector *, CUtlVector<Vector> *, bool, float, int)>
(&IEngineSound::EmitSound))
(crf,
entity,
channel,
sample,
vol,
(soundlevel_t)level,
flags,
pitch,
0,
pOrigin,
pDir,
pOrigVec,
updatePos,
soundtime,
speakerentity);
}
else
{
engsound->EmitSound(crf,
entity,
channel,
sample,
vol,
(soundlevel_t)level,
flags,
pitch,
0,
pOrigin,
pDir,
pOrigVec,
updatePos,
soundtime,
speakerentity);
}
#else
if (g_InSoundHook) if (g_InSoundHook)
{ {
SH_CALL(enginesoundPatch, SH_CALL(enginesoundPatch,
@@ -625,6 +749,7 @@ static cell_t EmitSound(IPluginContext *pContext, const cell_t *params)
soundtime, soundtime,
speakerentity); speakerentity);
} }
#endif
} }
return 1; return 1;
@@ -714,6 +839,9 @@ static cell_t EmitSentence(IPluginContext *pContext, const cell_t *params)
(soundlevel_t)level, (soundlevel_t)level,
flags, flags,
pitch, pitch,
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE
0,
#endif
pOrigin, pOrigin,
pDir, pDir,
pOrigVec, pOrigVec,
+11
View File
@@ -52,6 +52,16 @@ public:
bool RemoveHook(int type, IPluginFunction *pFunc); bool RemoveHook(int type, IPluginFunction *pFunc);
void OnEmitAmbientSound(int entindex, const Vector &pos, const char *samp, float vol, void OnEmitAmbientSound(int entindex, const Vector &pos, const char *samp, float vol,
soundlevel_t soundlevel, int fFlags, int pitch, float delay); soundlevel_t soundlevel, int fFlags, int pitch, float delay);
#if SOURCE_ENGINE == SE_ORANGEBOXVALVE
void OnEmitSound(IRecipientFilter& filter, int iEntIndex, int iChannel, const char *pSample, float flVolume,
soundlevel_t iSoundlevel, int iFlags, int iPitch, int iSpecialDSP, const Vector *pOrigin,
const Vector *pDirection, CUtlVector<Vector> *pUtlVecOrigins, bool bUpdatePositions,
float soundtime, int speakerentity);
void OnEmitSound2(IRecipientFilter& filter, int iEntIndex, int iChannel, const char *pSample, float flVolume,
float flAttenuation, int iFlags, int iPitch, int iSpecialDSP, const Vector *pOrigin,
const Vector *pDirection, CUtlVector<Vector> *pUtlVecOrigins, bool bUpdatePositions,
float soundtime, int speakerentity);
#else
void OnEmitSound(IRecipientFilter& filter, int iEntIndex, int iChannel, const char *pSample, float flVolume, void OnEmitSound(IRecipientFilter& filter, int iEntIndex, int iChannel, const char *pSample, float flVolume,
soundlevel_t iSoundlevel, int iFlags, int iPitch, const Vector *pOrigin, soundlevel_t iSoundlevel, int iFlags, int iPitch, const Vector *pOrigin,
const Vector *pDirection, CUtlVector<Vector> *pUtlVecOrigins, bool bUpdatePositions, const Vector *pDirection, CUtlVector<Vector> *pUtlVecOrigins, bool bUpdatePositions,
@@ -60,6 +70,7 @@ public:
float flAttenuation, int iFlags, int iPitch, const Vector *pOrigin, float flAttenuation, int iFlags, int iPitch, const Vector *pOrigin,
const Vector *pDirection, CUtlVector<Vector> *pUtlVecOrigins, bool bUpdatePositions, const Vector *pDirection, CUtlVector<Vector> *pUtlVecOrigins, bool bUpdatePositions,
float soundtime, int speakerentity); float soundtime, int speakerentity);
#endif
private: private:
size_t _FillInPlayers(int *pl_array, IRecipientFilter *pFilter); size_t _FillInPlayers(int *pl_array, IRecipientFilter *pFilter);
void _IncRefCounter(int type); void _IncRefCounter(int type);
@@ -20,6 +20,7 @@
"game" "tf" "game" "tf"
"game" "hl2mp" "game" "hl2mp"
"game" "cstrike" "game" "cstrike"
"game" "garrysmod"
} }
"Offsets" "Offsets"
@@ -74,6 +75,7 @@
"game" "tf" "game" "tf"
"game" "hl2mp" "game" "hl2mp"
"game" "cstrike" "game" "cstrike"
"game" "garrysmod"
} }
"Signatures" "Signatures"
@@ -195,6 +197,7 @@
"game" "tf" "game" "tf"
"game" "hl2mp" "game" "hl2mp"
"game" "cstrike" "game" "cstrike"
"game" "garrysmod"
} }
"Signatures" "Signatures"
{ {
+24 -24
View File
@@ -28,33 +28,33 @@
{ {
"GiveNamedItem" "GiveNamedItem"
{ {
"windows" "392" "windows" "393"
"linux" "393" "linux" "394"
"mac" "393" "mac" "394"
} }
"RemovePlayerItem" "RemovePlayerItem"
{ {
"windows" "263" "windows" "264"
"linux" "264" "linux" "265"
"mac" "264" "mac" "265"
} }
"Weapon_GetSlot" "Weapon_GetSlot"
{ {
"windows" "261" "windows" "262"
"linux" "262" "linux" "263"
"mac" "262" "mac" "263"
} }
"Ignite" "Ignite"
{ {
"windows" "204" "windows" "205"
"linux" "205" "linux" "206"
"mac" "205" "mac" "206"
} }
"Extinguish" "Extinguish"
{ {
"windows" "208" "windows" "209"
"linux" "209" "linux" "210"
"mac" "209" "mac" "210"
} }
"Teleport" "Teleport"
{ {
@@ -64,9 +64,9 @@
} }
"CommitSuicide" "CommitSuicide"
{ {
"windows" "433" "windows" "434"
"linux" "433" "linux" "434"
"mac" "433" "mac" "434"
} }
"GetVelocity" "GetVelocity"
{ {
@@ -94,9 +94,9 @@
} }
"WeaponEquip" "WeaponEquip"
{ {
"windows" "254" "windows" "255"
"linux" "255" "linux" "256"
"mac" "255" "mac" "256"
} }
"Activate" "Activate"
{ {
@@ -106,9 +106,9 @@
} }
"PlayerRunCmd" "PlayerRunCmd"
{ {
"windows" "410" "windows" "411"
"linux" "411" "linux" "412"
"mac" "411" "mac" "412"
} }
} }
} }
+24 -24
View File
@@ -18,33 +18,33 @@
{ {
"GiveNamedItem" "GiveNamedItem"
{ {
"windows" "391" "windows" "392"
"linux" "392" "linux" "393"
"mac" "392" "mac" "393"
} }
"RemovePlayerItem" "RemovePlayerItem"
{ {
"windows" "263" "windows" "264"
"linux" "264" "linux" "265"
"mac" "264" "mac" "265"
} }
"Weapon_GetSlot" "Weapon_GetSlot"
{ {
"windows" "261" "windows" "262"
"linux" "262" "linux" "263"
"mac" "262" "mac" "263"
} }
"Ignite" "Ignite"
{ {
"windows" "204" "windows" "205"
"linux" "205" "linux" "206"
"mac" "205" "mac" "206"
} }
"Extinguish" "Extinguish"
{ {
"windows" "208" "windows" "209"
"linux" "209" "linux" "210"
"mac" "209" "mac" "210"
} }
"Teleport" "Teleport"
{ {
@@ -54,9 +54,9 @@
} }
"CommitSuicide" "CommitSuicide"
{ {
"windows" "429" "windows" "430"
"linux" "430" "linux" "431"
"mac" "430" "mac" "431"
} }
"GetVelocity" "GetVelocity"
{ {
@@ -84,9 +84,9 @@
} }
"WeaponEquip" "WeaponEquip"
{ {
"windows" "254" "windows" "255"
"linux" "255" "linux" "256"
"mac" "255" "mac" "256"
} }
"Activate" "Activate"
{ {
@@ -96,9 +96,9 @@
} }
"PlayerRunCmd" "PlayerRunCmd"
{ {
"windows" "409" "windows" "410"
"linux" "410" "linux" "411"
"mac" "410" "mac" "411"
} }
} }
+24 -85
View File
@@ -18,33 +18,33 @@
{ {
"GiveNamedItem" "GiveNamedItem"
{ {
"windows" "433" "windows" "434"
"linux" "434" "linux" "435"
"mac" "434" "mac" "435"
} }
"RemovePlayerItem" "RemovePlayerItem"
{ {
"windows" "305" "windows" "306"
"linux" "306" "linux" "307"
"mac" "306" "mac" "307"
} }
"Weapon_GetSlot" "Weapon_GetSlot"
{ {
"windows" "303" "windows" "304"
"linux" "304" "linux" "305"
"mac" "304" "mac" "305"
} }
"Ignite" "Ignite"
{ {
"windows" "240" "windows" "241"
"linux" "241" "linux" "242"
"mac" "241" "mac" "242"
} }
"Extinguish" "Extinguish"
{ {
"windows" "244" "windows" "245"
"linux" "245" "linux" "246"
"mac" "245" "mac" "246"
} }
"Teleport" "Teleport"
{ {
@@ -54,9 +54,9 @@
} }
"CommitSuicide" "CommitSuicide"
{ {
"windows" "472" "windows" "473"
"linux" "472" "linux" "473"
"mac" "472" "mac" "473"
} }
"GetVelocity" "GetVelocity"
{ {
@@ -84,9 +84,9 @@
} }
"WeaponEquip" "WeaponEquip"
{ {
"windows" "296" "windows" "297"
"linux" "297" "linux" "298"
"mac" "297" "mac" "298"
} }
"Activate" "Activate"
{ {
@@ -96,70 +96,9 @@
} }
"PlayerRunCmd" "PlayerRunCmd"
{ {
"windows" "451" "windows" "452"
"linux" "452" "linux" "453"
"mac" "452" "mac" "453"
}
}
"Signatures"
{
"FindEntityByClassname"
{
"library" "server"
"windows" "\x53\x55\x56\x8B\xF1\x8B\x2A\x2A\x2A\x85\xC9\x57\x74\x2A\x8B\x01\x8B\x50\x2A\xFF\xD2\x8B\x00\x25\x2A\x2A\x2A\x2A\x83\xC0\x2A\xC1\xE0\x2A\x8B\x3C\x30\xEB\x2A\x8B\x2A\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x2A\x2A\x2A\x8B\x2A\x2A\x2A\x2A\x2A\xEB\x2A\x8D\x2A\x2A\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\x2A\x2A\xEB\x2A\x39"
"linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
"mac" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
}
"FireOutput"
{
"library" "server"
"windows" "\x81\xEC\x2A\x2A\x2A\x2A\x53\x55\x56\x8B\x71\x2A\x85\xF6"
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
"mac" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
}
}
}
"#default"
{
"Offsets"
{
"s_pTempEntities"
{
"windows" "17"
}
"GetTEName"
{
"windows" "4"
"linux" "4"
"mac" "4"
}
"GetTENext"
{
"windows" "8"
"linux" "8"
"mac" "8"
}
"TE_GetServerClass"
{
"windows" "0"
"linux" "0"
"mac" "0"
}
}
"Signatures"
{
"CBaseTempEntity"
{
"library" "server"
"windows" "\x8B\xC1\x8B\x4C\x24\x04\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x04\x8B\x15\x2A\x2A\x2A\x2A\x89\x50\x08\xA3\x2A\x2A\x2A\x2A\xC2\x04\x00"
}
"s_pTempEntities"
{
"library" "server"
"linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE"
"mac" "@_ZN15CBaseTempEntity15s_pTempEntitiesE"
} }
} }
} }
+24 -24
View File
@@ -18,33 +18,33 @@
{ {
"GiveNamedItem" "GiveNamedItem"
{ {
"windows" "391" "windows" "392"
"linux" "392" "linux" "393"
"mac" "392" "mac" "393"
} }
"RemovePlayerItem" "RemovePlayerItem"
{ {
"windows" "263" "windows" "264"
"linux" "264" "linux" "265"
"mac" "264" "mac" "265"
} }
"Weapon_GetSlot" "Weapon_GetSlot"
{ {
"windows" "261" "windows" "262"
"linux" "262" "linux" "263"
"mac" "262" "mac" "263"
} }
"Ignite" "Ignite"
{ {
"windows" "204" "windows" "205"
"linux" "205" "linux" "206"
"mac" "205" "mac" "206"
} }
"Extinguish" "Extinguish"
{ {
"windows" "208" "windows" "209"
"linux" "209" "linux" "210"
"mac" "209" "mac" "210"
} }
"Teleport" "Teleport"
{ {
@@ -54,9 +54,9 @@
} }
"CommitSuicide" "CommitSuicide"
{ {
"windows" "430" "windows" "431"
"linux" "430" "linux" "431"
"mac" "430" "mac" "431"
} }
"GetVelocity" "GetVelocity"
{ {
@@ -84,9 +84,9 @@
} }
"WeaponEquip" "WeaponEquip"
{ {
"windows" "254" "windows" "255"
"linux" "255" "linux" "256"
"mac" "255" "mac" "256"
} }
"Activate" "Activate"
{ {
@@ -96,9 +96,9 @@
} }
"PlayerRunCmd" "PlayerRunCmd"
{ {
"windows" "409" "windows" "410"
"linux" "410" "linux" "411"
"mac" "410" "mac" "411"
} }
} }
} }
+24 -24
View File
@@ -7,33 +7,33 @@
{ {
"GiveNamedItem" "GiveNamedItem"
{ {
"windows" "442" "windows" "443"
"linux" "443" "linux" "444"
"mac" "443" "mac" "444"
} }
"RemovePlayerItem" "RemovePlayerItem"
{ {
"windows" "300" "windows" "301"
"linux" "301" "linux" "302"
"mac" "301" "mac" "302"
} }
"Weapon_GetSlot" "Weapon_GetSlot"
{ {
"windows" "298" "windows" "299"
"linux" "299" "linux" "300"
"mac" "299" "mac" "300"
} }
"Ignite" "Ignite"
{ {
"windows" "233" "windows" "234"
"linux" "234" "linux" "235"
"mac" "234" "mac" "235"
} }
"Extinguish" "Extinguish"
{ {
"windows" "236" "windows" "237"
"linux" "237" "linux" "238"
"mac" "237" "mac" "238"
} }
"Teleport" "Teleport"
{ {
@@ -43,9 +43,9 @@
} }
"CommitSuicide" "CommitSuicide"
{ {
"windows" "487" "windows" "488"
"linux" "487" "linux" "488"
"mac" "487" "mac" "488"
} }
"GetVelocity" "GetVelocity"
{ {
@@ -73,9 +73,9 @@
} }
"WeaponEquip" "WeaponEquip"
{ {
"windows" "291" "windows" "292"
"linux" "292" "linux" "293"
"mac" "292" "mac" "293"
} }
"Activate" "Activate"
{ {
@@ -85,9 +85,9 @@
} }
"PlayerRunCmd" "PlayerRunCmd"
{ {
"windows" "465" "windows" "466"
"linux" "466" "linux" "467"
"mac" "466" "mac" "467"
} }
} }
+42 -42
View File
@@ -18,87 +18,87 @@
{ {
"GiveNamedItem" "GiveNamedItem"
{ {
"windows" "391" "windows" "393"
"linux" "392" "linux" "394"
"mac" "392" "mac" "394"
} }
"RemovePlayerItem" "RemovePlayerItem"
{
"windows" "265"
"linux" "266"
"mac" "266"
}
"Weapon_GetSlot"
{ {
"windows" "263" "windows" "263"
"linux" "264" "linux" "264"
"mac" "264" "mac" "264"
} }
"Weapon_GetSlot"
{
"windows" "261"
"linux" "262"
"mac" "262"
}
"Ignite" "Ignite"
{ {
"windows" "204" "windows" "206"
"linux" "205" "linux" "207"
"mac" "205" "mac" "207"
} }
"Extinguish" "Extinguish"
{ {
"windows" "208" "windows" "210"
"linux" "209" "linux" "211"
"mac" "209" "mac" "211"
} }
"Teleport" "Teleport"
{ {
"windows" "106" "windows" "107"
"linux" "107" "linux" "108"
"mac" "107" "mac" "108"
} }
"CommitSuicide" "CommitSuicide"
{ {
"windows" "432" "windows" "434"
"linux" "432" "linux" "434"
"mac" "432" "mac" "434"
} }
"GetVelocity" "GetVelocity"
{ {
"windows" "138" "windows" "139"
"linux" "139" "linux" "140"
"mac" "139" "mac" "140"
} }
"EyeAngles" "EyeAngles"
{ {
"windows" "129" "windows" "130"
"linux" "130" "linux" "131"
"mac" "130" "mac" "131"
} }
"SetEntityModel" "SetEntityModel"
{ {
"windows" "23" "windows" "24"
"linux" "24" "linux" "25"
"mac" "24" "mac" "25"
} }
"AcceptInput" "AcceptInput"
{ {
"windows" "35" "windows" "36"
"linux" "36" "linux" "37"
"mac" "36" "mac" "37"
} }
"WeaponEquip" "WeaponEquip"
{ {
"windows" "254" "windows" "256"
"linux" "255" "linux" "257"
"mac" "255" "mac" "257"
} }
"Activate" "Activate"
{ {
"windows" "32" "windows" "33"
"linux" "33" "linux" "34"
"mac" "33" "mac" "34"
} }
"PlayerRunCmd" "PlayerRunCmd"
{ {
"windows" "409" "windows" "411"
"linux" "410" "linux" "412"
"mac" "410" "mac" "412"
} }
} }
+3 -3
View File
@@ -125,9 +125,9 @@
{ {
"ForceRespawn" "ForceRespawn"
{ {
"windows" "318" "windows" "320"
"linux" "319" "linux" "321"
"mac" "319" "mac" "321"
} }
} }
} }
+1
View File
@@ -126,6 +126,7 @@ enum TFHoliday
TFHoliday_Birthday = 1, TFHoliday_Birthday = 1,
TFHoliday_Halloween, TFHoliday_Halloween,
TFHoliday_Christmas, TFHoliday_Christmas,
TFHoliday_MeetThePyro,
TFHoliday_FullMoon, TFHoliday_FullMoon,
TFHoliday_HalloweenOrFullMoon, TFHoliday_HalloweenOrFullMoon,
}; };
+2
View File
@@ -132,6 +132,7 @@ enum {
TF_CUSTOM_PLASMA_GIB, TF_CUSTOM_PLASMA_GIB,
TF_CUSTOM_PRACTICE_STICKY, TF_CUSTOM_PRACTICE_STICKY,
TF_CUSTOM_EYEBALL_ROCKET, TF_CUSTOM_EYEBALL_ROCKET,
TF_CUSTOM_HEADSHOT_DECAPITATION,
}; };
// Weapon codes as used in some events, such as player_death // Weapon codes as used in some events, such as player_death
@@ -222,6 +223,7 @@ enum {
TF_WEAPON_BAT_GIFTWRAP, TF_WEAPON_BAT_GIFTWRAP,
TF_WEAPON_GRENADE_ORNAMENT, TF_WEAPON_GRENADE_ORNAMENT,
TF_WEAPON_RAYGUN_REVENGE, TF_WEAPON_RAYGUN_REVENGE,
TF_WEAPON_PEP_BRAWLER_BLASTER,
}; };
// TF2 Weapon Slots for GetPlayerWeaponSlot // TF2 Weapon Slots for GetPlayerWeaponSlot
+2 -2
View File
@@ -37,6 +37,6 @@
#define SOURCEMOD_V_MAJOR 1 /**< SourceMod Major version */ #define SOURCEMOD_V_MAJOR 1 /**< SourceMod Major version */
#define SOURCEMOD_V_MINOR 4 /**< SourceMod Minor version */ #define SOURCEMOD_V_MINOR 4 /**< SourceMod Minor version */
#define SOURCEMOD_V_RELEASE 3 /**< SourceMod Release version */ #define SOURCEMOD_V_RELEASE 4 /**< SourceMod Release version */
#define SOURCEMOD_VERSION "1.4.3" /**< SourceMod version string (major.minor.release.build) */ #define SOURCEMOD_VERSION "1.4.4" /**< SourceMod version string (major.minor.release.build) */
+1 -1
View File
@@ -1 +1 @@
1.4.3 1.4.4
+3
View File
@@ -191,6 +191,9 @@ bool SDKExtension::OnExtensionLoad(IExtension *me, IShareSys *sys, char *error,
#if defined SMEXT_ENABLE_TRANSLATOR #if defined SMEXT_ENABLE_TRANSLATOR
SM_GET_IFACE(TRANSLATOR, translator); SM_GET_IFACE(TRANSLATOR, translator);
#endif #endif
#if defined SMEXT_ENABLE_NINVOKE
SM_GET_IFACE(NINVOKE, ninvoke);
#endif
#if defined SMEXT_ENABLE_ROOTCONSOLEMENU #if defined SMEXT_ENABLE_ROOTCONSOLEMENU
SM_GET_IFACE(ROOTCONSOLE, rootconsole); SM_GET_IFACE(ROOTCONSOLE, rootconsole);
#endif #endif
+1 -1
View File
@@ -20,7 +20,7 @@ Pants will save us from certain death.
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 file sure has gotten big. This file sure has gotten big.
sawce loves anime, sushi, and macs applesawce loves anime, sushi, and macs
u u
not me not me
skull man was here skull man was here