diff --git a/Quake/cl_parse.c b/Quake/cl_parse.c index 3814b16d..c88a5186 100644 --- a/Quake/cl_parse.c +++ b/Quake/cl_parse.c @@ -126,6 +126,7 @@ entity_t *CL_EntityNum (int num) { cl_entities[cl.num_entities].colormap = vid.colormap; cl_entities[cl.num_entities].lerpflags |= LERP_RESETMOVE|LERP_RESETANIM; //johnfitz + cl_entities[cl.num_entities].baseline.scale = ENTSCALE_DEFAULT; cl.num_entities++; } } @@ -622,7 +623,7 @@ void CL_ParseUpdate (int bits) } else ent->alpha = ent->baseline.alpha; - ent->scale = ENTSCALE_DEFAULT; + ent->scale = ent->baseline.scale; } //johnfitz diff --git a/Quake/host_cmd.c b/Quake/host_cmd.c index ae4c17bc..bc3307e4 100644 --- a/Quake/host_cmd.c +++ b/Quake/host_cmd.c @@ -1239,6 +1239,7 @@ static void Host_Loadgame_f (void) } else { memset (ent, 0, pr_edict_size); + ent->baseline.scale = ENTSCALE_DEFAULT; } data = ED_ParseEdict (data, ent); diff --git a/Quake/pr_edict.c b/Quake/pr_edict.c index d4145161..5717fefd 100644 --- a/Quake/pr_edict.c +++ b/Quake/pr_edict.c @@ -131,6 +131,7 @@ edict_t *ED_Alloc (void) sv.num_edicts++; e = EDICT_NUM(i); memset(e, 0, pr_edict_size); // ericw -- switched sv.edicts to malloc(), so we are accessing uninitialized memory and must fully zero it, not just ED_ClearEdict + e->baseline.scale = ENTSCALE_DEFAULT; return e; } @@ -159,6 +160,7 @@ void ED_Free (edict_t *ed) ed->v.nextthink = -1; ed->v.solid = 0; ed->alpha = ENTALPHA_DEFAULT; //johnfitz -- reset alpha for next entity + ed->scale = ENTSCALE_DEFAULT; ed->freetime = sv.time; } diff --git a/Quake/sv_main.c b/Quake/sv_main.c index 6d6d25d6..4eebaef6 100644 --- a/Quake/sv_main.c +++ b/Quake/sv_main.c @@ -1247,7 +1247,7 @@ void SV_CreateBaseline (void) svent->baseline.colormap = 0; svent->baseline.modelindex = SV_ModelIndex(PR_GetString(svent->v.model)); svent->baseline.alpha = svent->alpha; //johnfitz -- alpha support - svent->baseline.scale = svent->scale; + svent->baseline.scale = ENTSCALE_DEFAULT; } //johnfitz -- PROTOCOL_FITZQUAKE