+extern void CL_Locs_Reload_f(void);
+extern void CL_VM_Init (void);
+static void CL_SetupWorldModel(void)
+{
+ // update the world model
+ cl.entities[0].render.model = cl.worldmodel = cl.model_precache[1];
+ CL_UpdateRenderEntity(&cl.entities[0].render);
+
+ // set up csqc world for collision culling
+ if (cl.worldmodel)
+ {
+ VectorCopy(cl.worldmodel->normalmins, cl.world.areagrid_mins);
+ VectorCopy(cl.worldmodel->normalmaxs, cl.world.areagrid_maxs);
+ }
+ else
+ {
+ VectorSet(cl.world.areagrid_mins, -4096, -4096, -4096);
+ VectorSet(cl.world.areagrid_maxs, 4096, 4096, 4096);
+ }
+ World_Clear(&cl.world);
+
+ // load or reload .loc file for team chat messages
+ CL_Locs_Reload_f();
+
+ // reset particles and other per-level things
+ R_Modules_NewMap();
+
+ // load the team chat beep if possible
+ cl.foundtalk2wav = FS_FileExists("sound/misc/talk2.wav");
+
+ // check memory integrity
+ Mem_CheckSentinelsGlobal();
+
+ // load the csqc now
+ if (cl.loadcsqc)
+ {
+ cl.loadcsqc = false;
+ CL_VM_Init();
+ }
+}
+