]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote-tracking branch 'origin/master' into samual/notification_rewrite
authorSamual Lenks <samual@xonotic.org>
Thu, 13 Dec 2012 03:53:41 +0000 (22:53 -0500)
committerSamual Lenks <samual@xonotic.org>
Thu, 13 Dec 2012 03:53:41 +0000 (22:53 -0500)
1  2 
qcsrc/client/View.qc
qcsrc/client/scoreboard.qc
qcsrc/common/command/generic.qc
qcsrc/server/command/sv_cmd.qc
qcsrc/server/g_world.qc

diff --combined qcsrc/client/View.qc
index 086728bcbc3a9d440f664c55e22d5256b47ea2fa,9ffe5a738c67634732ac4716a6fc8e7ccace8106..84c54ecb299896038a63b29ab3525ead2f8f957b
@@@ -240,7 -240,7 +240,7 @@@ float EnemyHitCheck(
        if(teamplay)
                if(t == myteam)
                        return SHOTTYPE_HITTEAM;
 -      if(t == COLOR_SPECTATOR)
 +      if(t == FL_SPECTATOR)
                return SHOTTYPE_HITWORLD;
        return SHOTTYPE_HITENEMY;
  }
@@@ -442,7 -442,7 +442,7 @@@ void CSQC_UpdateView(float w, float h
                {
                        // make special vector since we can't use view_origin (It is one frame old as of this code, it gets set later with the results this code makes.)
                        vector current_view_origin = getpropertyvec(VF_ORIGIN);
-                       
                        // We must enable chase_active to get a third person view (weapon viewmodel hidden and own player model showing).
                        // Ideally, there should be another way to enable third person cameras, such as through setproperty()
                        if(!autocvar_chase_active)
                        eventchase_current_distance = 0; // start from 0 next time
                }
        }
+       // workaround for camera stuck between player's legs when using chase_active 1
+       // because the engine stops updating the chase_active camera when the game ends
+       else if(intermission)
+       {
+               cvar_settemp("chase_active", "-1");
+               eventchase_current_distance = 0;
+       }
  
        // do lockview after event chase camera so that it still applies whenever necessary.
        if(autocvar_cl_lockview || (!autocvar_hud_cursormode && (autocvar__hud_configure && spectatee_status <= 0 || intermission > 1)))
                        calledhooks |= HOOK_END;
                }
        }
-       
-   Announcer();
+       Announcer();
  
        fov = autocvar_fov;
        if(fov <= 59.5)
