mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-26 22:31:05 +00:00
Ensure edict_size is never 0.
Avoids division by / in NUM_FOR_EDICT
This commit is contained in:
parent
1dd5cccda2
commit
0036a5e113
2 changed files with 4 additions and 2 deletions
|
@ -42,6 +42,7 @@
|
||||||
#include "QF/cvar.h"
|
#include "QF/cvar.h"
|
||||||
#include "QF/dstring.h"
|
#include "QF/dstring.h"
|
||||||
#include "QF/hash.h"
|
#include "QF/hash.h"
|
||||||
|
#include "QF/mathlib.h"
|
||||||
#include "QF/progs.h"
|
#include "QF/progs.h"
|
||||||
#include "QF/qdefs.h"
|
#include "QF/qdefs.h"
|
||||||
#include "QF/qendian.h"
|
#include "QF/qendian.h"
|
||||||
|
@ -174,7 +175,7 @@ PR_LoadProgsFile (progs_t *pr, QFile *file, int size, int edicts, int zone)
|
||||||
pr->zone_size &= ~(sizeof (void*) - 1);
|
pr->zone_size &= ~(sizeof (void*) - 1);
|
||||||
|
|
||||||
// size of edict asked for by progs
|
// size of edict asked for by progs
|
||||||
pr->pr_edict_size = progs.entityfields * 4;
|
pr->pr_edict_size = max (1, progs.entityfields) * 4;
|
||||||
// size of engine data
|
// size of engine data
|
||||||
pr->pr_edict_size += sizeof (edict_t) - sizeof (pr_type_t);
|
pr->pr_edict_size += sizeof (edict_t) - sizeof (pr_type_t);
|
||||||
// round off to next highest whole word address (esp for Alpha)
|
// round off to next highest whole word address (esp for Alpha)
|
||||||
|
|
|
@ -55,6 +55,7 @@
|
||||||
#include "QF/cmd.h"
|
#include "QF/cmd.h"
|
||||||
#include "QF/cvar.h"
|
#include "QF/cvar.h"
|
||||||
#include "QF/hash.h"
|
#include "QF/hash.h"
|
||||||
|
#include "QF/mathlib.h"
|
||||||
#include "QF/pr_comp.h"
|
#include "QF/pr_comp.h"
|
||||||
#include "QF/progs.h"
|
#include "QF/progs.h"
|
||||||
#include "QF/quakeio.h"
|
#include "QF/quakeio.h"
|
||||||
|
@ -263,7 +264,7 @@ convert_qfo (void)
|
||||||
pr.pr_fielddefs = P (ddef_t, ofs_fielddefs);
|
pr.pr_fielddefs = P (ddef_t, ofs_fielddefs);
|
||||||
pr.pr_globals = P (pr_type_t, ofs_globals);
|
pr.pr_globals = P (pr_type_t, ofs_globals);
|
||||||
pr.globals_size = pr.progs->numglobals;
|
pr.globals_size = pr.progs->numglobals;
|
||||||
pr.pr_edict_size = pr.progs->entityfields * 4;
|
pr.pr_edict_size = max (1, pr.progs->entityfields) * 4;
|
||||||
pr.pr_edictareasize = 1 * pr.pr_edict_size;
|
pr.pr_edictareasize = 1 * pr.pr_edict_size;
|
||||||
#undef P
|
#undef P
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue