]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_main.c
Various graphical tweaks (mainly particle related), some code removed.
[xonotic/darkplaces.git] / cl_main.c
index bcd3e47c96a98f69f9d32f2db65fcef60c795d3c..6b2343e183831bb712a5a93a2669a3afe81ef9d8 100644 (file)
--- a/cl_main.c
+++ b/cl_main.c
@@ -27,6 +27,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 // these two are not intended to be set directly
 cvar_t cl_name = {"_cl_name", "player", true};
 cvar_t cl_color = {"_cl_color", "0", true};
+cvar_t cl_pmodel = {"_cl_pmodel", "0", true};
 
 cvar_t cl_shownet = {"cl_shownet","0"};        // can be 0, 1, or 2
 cvar_t cl_nolerp = {"cl_nolerp","0"};
@@ -197,13 +198,19 @@ Con_DPrintf ("CL_SignonReply: %i\n", cls.signon);
                MSG_WriteString (&cls.message, "prespawn");
                break;
                
-       case 2:         
+       case 2:
                MSG_WriteByte (&cls.message, clc_stringcmd);
                MSG_WriteString (&cls.message, va("name \"%s\"\n", cl_name.string));
-       
+
                MSG_WriteByte (&cls.message, clc_stringcmd);
                MSG_WriteString (&cls.message, va("color %i %i\n", ((int)cl_color.value)>>4, ((int)cl_color.value)&15));
        
+               if (cl_pmodel.value)
+               {
+                       MSG_WriteByte (&cls.message, clc_stringcmd);
+                       MSG_WriteString (&cls.message, va("pmodel %f\n", cl_pmodel.value));
+               }
+
                MSG_WriteByte (&cls.message, clc_stringcmd);
                sprintf (str, "spawn %s", cls.spawnparms);
                MSG_WriteString (&cls.message, str);
@@ -772,6 +779,58 @@ void CL_PauseDemo_f (void)
                Con_Printf("Demo unpaused\n");
 }
 
+/*
+======================
+CL_PModel_f
+LordHavoc: Intended for Nehahra, I personally think this is dumb, but Mindcrime won't listen.
+======================
+*/
+void CL_PModel_f (void)
+{
+       int i;
+       eval_t *val;
+
+       if (Cmd_Argc () == 1)
+       {
+               Con_Printf ("\"pmodel\" is \"%s\"\n", cl_pmodel.string);
+               return;
+       }
+       i = atoi(Cmd_Argv(1));
+
+       if (cmd_source == src_command)
+       {
+               if (cl_pmodel.value == i)
+                       return;
+               Cvar_SetValue ("_cl_pmodel", i);
+               if (cls.state == ca_connected)
+                       Cmd_ForwardToServer ();
+               return;
+       }
+
+       host_client->pmodel = i;
+       if ((val = GETEDICTFIELDVALUE(host_client->edict, eval_pmodel)))
+               val->_float = i;
+}
+
+/*
+======================
+CL_Fog_f
+======================
+*/
+extern float fog_density, fog_red, fog_green, fog_blue;
+void CL_Fog_f (void)
+{
+       if (Cmd_Argc () == 1)
+       {
+               Con_Printf ("\"fog\" is \"%f %f %f %f\"\n", fog_density, fog_red, fog_green, fog_blue);
+               return;
+       }
+       fog_density = atof(Cmd_Argv(1));
+       fog_red = atof(Cmd_Argv(2));
+       fog_green = atof(Cmd_Argv(3));
+       fog_blue = atof(Cmd_Argv(4));
+}
+
 cvar_t demo_nehahra = {"demo_nehahra", "0"};
 
 /*
@@ -791,6 +850,7 @@ void CL_Init (void)
 //
        Cvar_RegisterVariable (&cl_name);
        Cvar_RegisterVariable (&cl_color);
+       Cvar_RegisterVariable (&cl_pmodel);
        Cvar_RegisterVariable (&cl_upspeed);
        Cvar_RegisterVariable (&cl_forwardspeed);
        Cvar_RegisterVariable (&cl_backspeed);
@@ -819,8 +879,12 @@ void CL_Init (void)
        Cmd_AddCommand ("playdemo", CL_PlayDemo_f);
        Cmd_AddCommand ("timedemo", CL_TimeDemo_f);
 
+       Cmd_AddCommand ("fog", CL_Fog_f);
+
        // LordHavoc: added pausedemo
        Cmd_AddCommand ("pausedemo", CL_PauseDemo_f);
+       // LordHavoc: added pmodel command (like name, etc, only intended for Nehahra)
+       Cmd_AddCommand ("pmodel", CL_PModel_f);
        // LordHavoc: added demo_nehahra cvar
        Cvar_RegisterVariable (&demo_nehahra);
        if (nehahra)