clear not-yet allocated entities to 0xdeadbeef

This commit is contained in:
Bill Currie 2001-04-20 17:51:57 +00:00
parent fa4ee64984
commit 4be4e5ccf6
4 changed files with 21 additions and 4 deletions

View file

@ -80,6 +80,7 @@ void PR_Init_Cvars (void);
void PR_ExecuteProgram (progs_t *pr, func_t fnum);
void PR_LoadProgs (progs_t *pr, char *progsname);
void PR_LoadStrings (progs_t *pr);
edict_t *PR_InitEdicts (progs_t *pr, int num_edicts);
void PR_Profile_f (void);

View file

@ -1207,6 +1207,24 @@ PR_LoadProgs (progs_t * pr, char *progsname)
}
}
edict_t *
PR_InitEdicts (progs_t *pr, int num_edicts)
{
edict_t *edicts;
edict_t *e;
int i, j;
pr->pr_edictareasize = pr->pr_edict_size * num_edicts;
edicts = Hunk_AllocName (pr->pr_edictareasize, "edicts");
memset (edicts, 0, *pr->reserved_edicts * pr->pr_edict_size);
(*pr->edicts) = edicts;
for (j = *pr->reserved_edicts; j < num_edicts; j++) {
e = EDICT_NUM (pr, j);
for (i=0; i < pr->progs->entityfields; i++)
e->v[i].int_var = 0xdeadbeef;
}
return edicts;
}
void
PR_Init_Cvars (void)
{

View file

@ -1112,8 +1112,7 @@ SV_SpawnServer (char *server)
// allocate server memory
sv.max_edicts = MAX_EDICTS;
sv_pr_state.pr_edictareasize = sv_pr_state.pr_edict_size * MAX_EDICTS;
sv.edicts = Hunk_AllocName (sv_pr_state.pr_edictareasize, "edicts");
sv.edicts = PR_InitEdicts (&sv_pr_state, sv.max_edicts);
// init the data field of the edicts
for (i = 0; i < MAX_EDICTS; i++) {

View file

@ -343,8 +343,7 @@ SV_SpawnServer (char *server)
MAX_SERVERINFO_STRING);
// allocate edicts
sv_pr_state.pr_edictareasize = sv_pr_state.pr_edict_size * MAX_EDICTS;
sv.edicts = Hunk_AllocName (sv_pr_state.pr_edictareasize, "edicts");
sv.edicts = PR_InitEdicts (&sv_pr_state, MAX_EDICTS);
// init the data field of the edicts
for (i = 0; i < MAX_EDICTS; i++) {