]> 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>
Mon, 26 Nov 2012 04:29:39 +0000 (23:29 -0500)
committerSamual Lenks <samual@xonotic.org>
Mon, 26 Nov 2012 04:29:39 +0000 (23:29 -0500)
1  2 
qcsrc/server/command/sv_cmd.qc

index fc2b3c0aa021a6aed66d2c4df59b14c7f9c38ebe,25c7940cb7bf6831dbdb2b4208c779ea6f0fe471..0d1e228714691f02c3dab54143850fc87147289d
@@@ -823,6 -823,64 +823,64 @@@ void GameCommand_gettaginfo(float reque
        }
  }
  
+ void GameCommand_animbench(float request, float argc) 
+ {
+       switch(request)
+       {
+               case CMD_REQUEST_COMMAND:
+               {
+                       entity tmp_entity;
+                       float i;
+                       vector v;
+                       if(argc >= 4)
+                       {
+                               tmp_entity = spawn();
+                               if(argv(1) == "w")
+                                       setmodel(tmp_entity, (nextent(world)).weaponentity.model);
+                               else
+                               {
+                                       precache_model(argv(1));
+                                       setmodel(tmp_entity, argv(1));
+                               }
+                               float f1 = stof(argv(2));
+                               float f2 = stof(argv(3));
+                               float t0;
+                               float t1 = 0;
+                               float t2 = 0;
+                               float n = 0;
+                               while(t1 + t2 < 1)
+                               {
+                                       tmp_entity.frame = f1;
+                                       t0 = gettime(GETTIME_HIRES);
+                                       getsurfacepoint(tmp_entity, 0, 0);
+                                       t1 += gettime(GETTIME_HIRES) - t0;
+                                       tmp_entity.frame = f2;
+                                       t0 = gettime(GETTIME_HIRES);
+                                       getsurfacepoint(tmp_entity, 0, 0);
+                                       t2 += gettime(GETTIME_HIRES) - t0;
+                                       n += 1;
+                               }
+                               print("model ", tmp_entity.model, " frame ", ftos(f1), " animtime ", ftos(n / t1), "/s\n");
+                               print("model ", tmp_entity.model, " frame ", ftos(f2), " animtime ", ftos(n / t2), "/s\n");
+                               remove(tmp_entity);
+                               return;
+                       }
+               }
+               default:
+                       print("Incorrect parameters for ^2gettaginfo^7\n");
+               case CMD_REQUEST_USAGE:
+               {
+                       print("\nUsage:^3 sv_cmd gettaginfo model frame index [command one] [command two]\n");
+                       print("See also: ^2bbox, trace^7\n");
+                       return;
+               }
+       }
+ }
  void GameCommand_gotomap(float request, float argc)
  {
        switch(request)
@@@ -961,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
@@@ -1298,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)
@@@ -1673,6 -1731,7 +1731,7 @@@ void GameCommand_(float request
        SERVER_COMMAND("allready", GameCommand_allready(request), "Restart the server and reset the players") \
        SERVER_COMMAND("allspec", GameCommand_allspec(request, arguments), "Force all players to spectate") \
        SERVER_COMMAND("anticheat", GameCommand_anticheat(request, arguments), "Create an anticheat report for a client") \
+       SERVER_COMMAND("animbench", GameCommand_animbench(request, arguments), "Benchmark model animation (LAGS)") \
        SERVER_COMMAND("bbox", GameCommand_bbox(request), "Print detailed information about world size") \
        SERVER_COMMAND("bot_cmd", GameCommand_bot_cmd(request, arguments, command), "Control and send commands to bots") \
        SERVER_COMMAND("cointoss", GameCommand_cointoss(request, arguments), "Flip a virtual coin and give random result") \