index aa2d7259f7b0ea4d2b89d269c8598e24a14d1ee9,83991f6f1cb49e9a66eb80170f9488282944a97c..0984f7ce1a512b4b8cd24729a30ddbca24caeae2
@@@ -136,16 -136,16 +136,16 @@@ float HUD_ComparePlayerScores(entity le
        vr = GetPlayerColor(right.sv_entnum);
  
        if(!left.gotscores)
 -              vl = COLOR_SPECTATOR;
 +              vl = FL_SPECTATOR;
        if(!right.gotscores)
 -              vr = COLOR_SPECTATOR;
 +              vr = FL_SPECTATOR;
  
        if(vl > vr)
                return true;
        if(vl < vr)
                return false;
  
 -      if(vl == COLOR_SPECTATOR)
 +      if(vl == FL_SPECTATOR)
        {
                // FIRST the one with scores (spectators), THEN the ones without (downloaders)
                // no other sorting
@@@ -201,9 -201,9 +201,9 @@@ float HUD_CompareTeamScores(entity left
  {
        float vl, vr;
  
 -      if(left.team == COLOR_SPECTATOR)
 +      if(left.team == FL_SPECTATOR)
                return 1;
 -      if(right.team == COLOR_SPECTATOR)
 +      if(right.team == FL_SPECTATOR)
                return 0;
  
        vl = left.teamscores[ts_primary];
@@@ -311,15 -311,15 +311,15 @@@ void Cmd_HUD_SetFields(float argc
  
        // TODO: re enable with gametype dependant cvars?
        if(argc < 3) // no arguments provided
-               argc = tokenizebyseparator(strcat("x ", autocvar_scoreboard_columns), " ");
+               argc = tokenizebyseparator(strcat("0 1 ", autocvar_scoreboard_columns), " ");
  
        if(argc < 3)
-               argc = tokenizebyseparator(strcat("x ", HUD_DefaultColumnLayout()), " ");
+               argc = tokenizebyseparator(strcat("0 1 ", HUD_DefaultColumnLayout()), " ");
  
        if(argc == 3)
        {
                if(argv(2) == "default")
-                       argc = tokenizebyseparator(strcat("x ", HUD_DefaultColumnLayout()), " ");
+                       argc = tokenizebyseparator(strcat("0 1 ", HUD_DefaultColumnLayout()), " ");
                else if(argv(2) == "all")
                {
                        string s;
                        if(ps_secondary != ps_primary)
                                s = strcat(s, " ", scores_label[ps_secondary]);
                        s = strcat(s, " ", scores_label[ps_primary]);
-                       argc = tokenizebyseparator(strcat("x ", s), " ");
+                       argc = tokenizebyseparator(strcat("0 1 ", s), " ");
                }
        }
  
  
        hud_num_fields = 0;
  
-       hud_fontsize = HUD_GetFontsize("hud_fontsize"); 
+       hud_fontsize = HUD_GetFontsize("hud_fontsize");
  
        draw_beginBoldFont();
-       for(i = 0; i < argc - 1; ++i)
+       for(i = 1; i < argc - 1; ++i)
        {
                float nocomplain;
                str = argv(i+1);
@@@ -659,11 -659,11 +659,11 @@@ string HUD_FixScoreboardColumnWidth(flo
  void HUD_PrintScoreboardItem(vector pos, entity pl, float is_self, float pl_number)
  {
        vector tmp, rgb;
 -      rgb = GetTeamRGB(pl.team);
 +      rgb = Team_ColorRGB(pl.team);
        string str;
        float i, field;
        float is_spec;
 -      is_spec = (GetPlayerColor(pl.sv_entnum) == COLOR_SPECTATOR);
 +      is_spec = (GetPlayerColor(pl.sv_entnum) == FL_SPECTATOR);
  
        if((rgb == '1 1 1') && (!is_spec)) {
                rgb_x = autocvar_scoreboard_color_bg_r + 0.5;
@@@ -907,7 -907,7 +907,7 @@@ vector HUD_Scoreboard_MakeTable(vector 
        else
                for(pl = players.sort_next; pl; pl = pl.sort_next)
                {
 -                      if(pl.team == COLOR_SPECTATOR)
 +                      if(pl.team == FL_SPECTATOR)
                                continue;
                        HUD_PrintScoreboardItem(pos, pl, (pl.sv_entnum == player_localnum), i);
                        pos_y += 1.25 * hud_fontsize_y;
@@@ -1124,7 -1124,7 +1124,7 @@@ vector HUD_DrawScoreboardRankings(vecto
                return pos;
  
        float is_spec;
 -      is_spec = (GetPlayerColor(pl.sv_entnum) == COLOR_SPECTATOR);
 +      is_spec = (GetPlayerColor(pl.sv_entnum) == FL_SPECTATOR);
        vector hl_rgb;
        hl_rgb_x = autocvar_scoreboard_color_bg_r + 0.5;
        hl_rgb_y = autocvar_scoreboard_color_bg_g + 0.5;
@@@ -1241,11 -1241,11 +1241,11 @@@ void HUD_DrawScoreboard(
                team_score_baseoffset = eY * (2 * autocvar_scoreboard_border_thickness + hud_fontsize_y) - eX * (autocvar_scoreboard_border_thickness + hud_fontsize_x * 0.25);
                for(tm = teams.sort_next; tm; tm = tm.sort_next)
                {
 -                      if(tm.team == COLOR_SPECTATOR)
 +                      if(tm.team == FL_SPECTATOR)
                                continue;
  
                        draw_beginBoldFont();
 -                      rgb = GetTeamRGB(tm.team);
 +                      rgb = Team_ColorRGB(tm.team);
                        str = ftos(tm.(teamscores[ts_primary]));
                        drawstring(pos + team_score_baseoffset - eX * stringwidth(str, FALSE, hud_fontsize * 1.5), str, hud_fontsize * 1.5, rgb, scoreboard_alpha_fg, DRAWFLAG_NORMAL);
  
  
                for(tm = teams.sort_next; tm; tm = tm.sort_next)
                {
 -                      if(tm.team == COLOR_SPECTATOR)
 +                      if(tm.team == FL_SPECTATOR)
                                continue;
  
                        pos = HUD_Scoreboard_MakeTable(pos, tm, rgb, bg_size);
        }
        else if(autocvar_scoreboard_accuracy && spectatee_status != -1 && !warmup_stage) {
                if(teamplay)
 -                      pos = HUD_DrawScoreboardAccuracyStats(pos, GetTeamRGB(myteam), bg_size);
 +                      pos = HUD_DrawScoreboardAccuracyStats(pos, Team_ColorRGB(myteam), bg_size);
                else
                        pos = HUD_DrawScoreboardAccuracyStats(pos, rgb, bg_size);
        }
  
                
        if(teamplay)
 -              pos = HUD_DrawMapStats(pos, GetTeamRGB(myteam), bg_size);
 +              pos = HUD_DrawMapStats(pos, Team_ColorRGB(myteam), bg_size);
        else
                pos = HUD_DrawMapStats(pos, rgb, bg_size);
  
        tmp = pos;
        for(pl = players.sort_next; pl; pl = pl.sort_next)
        {
 -              if(pl.team != COLOR_SPECTATOR)
 +              if(pl.team != FL_SPECTATOR)
                        continue;
                pos_y += 1.25 * hud_fontsize_y;
                HUD_PrintScoreboardItem(pos, pl, (pl.sv_entnum == player_localnum), specs);
index 2e00ff03a105af7a8a91b38b46d811d54f078ad0,07998d09c67b774b2636b61b13198318fe231283..b7954e338f79ae9952581f3e061ff8520055b423
@@@ -84,7 -84,7 +84,7 @@@ void GenericCommand_addtolist(float req
                        print("Incorrect parameters for ^2addtolist^7\n");
                case CMD_REQUEST_USAGE:
                {
-                       print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " addtolist variable value"));
+                       print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " addtolist variable value\n"));
                        print("  Where 'variable' is what to add 'value' to.\n");
                        print("See also: ^2removefromlist^7\n");
                        return;
@@@ -92,7 -92,7 +92,7 @@@
        }
  }
  
 -void GenericCommand_curl(float request, float argc)
 +void GenericCommand_qc_curl(float request, float argc)
  {
        switch(request)
        {
                default:
                case CMD_REQUEST_USAGE:
                {
 -                      print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " curl [--key N] [--cvar] [--exec] URL [postargs...]"));
 +                      print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " qc_curl [--key N] [--cvar] [--exec] URL [postargs...]"));
                        return;
                }
        }
@@@ -226,40 -226,6 +226,40 @@@ void GenericCommand_dumpcommands(float 
        }
  }
  
 +void GenericCommand_dumpnotifs(float request)
 +{
 +      switch(request)
 +      {
 +              case CMD_REQUEST_COMMAND:
 +              {
 +                      float fh;
 +                      string filename = "notifications_dump.txt";
 +                      fh = fopen(filename, FILE_WRITE);
 +                      
 +                      if(fh >= 0)
 +                      {
 +                              fputs(fh, "dump of notifications list:\n");
 +                              Dump_Notifications(fh);
 +                              print("Completed dump of notifications in ^2data/data/notifications_dump.txt^7.\n");
 +                              fclose(fh);
 +                      }
 +                      else
 +                      {
 +                              print("^1Error: ^7Could not dump to file!\n");
 +                      }
 +                      return;
 +              }
 +                      
 +              default:
 +              case CMD_REQUEST_USAGE:
 +              {
 +                      print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " dumpnotifs"));
 +                      print("  No arguments required.\n");
 +                      return;
 +              }
 +      }
 +}
 +
  void GenericCommand_maplist(float request, float argc)
  {
        switch(request)
                        print("Incorrect parameters for ^2maplist^7\n");
                case CMD_REQUEST_USAGE:
                {
-                       print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " maplist action [map]"));
+                       print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " maplist action [map]\n"));
                        print("  Where 'action' is the command to complete,\n");
                        print("  and 'map' is what it acts upon (if required).\n");
                        print("  Full list of commands here: \"add, cleanup, remove, shuffle.\"\n");
@@@ -363,7 -329,7 +363,7 @@@ void GenericCommand_nextframe(float req
                default:
                case CMD_REQUEST_USAGE:
                {
-                       print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " nextframe command..."));
+                       print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " nextframe command...\n"));
                        print("  Where command will be executed next frame of this VM\n");
                        return;
                }
