mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-01-31 13:10:34 +00:00
Fix the accidentally broken model precaching.
This fixes the explodebox bug reported by scar3crow (thanks!), caused by a subtle difference between nq and qw precaching (nasty).
This commit is contained in:
parent
cb9a30e949
commit
e7f845ece1
1 changed files with 8 additions and 5 deletions
|
@ -756,7 +756,7 @@ PR_CheckEmptyString (progs_t *pr, const char *s)
|
||||||
PR_RunError (pr, "Bad string");
|
PR_RunError (pr, "Bad string");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static int
|
||||||
do_precache (progs_t *pr, const char **cache, int max, const char *name,
|
do_precache (progs_t *pr, const char **cache, int max, const char *name,
|
||||||
const char *func)
|
const char *func)
|
||||||
{
|
{
|
||||||
|
@ -782,10 +782,10 @@ do_precache (progs_t *pr, const char **cache, int max, const char *name,
|
||||||
strcpy (c, s);
|
strcpy (c, s);
|
||||||
cache[i] = c; // blah, const
|
cache[i] = c; // blah, const
|
||||||
Sys_MaskPrintf (SYS_DEV, "%s: %3d %s\n", func, i, s);
|
Sys_MaskPrintf (SYS_DEV, "%s: %3d %s\n", func, i, s);
|
||||||
return;
|
return i;
|
||||||
}
|
}
|
||||||
if (!strcmp (cache[i], s))
|
if (!strcmp (cache[i], s))
|
||||||
return;
|
return i;
|
||||||
}
|
}
|
||||||
PR_RunError (pr, "%s: overflow", func);
|
PR_RunError (pr, "%s: overflow", func);
|
||||||
}
|
}
|
||||||
|
@ -814,8 +814,11 @@ PF_precache_sound (progs_t *pr)
|
||||||
static void
|
static void
|
||||||
PF_precache_model (progs_t *pr)
|
PF_precache_model (progs_t *pr)
|
||||||
{
|
{
|
||||||
do_precache (pr, sv.model_precache, MAX_MODELS, P_GSTRING (pr, 0),
|
int ind;
|
||||||
"precache_model");
|
const char *mod = P_GSTRING (pr, 0);
|
||||||
|
ind = do_precache (pr, sv.model_precache, MAX_MODELS, mod,
|
||||||
|
"precache_model");
|
||||||
|
sv.models[ind] = Mod_ForName (mod, true);
|
||||||
R_INT (pr) = P_INT (pr, 0);
|
R_INT (pr) = P_INT (pr, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue