merged trunk back into 1.1.0 branch for "safety"

--HG--
branch : sourcemod-1.1.0
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/branches/sourcemod-1.1.0%401721
This commit is contained in:
David Anderson
2007-11-23 05:10:33 +00:00
parent 0601988e80
commit 3f49d29274
75 changed files with 3382 additions and 2175 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ HL2SDK = ../../../hl2sdk
PROJECT = game.cstrike
#Uncomment for SourceMM-enabled extensions
#LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so
LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so
OBJECTS = sdk/smsdk_ext.cpp extension.cpp natives.cpp RegNatives.cpp timeleft.cpp
+1 -1
View File
@@ -13,7 +13,7 @@ HL2SDK = ../../../hl2sdk-ob
PROJECT = game.cstrike
#Uncomment for SourceMM-enabled extensions
#LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so
LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so
OBJECTS = sdk/smsdk_ext.cpp extension.cpp natives.cpp RegNatives.cpp timeleft.cpp
+1 -1
View File
@@ -13,7 +13,7 @@ HL2SDK = ../../../hl2sdk
PROJECT = game.cstrike
#Uncomment for SourceMM-enabled extensions
#LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so
LINK_HL2 = $(HL2LIB)/tier1_i486.a vstdlib_i486.so tier0_i486.so
OBJECTS = sdk/smsdk_ext.cpp extension.cpp natives.cpp RegNatives.cpp timeleft.cpp
+6
View File
@@ -45,6 +45,7 @@ IBinTools *g_pBinTools = NULL;
IGameConfig *g_pGameConf = NULL;
IGameEventManager2 *gameevents = NULL;
bool hooked_everything = false;
int g_msgHintText = -1;
SMEXT_LINK(&g_CStrike);
@@ -67,6 +68,11 @@ bool CStrike::SDK_OnLoad(char *error, size_t maxlength, bool late)
sharesys->AddNatives(myself, g_CSNatives);
sharesys->RegisterLibrary(myself, "cstrike");
if ((g_msgHintText = usermsgs->GetMessageIndex("HintText")) != -1)
{
sharesys->OverrideNatives(myself, g_CS_PrintHintText);
}
return true;
}
+2
View File
@@ -122,5 +122,7 @@ public:
/* Interfaces from SourceMod */
extern IBinTools *g_pBinTools;
extern IGameConfig *g_pGameConf;
extern int g_msgHintText;
extern sp_nativeinfo_t g_CS_PrintHintText[];
#endif // _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_
+45
View File
@@ -69,6 +69,45 @@ inline CBaseEntity *GetCBaseEntity(int num, bool isplayer)
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->GetContext()->n_err != SP_ERROR_NONE)
{
return 0;
}
bf_write *pBitBuf = usermsgs->StartMessage(g_msgHintText, &params[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 ICallWrapper *pWrapper = NULL;
@@ -124,3 +163,9 @@ sp_nativeinfo_t g_CSNatives[] =
{"CS_SwitchTeam", CS_SwitchTeam},
{NULL, NULL}
};
sp_nativeinfo_t g_CS_PrintHintText[] =
{
{"PrintHintText", CS_PrintHintText},
{NULL, NULL},
};
+1
View File
@@ -71,5 +71,6 @@
#define SMEXT_ENABLE_TIMERSYS
//#define SMEXT_ENABLE_THREADER
//#define SMEXT_ENABLE_LIBSYS
#define SMEXT_ENABLE_USERMSGS
#endif // _INCLUDE_SOURCEMOD_EXTENSION_CONFIG_H_
+6
View File
@@ -79,6 +79,9 @@ IThreader *threader = NULL;
#if defined SMEXT_ENABLE_LIBSYS
ILibrarySys *libsys = NULL;
#endif
#if defined SMEXT_ENABLE_USERMSGS
IUserMessages *usermsgs = NULL;
#endif
/** Exports the main interface */
PLATFORM_EXTERN_C IExtensionInterface *GetSMExtAPI()
@@ -149,6 +152,9 @@ bool SDKExtension::OnExtensionLoad(IExtension *me, IShareSys *sys, char *error,
#if defined SMEXT_ENABLE_LIBSYS
SM_GET_IFACE(LIBRARYSYS, libsys);
#endif
#if defined SMEXT_ENABLE_USERMSGS
SM_GET_IFACE(USERMSGS, usermsgs);
#endif
if (SDK_OnLoad(error, maxlength, late))
{
+6
View File
@@ -73,6 +73,9 @@
#if defined SMEXT_ENABLE_LIBSYS
#include <ILibrarySys.h>
#endif
#if defined SMEXT_ENABLE_USERMSGS
#include <IUserMessages.h>
#endif
#if defined SMEXT_CONF_METAMOD
#include <ISmmPlugin.h>
@@ -260,6 +263,9 @@ extern IThreader *threader;
#if defined SMEXT_ENABLE_LIBSYS
extern ILibrarySys *libsys;
#endif
#if defined SMEXT_ENABLE_USERMSGS
extern IUserMessages *usermsgs;
#endif
#if defined SMEXT_CONF_METAMOD
PLUGIN_GLOBALVARS();