@@@ -401,7 -367,7 +401,7 @@@ void GenericCommand_removefromlist(floa
                        print("Incorrect parameters for ^2removefromlist^7\n");
                case CMD_REQUEST_USAGE:
                {
-                       print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " removefromlist variable value"));
+                       print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " removefromlist variable value\n"));
                        print("  Where 'variable' is what cvar to remove 'value' from.\n");
                        print("See also: ^2addtolist^7\n");
                        return;
@@@ -417,15 -383,17 +417,17 @@@ void GenericCommand_settemp(float reque
                {
                        if(argc >= 3)
                        {
-                               if(cvar_settemp(argv(1), argv(2)))
+                               float f = cvar_settemp(argv(1), argv(2));
+                               if(f == 1)
                                        dprint("Creating new settemp tracker for ", argv(1), " and setting it to \"", argv(2), "\" temporarily.\n"); 
-                               else
+                               else if(f == -1)
                                        dprint("Already had a tracker for ", argv(1), ", updating it to \"", argv(2), "\".\n");
-                       
+                               // else cvar_settemp itself errors out
                                return;
                        }
                }
-                       
                default:
                        print("Incorrect parameters for ^2settemp^7\n");
                case CMD_REQUEST_USAGE:
@@@ -495,11 -463,10 +497,11 @@@ void GenericCommand_(float request
  // Do not hard code aliases for these, instead create them in commands.cfg... also: keep in alphabetical order, please ;)
  #define GENERIC_COMMANDS(request,arguments,command) \
        GENERIC_COMMAND("addtolist", GenericCommand_addtolist(request, arguments), "Add a string to a cvar") \
 -      GENERIC_COMMAND("curl", GenericCommand_curl(request, arguments), "Queries an URL") \
        GENERIC_COMMAND("dumpcommands", GenericCommand_dumpcommands(request), "Dump all commands on the program to *_cmd_dump.txt") \
 +      GENERIC_COMMAND("dumpnotifs", GenericCommand_dumpnotifs(request), "Dump all notifications into notifications_dump.txt") \
        GENERIC_COMMAND("maplist", GenericCommand_maplist(request, arguments), "Automatic control of maplist") \
        GENERIC_COMMAND("nextframe", GenericCommand_nextframe(request, arguments, command), "Execute the given command next frame of this VM") \
 +      GENERIC_COMMAND("qc_curl", GenericCommand_qc_curl(request, arguments), "Queries a URL") \
        GENERIC_COMMAND("removefromlist", GenericCommand_removefromlist(request, arguments), "Remove a string from a cvar") \
        GENERIC_COMMAND("rpn", GenericCommand_rpn(request, arguments, command), "RPN calculator") \
        GENERIC_COMMAND("settemp", GenericCommand_settemp(request, arguments), "Temporarily set a value to a cvar which is restored later") \
index 0d1e228714691f02c3dab54143850fc87147289d,2dd52317569ab862e62a3a01ae56fe98c1b1761f..58644726ee1770f447764c1195d42c58396ed421
@@@ -1019,21 -1019,21 +1019,21 @@@ void GameCommand_moveplayer(float reque
                                                        if(teamplay)
                                                        {
                                                                // set up
 -                                                              float team_color;
 +                                                              float team_id;
                                                                float save = client.team_forced;
                                                                client.team_forced = 0;
  
                                                                // find the team to move the player to
 -                                                              team_color = ColourToNumber(destination);
 -                                                              if(team_color == client.team) // already on the destination team
 +                                                              team_id = Team_ColorToTeam(destination);
 +                                                              if(team_id == client.team) // already on the destination team
                                                                {
                                                                        // keep the forcing undone
 -                                                                      print("Player ", ftos(GetFilteredNumber(t)), " (", client.netname, ") is already on the ", ColoredTeamName(client.team), (targets ? ", skipping to next player.\n" : ".\n"));
 +                                                                      print("Player ", ftos(GetFilteredNumber(t)), " (", client.netname, ") is already on the ", Team_ColoredFullName(client.team), (targets ? "^7, skipping to next player.\n" : "^7.\n"));
                                                                        continue;
                                                                } 
 -                                                              else if(team_color == 0)  // auto team
 +                                                              else if(team_id == 0)  // auto team
                                                                {
 -                                                                      team_color = NumberToTeamNumber(FindSmallestTeam(client, FALSE));
 +                                                                      team_id = Team_NumberToTeam(FindSmallestTeam(client, FALSE));
                                                                }
                                                                else
                                                                {
                                                                client.team_forced = save;
                                                                
                                                                // Check to see if the destination team is even available
 -                                                              switch(team_color
 +                                                              switch(team_id
                                                                {
 -                                                                      case COLOR_TEAM1: if(c1 == -1) { print("Sorry, can't move player to red team if it doesn't exist.\n"); return; } break;
 -                                                                      case COLOR_TEAM2: if(c2 == -1) { print("Sorry, can't move player to blue team if it doesn't exist.\n"); return; } break;
 -                                                                      case COLOR_TEAM3: if(c3 == -1) { print("Sorry, can't move player to yellow team if it doesn't exist.\n"); return; } break;
 -                                                                      case COLOR_TEAM4: if(c4 == -1) { print("Sorry, can't move player to pink team if it doesn't exist.\n"); return; } break;
 +                                                                      case FL_TEAM_1: if(c1 == -1) { print("Sorry, can't move player to red team if it doesn't exist.\n"); return; } break;
 +                                                                      case FL_TEAM_2: if(c2 == -1) { print("Sorry, can't move player to blue team if it doesn't exist.\n"); return; } break;
 +                                                                      case FL_TEAM_3: if(c3 == -1) { print("Sorry, can't move player to yellow team if it doesn't exist.\n"); return; } break;
 +                                                                      case FL_TEAM_4: if(c4 == -1) { print("Sorry, can't move player to pink team if it doesn't exist.\n"); return; } break;
                                                                        
                                                                        default: print("Sorry, can't move player here if team ", destination, " doesn't exist.\n"); return;
                                                                }
                                                                
                                                                // If so, lets continue and finally move the player
                                                                client.team_forced = 0;
 -                                                              MoveToTeam(client, team_color, 6, stof(notify));
 +                                                              MoveToTeam(client, team_id, 6, stof(notify));
                                                                successful = strcat(successful, (successful ? ", " : ""), client.netname);
 -                                                              print("Player ", ftos(GetFilteredNumber(t)), " (", client.netname, ") has been moved to the ", ColoredTeamName(team_color), ".\n");
 +                                                              print("Player ", ftos(GetFilteredNumber(t)), " (", client.netname, ") has been moved to the ", Team_ColoredFullName(team_id), "^7.\n");
                                                                continue;
                                                        }
                                                        else
@@@ -1356,7 -1356,7 +1356,7 @@@ void GameCommand_shuffleteams(float req
                                        x = (t_players / t_teams);
                                        x = ((i == 1) ? ceil(x) : floor(x));
                                        
 -                                      team_color = NumberToTeamNumber(i);
 +                                      team_color = Team_NumberToTeam(i);
                                        
                                        // sort through the random list of players made earlier 
                                        for(z = 1; z <= maxclients; ++z)
@@@ -1689,8 -1689,9 +1689,9 @@@ void GameCommand_warp(float request, fl
                default:
                case CMD_REQUEST_USAGE:
                {
-                       print("\nUsage:^3 sv_cmd level\n");
+                       print("\nUsage:^3 sv_cmd warp [level]\n");
                        print("  'level' is the level to change campaign mode to.\n");
+                       print("  if 'level' is not provided it will change to the next level.\n");
                        return;
                }
        }
diff --combined qcsrc/server/g_world.qc
index dfef41e7bd1e79c71021336e3cd473bee3652a66,a41389a4fd2803ceea69176fa6f9ed0f9964c449..5bd1c86e32a52bd1fa37659162290e8b3c22b9ed
@@@ -553,8 -553,6 +553,8 @@@ void spawnfunc___init_dedicated_server(
        // needs to be done so early because of the constants they create
        CALL_ACCUMULATED_FUNCTION(RegisterWeapons);
        CALL_ACCUMULATED_FUNCTION(RegisterGametypes);
 +      CALL_ACCUMULATED_FUNCTION(RegisterNotifications);
 +      CALL_ACCUMULATED_FUNCTION(RegisterDeathtypes);
  
        MapInfo_Enumerate();
        MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), MapInfo_RequiredFlags(), MapInfo_ForbiddenFlags(), 0);
@@@ -601,8 -599,6 +601,8 @@@ void spawnfunc_worldspawn (void
        // needs to be done so early because of the constants they create
        CALL_ACCUMULATED_FUNCTION(RegisterWeapons);
        CALL_ACCUMULATED_FUNCTION(RegisterGametypes);
 +      CALL_ACCUMULATED_FUNCTION(RegisterNotifications);
 +      CALL_ACCUMULATED_FUNCTION(RegisterDeathtypes);
  
        ServerProgsDB = db_load(strcat("server.db", autocvar_sessionid));
  
        addstat(STAT_MOVEVARS_MAXSPEED, AS_FLOAT, stat_sv_maxspeed);
        addstat(STAT_MOVEVARS_AIRACCEL_QW, AS_FLOAT, stat_sv_airaccel_qw);
        addstat(STAT_MOVEVARS_AIRSTRAFEACCEL_QW, AS_FLOAT, stat_sv_airstrafeaccel_qw);
-       
        // secrets
        addstat(STAT_SECRETS_TOTAL, AS_FLOAT, stat_secrets_total);
        addstat(STAT_SECRETS_FOUND, AS_FLOAT, stat_secrets_found);
  
        // misc
        addstat(STAT_RESPAWN_TIME, AS_FLOAT, stat_respawn_time);
-       
        next_pingtime = time + 5;
  
        detect_maptype();
-       
        // set up information replies for clients and server to use
        lsmaps_reply = "^7Maps available: ";
        lsnewmaps_reply = "^7Maps without a record set: ";
                                        col = "^2";
                                else
                                        col = "^3";
-                                       
                                ++j;
-                               
                                lsmaps_reply = strcat(lsmaps_reply, col, MapInfo_Map_bspname, " ");
-                               
                                if(g_race && !stof(db_get(ServerProgsDB, strcat(MapInfo_Map_bspname, RACE_RECORD, "time"))))
                                        lsnewmaps_reply = strcat(lsnewmaps_reply, col, MapInfo_Map_bspname, " ");
                                else if(g_cts && !stof(db_get(ServerProgsDB, strcat(MapInfo_Map_bspname, CTS_RECORD, "time"))))
                                        lsnewmaps_reply = strcat(lsnewmaps_reply, col, MapInfo_Map_bspname, " ");
                        }
        }
-       
        lsmaps_reply = strzone(strcat(lsmaps_reply, "\n"));
        lsnewmaps_reply = strzone(strcat(((!g_race && !g_cts) ? "Need to be playing race or CTS for lsnewmaps to work." : lsnewmaps_reply), "\n"));
  
  
        for(i = 0; i < 10; ++i)
        {
-               records_reply[i] = strzone(getrecords(i));
+               s = getrecords(i);
+               if (s)
+                       records_reply[i] = strzone(s);
        }
-       
        ladder_reply = strzone(getladder());
  
        rankings_reply = strzone(getrankings());
@@@ -1349,10 -1347,10 +1351,10 @@@ float mapvote_initialized
  void IntermissionThink()
  {
        FixIntermissionClient(self);
-       
        float server_screenshot = (autocvar_sv_autoscreenshot && self.cvar_cl_autoscreenshot);
        float client_screenshot = (self.cvar_cl_autoscreenshot == 2);
-       
        if( (server_screenshot || client_screenshot)
                && ((self.autoscreenshot > 0) && (time > self.autoscreenshot)) )
        {
@@@ -1761,10 -1759,10 +1763,10 @@@ float WinningCondition_Onslaught(
        {
                if (head.health > 0)
                {
 -                      if (head.team == COLOR_TEAM1) t1 = 1;
 -                      if (head.team == COLOR_TEAM2) t2 = 1;
 -                      if (head.team == COLOR_TEAM3) t3 = 1;
 -                      if (head.team == COLOR_TEAM4) t4 = 1;
 +                      if (head.team == FL_TEAM_1) t1 = 1;
 +                      if (head.team == FL_TEAM_2) t2 = 1;
 +                      if (head.team == FL_TEAM_3) t3 = 1;
 +                      if (head.team == FL_TEAM_4) t4 = 1;
                }
                head = find(head, classname, "onslaught_generator");
        }
        {
                // game over, only one team remains (or none)
                ClearWinners();
 -              if (t1) SetWinners(team, COLOR_TEAM1);
 -              if (t2) SetWinners(team, COLOR_TEAM2);
 -              if (t3) SetWinners(team, COLOR_TEAM3);
 -              if (t4) SetWinners(team, COLOR_TEAM4);
 +              if (t1) SetWinners(team, FL_TEAM_1);
 +              if (t2) SetWinners(team, FL_TEAM_2);
 +              if (t3) SetWinners(team, FL_TEAM_3);
 +              if (t4) SetWinners(team, FL_TEAM_4);
                dprint("Have a winner, ending game.\n");
                return WINNING_YES;
        }
@@@ -1813,13 -1811,13 +1815,13 @@@ float WinningCondition_Assault(
  
        status = WINNING_NO;
        // as the timelimit has not yet passed just assume the defending team will win
 -      if(assault_attacker_team == COLOR_TEAM1)
 +      if(assault_attacker_team == FL_TEAM_1)
        {
 -              SetWinners(team, COLOR_TEAM2);
 +              SetWinners(team, FL_TEAM_2);
        }
        else
        {
 -              SetWinners(team, COLOR_TEAM1);
 +              SetWinners(team, FL_TEAM_1);
        }
  
        entity ent;
@@@ -1945,10 -1943,10 +1947,10 @@@ float WinningCondition_Scores(float lim
  
        if(teamplay)
        {
 -              team1_score = TeamScore_GetCompareValue(COLOR_TEAM1);
 -              team2_score = TeamScore_GetCompareValue(COLOR_TEAM2);
 -              team3_score = TeamScore_GetCompareValue(COLOR_TEAM3);
 -              team4_score = TeamScore_GetCompareValue(COLOR_TEAM4);
 +              team1_score = TeamScore_GetCompareValue(FL_TEAM_1);
 +              team2_score = TeamScore_GetCompareValue(FL_TEAM_2);
 +              team3_score = TeamScore_GetCompareValue(FL_TEAM_3);
 +              team4_score = TeamScore_GetCompareValue(FL_TEAM_4);
        }
  
        ClearWinners();
@@@ -2065,25 -2063,25 +2067,25 @@@ float WinningCondition_RanOutOfSpawns(
  
        FOR_EACH_PLAYER(head) if(head.deadflag == DEAD_NO)
        {
 -              if(head.team == COLOR_TEAM1)
 +              if(head.team == FL_TEAM_1)
                        team1_score = 1;
 -              else if(head.team == COLOR_TEAM2)
 +              else if(head.team == FL_TEAM_2)
                        team2_score = 1;
 -              else if(head.team == COLOR_TEAM3)
 +              else if(head.team == FL_TEAM_3)
                        team3_score = 1;
 -              else if(head.team == COLOR_TEAM4)
 +              else if(head.team == FL_TEAM_4)
                        team4_score = 1;
        }
  
        for(head = world; (head = find(head, classname, "info_player_deathmatch")) != world; )
        {
 -              if(head.team == COLOR_TEAM1)
 +              if(head.team == FL_TEAM_1)
                        team1_score = 1;
 -              else if(head.team == COLOR_TEAM2)
 +              else if(head.team == FL_TEAM_2)
                        team2_score = 1;
 -              else if(head.team == COLOR_TEAM3)
 +              else if(head.team == FL_TEAM_3)
                        team3_score = 1;
 -              else if(head.team == COLOR_TEAM4)
 +              else if(head.team == FL_TEAM_4)
                        team4_score = 1;
        }
  
        {
                float t, i;
                if(team1_score)
 -                      t = COLOR_TEAM1;
 +                      t = FL_TEAM_1;
                else if(team2_score)
 -                      t = COLOR_TEAM2;
 +                      t = FL_TEAM_2;
                else if(team3_score)
 -                      t = COLOR_TEAM3;
 +                      t = FL_TEAM_3;
                else // if(team4_score)
 -                      t = COLOR_TEAM4;
 +                      t = FL_TEAM_4;
                CheckAllowedTeams(world);
                for(i = 0; i < MAX_TEAMSCORE; ++i)
                {
 -                      if(t != COLOR_TEAM1) if(c1 >= 0) TeamScore_AddToTeam(COLOR_TEAM1, i, -1000);
 -                      if(t != COLOR_TEAM2) if(c2 >= 0) TeamScore_AddToTeam(COLOR_TEAM2, i, -1000);
 -                      if(t != COLOR_TEAM3) if(c3 >= 0) TeamScore_AddToTeam(COLOR_TEAM3, i, -1000);
 -                      if(t != COLOR_TEAM4) if(c4 >= 0) TeamScore_AddToTeam(COLOR_TEAM4, i, -1000);
 +                      if(t != FL_TEAM_1) if(c1 >= 0) TeamScore_AddToTeam(FL_TEAM_1, i, -1000);
 +                      if(t != FL_TEAM_2) if(c2 >= 0) TeamScore_AddToTeam(FL_TEAM_2, i, -1000);
 +                      if(t != FL_TEAM_3) if(c3 >= 0) TeamScore_AddToTeam(FL_TEAM_3, i, -1000);
 +                      if(t != FL_TEAM_4) if(c4 >= 0) TeamScore_AddToTeam(FL_TEAM_4, i, -1000);
                }
  
                AddWinners(team, t);