Fixed SetView (by always hooking Spawn and precaching the needed dummy model rpgrocket.mdl)

This commit is contained in:
Johnny Bergström 2004-10-27 19:06:43 +00:00
parent ddfba00791
commit 8f18856e91
2 changed files with 8 additions and 2 deletions

View File

@ -90,7 +90,7 @@ void OnPluginsLoaded()
g_pFunctionTable->pfnPlayerPostThink=PlayerPostThink_Post; g_pFunctionTable->pfnPlayerPostThink=PlayerPostThink_Post;
g_pFunctionTable->pfnSpawn=NULL; // "pfn_spawn" g_pFunctionTable->pfnSpawn=NULL; // "pfn_spawn"
if (CheckForPublic("pfn_spawn")) //if (CheckForPublic("pfn_spawn")) // JGHG: I commented this if out because we always need the Spawn to precache the rocket mdl used with SetView native
g_pFunctionTable->pfnSpawn=Spawn; g_pFunctionTable->pfnSpawn=Spawn;
g_pFunctionTable->pfnClientKill=NULL; // "client_kill" g_pFunctionTable->pfnClientKill=NULL; // "client_kill"

View File

@ -20,6 +20,7 @@ CVector<EntClass *> Thinks;
CVector<Touch *> Touches; CVector<Touch *> Touches;
KeyValueData *g_pkvd; KeyValueData *g_pkvd;
bool g_inKeyValue=false; bool g_inKeyValue=false;
bool g_precachedStuff = false;
int fstrcmp(const char *s1, const char *s2) int fstrcmp(const char *s1, const char *s2)
{ {
@ -37,6 +38,11 @@ int fstrcmp(const char *s1, const char *s2)
} }
int Spawn(edict_t *pEntity) { int Spawn(edict_t *pEntity) {
if (!g_precachedStuff) {
// Used for SetView, added by JGHG
int returnValue = PRECACHE_MODEL("models/rpgrocket.mdl");
g_precachedStuff = true;
}
if (SpawnForward != -1) { if (SpawnForward != -1) {
int retVal = 0; int retVal = 0;
int id = ENTINDEX(pEntity); int id = ENTINDEX(pEntity);