]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/Main.qc
cvar: sv_allow_fullbright
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / Main.qc
index dc1f5bb518d757046dbc355d00182c290f0766fa..d358a59a536db28ea46dd630f8c4e7b941264fe4 100644 (file)
@@ -148,23 +148,6 @@ void CSQC_Init(void)
        }
        Tuba_Precache();
 
-#ifdef UID
-       {
-               // find the user ID
-               string uid;
-               registercvar("_cl_userid", "", CVAR_SAVE);
-               uid = cvar_string("_cl_userid");
-               if(strlen(uid) < 16)
-               {
-                       uid = "";
-                       for(i = 0; i < 4; ++i)
-                               uid = strcat(uid, substring(ftos(floor(10000 + random() * 10000)), 1, -1));
-               }
-               cvar_set("_cl_userid", uid);
-               localcmd(strcat("\ncmd uid ", uid, "\n"));
-       }
-#endif
-
        get_mi_min_max_texcoords(1); // try the CLEVER way first
        minimapname = strcat("gfx/", mi_shortname, "_radar.tga");
        shortmapname = mi_shortname;
@@ -203,7 +186,10 @@ void CSQC_Shutdown(void)
        remove(players);
        db_close(binddb);
        db_close(tempdb);
-       db_save(ClientProgsDB, "client.db");
+       if(cvar("cl_db_saveasdump"))
+               db_dump(ClientProgsDB, "client.db");
+       else
+               db_save(ClientProgsDB, "client.db");
        db_close(ClientProgsDB);
 
        cvar_clientsettemp_restore();
@@ -457,7 +443,9 @@ void ShotOrg_Draw()
        self.angles = view_angles;
        self.angles_x = -self.angles_x;
        if not(self.cnt)
-               R_AddEntity(self);
+               self.drawmask = MASK_NORMAL;
+       else
+               self.drawmask = 0;
 }
 void ShotOrg_Draw2D()
 {
@@ -504,11 +492,12 @@ void DrawDebugModel()
        if(time - floor(time) > 0.5)
        {
                PolyDrawModel(self);
+               self.drawmask = 0;
        }
        else
        {
                self.renderflags = 0;
-               R_AddEntity(self);
+               self.drawmask = MASK_NORMAL;
        }
 }
 
@@ -638,6 +627,56 @@ float CSQC_InputEvent(float bInputType, float nPrimary, float nSecondary)
        local float bSkipKey;
        bSkipKey = false;
 
+       if(autocvar_cl_allow_uid2name == -1 && (gametype == GAME_CTS || gametype == GAME_RACE) && panel_fg_alpha && !scoreboard_active) // don't lock keys before we actually see what's going on
+       {
+               /*
+               string vyes_keys;
+               float keys;
+               vyes_keys = findkeysforcommand("vyes");
+               keys = tokenize(vyes_keys);
+
+               float i;
+               for (i = 0; i < keys; ++i)
+               {
+                       print(ftos(nPrimary), " ", argv(i), "\n"); 
+                       if(nPrimary == stof(argv(i)))
+                       {
+                               vote_active = 0;
+                               cvar_set("cl_allow_uid2name", "1");
+                               return TRUE;
+                       }
+               }
+
+               string vno_keys;
+               vno_keys = findkeysforcommand("vno");
+               keys = tokenize(vno_keys);
+
+               float i;
+               for (i = 0; i < keys; ++i)
+               {
+                       if(nPrimary == stof(argv(i)))
+                       {
+                               vote_active = 0;
+                               cvar_set("cl_allow_uid2name", "0");
+                               return TRUE;
+                       }
+               }
+               */ // If only I could grab F1-F12 in CSQC... but no
+
+               if(nPrimary == 121) // ascii value for y
+               {
+                       vote_active = 0;
+                       cvar_set("cl_allow_uid2name", "1");
+                       return TRUE;
+               }
+               else if(nPrimary == 110) // ascii value for n
+               {
+                       vote_active = 0;
+                       cvar_set("cl_allow_uid2name", "0");
+                       return TRUE;
+               }
+       }
+
        if (HUD_Panel_InputEvent(bInputType, nPrimary, nSecondary))
                return true;
 
@@ -647,6 +686,7 @@ float CSQC_InputEvent(float bInputType, float nPrimary, float nSecondary)
        if(menu_visible)
                if(menu_action(bInputType, nPrimary, nSecondary))
                        return TRUE;
+
        return bSkipKey;
 }
 
@@ -1050,6 +1090,11 @@ void Ent_Init()
        g_balance_grenadelauncher_secondary_bouncefactor = ReadCoord();
        g_balance_grenadelauncher_secondary_bouncestop = ReadCoord();
 
+       nex_scope = !ReadByte();
+       campingrifle_scope = !ReadByte();
+
+       serverflags = ReadByte();
+
        if(!postinit)
                PostInit();
 }
@@ -1275,10 +1320,7 @@ void Net_WeaponComplain() {
        complain_weapon_type = ReadByte();
 
        complain_weapon_time = time;
-}
-
-void Net_CampingrifleScope() {
-       campingrifle_scope = TRUE;
+       weapontime = time; // ping the weapon panel
 }
 
 // CSQC_Parse_TempEntity : Handles all temporary entity network data in the CSQC layer.
@@ -1351,8 +1393,8 @@ float CSQC_Parse_TempEntity()
                        Net_WeaponComplain();
                        bHandled = true;
                        break;
-               case TE_CSQC_CAMPINGRIFLE_SCOPE:
-                       Net_CampingrifleScope();
+               case TE_CSQC_CR_MAXBULLETS:
+                       cr_maxbullets = ReadByte();
                        bHandled = true;
                        break;
                default: