void CL_VM_CB_BeginIncreaseEdicts(void)
{
- int i;
- prvm_edict_t *ent;
-
// links don't survive the transition, so unlink everything
- for (i = 0, ent = prog->edicts;i < prog->max_edicts;i++, ent++)
- {
- if (!ent->priv.server->free)
- World_UnlinkEdict(prog->edicts + i);
- memset(&ent->priv.server->areagrid, 0, sizeof(ent->priv.server->areagrid));
- }
- World_Clear(&cl.world);
+ World_UnlinkAll(&cl.world);
}
void CL_VM_CB_EndIncreaseEdicts(void)
// set time
prog->globals.client->time = cl.time;
- prog->globals.client->mapname = PRVM_SetEngineString(cl.worldmodel->name);
+ prog->globals.client->mapname = cl.worldmodel ? PRVM_SetEngineString(cl.worldmodel->name) : PRVM_SetEngineString("");
prog->globals.client->player_localentnum = cl.playerentity;
// set map description (use world entity 0)
val = PRVM_EDICTFIELDVALUE(prog->edicts, prog->fieldoffsets.message);
if(val)
val->string = PRVM_SetEngineString(cl.levelname);
+ VectorCopy(cl.world.mins, prog->edicts->fields.client->mins);
+ VectorCopy(cl.world.maxs, prog->edicts->fields.client->maxs);
// call the prog init
PRVM_ExecuteProgram(prog->funcoffsets.CSQC_Init, "QC function CSQC_Init is missing");