}
}
+static void CL_ToggleMenu_Hook(void)
+{
+#ifdef CONFIG_MENU
+ // remove menu
+ if (key_dest == key_menu || key_dest == key_menu_grabbed)
+ MR_ToggleMenu(0);
+#endif
+ key_dest = key_game;
+}
+
extern cvar_t rcon_secure;
/*
CL_EstablishConnection("local:1", -2);
}
+static qbool CL_Intermission(void)
+{
+ return cl.intermission;
+}
+
/*
==============
CL_PrintEntities_f
static void CL_ModelIndexList_f(cmd_state_t *cmd)
{
int i;
- dp_model_t *model;
+ model_t *model;
// Print Header
Con_Printf("%3s: %-30s %-8s %-8s\n", "ID", "Name", "Type", "Triangles");
{
vec3_t org;
vec_t scale;
- dp_model_t *model = ent->model;
+ model_t *model = ent->model;
// update the inverse matrix for the renderer
Matrix4x4_Invert_Simple(&ent->inversematrix, &ent->matrix);
// update the animation blend state
return render;
}
-void CL_Effect(vec3_t org, dp_model_t *model, int startframe, int framecount, float framerate)
+void CL_Effect(vec3_t org, model_t *model, int startframe, int framecount, float framerate)
{
int i;
cl_effect_t *e;
}
entity_t cl_meshentities[NUM_MESHENTITIES];
-dp_model_t cl_meshentitymodels[NUM_MESHENTITIES];
+model_t cl_meshentitymodels[NUM_MESHENTITIES];
const char *cl_meshentitynames[NUM_MESHENTITIES] =
{
"MESH_SCENE",
CL_UpdateEntityShading_Entity(r_refdef.scene.entities[i]);
}
+qbool vid_opened = false;
+void CL_StartVideo(void)
+{
+ if (!vid_opened && cls.state != ca_dedicated)
+ {
+ vid_opened = true;
+#ifdef WIN32
+ // make sure we open sockets before opening video because the Windows Firewall "unblock?" dialog can screw up the graphics context on some graphics drivers
+ NetConn_UpdateSockets();
+#endif
+ VID_Start();
+ CDAudio_Startup();
+ }
+}
+
extern cvar_t host_framerate;
extern cvar_t host_speeds;
CL_Video_Init();
host.hook.ConnectLocal = CL_EstablishConnection_Local;
+ host.hook.Disconnect = CL_Disconnect;
+ host.hook.CL_Intermission = CL_Intermission;
+ host.hook.ToggleMenu = CL_ToggleMenu_Hook;
}
}