Merge branch 'master' into mirceakitsune/multijump
authorMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 26 Apr 2010 21:38:04 +0000 (00:38 +0300)
committerMircea Kitsune <sonichedgehog_hyperblast00@yahoo.com>
Mon, 26 Apr 2010 21:38:04 +0000 (00:38 +0300)
1  2 
defaultXonotic.cfg
qcsrc/server/cl_physics.qc

diff --combined defaultXonotic.cfg
@@@ -319,7 -319,7 +319,7 @@@ set sv_fragmessage_information_typefra
  
  // use default physics
  set sv_friction_on_land 0
- exec physics26.cfg
+ exec physicsNoQWBunny.cfg
  
  set sv_player_viewoffset "0 0 35" "view offset of the player model"
  set sv_player_mins "-16 -16 -24" "playermodel mins"
@@@ -512,6 -512,19 +512,19 @@@ alias clearmap "disconnect
  
  set g_grappling_hook 0 "let players spawn with the grappling hook which allows them to pull themselves up"
  
+ set g_dodging 0 "set to 1 to enable dodging in games"
+ seta cl_dodging_timeout 0.2 "determines how long apart (in seconds) two taps on the same direction key are considered a dodge. use 0 to disable"
+ set sv_dodging_wall_dodging 0 "set to 1 to allow dodging off walls. 0 to disable"
+ set sv_dodging_delay 0.5 "determines how long a player has to wait to be able to dodge again after dodging"
+ set sv_dodging_up_speed 200 "the jump velocity of the dodge"
+ set sv_dodging_horiz_speed 400 "the horizontal velocity of the dodge"
+ set sv_dodging_ramp_time 0.1 "a ramp so that the horizontal part of the dodge is added smoothly (seconds)"
+ set sv_dodging_height_threshold 10 "the maximum height above ground where to allow dodging"
+ set sv_dodging_wall_distance_threshold 10 "the maximum distance from a wall that still allows dodging"
+ set sv_dodging_sound 1 "if 1 dodging makes a sound. if 0 dodging is silent"
  set leadlimit 0
  
  // this means that timelimit can be overidden globally and fraglimit can be overidden for each game mode: DM/TDM, Domination, CTF, and Runematch.
@@@ -812,10 -825,6 +825,10 @@@ set g_bloodloss 0   "amount of health b
  
  set g_footsteps 0     "serverside footstep sounds"
  
 +set g_multijump 0     "Number of multiple jumps to allow (jumping again in the air), -1 allows for infinite jumps"
 +set g_multijump_delay 0.25    "Delay between multiple jumps"
 +set g_multijump_speed 30      "Minimum vertical speed a player must have in order to jump again"
 +
  // effects
  r_picmipsprites 0 // Xonotic uses sprites that should never be picmipped (team mate, typing, waypoints)
  r_mipsprites 1
@@@ -1151,8 -1160,6 +1164,6 @@@ set g_chat_flood_lmax_tell 2    "private c
  set g_chat_flood_burst_tell 2 "private chat: allow bursts of so many chat lines"
  set g_chat_flood_notify_flooder 1     "when 0, the flooder still can see his own message"
  set g_chat_teamcolors 0       "colorize nicknames in team color for chat"
- set g_voice_flood_spv 4       "normal voices: seconds between voices to not count as flooding"
- set g_voice_flood_spv_team 2  "team voices: seconds between voices to not count as flooding"
  set g_nick_flood_timeout 120 "time after which nick flood protection resets (set to 0 to disable nick flood checking)"
  set g_nick_flood_penalty 0.5 "duration of the nick flood penalty"
  set g_nick_flood_penalty_yellow 3 "number of changes to allow before warning and movement blocking"
@@@ -1470,6 -1477,7 +1481,7 @@@ seta cl_weaponpriority6 "" "use impuls
  seta cl_weaponpriority7 "" "use impulse 207 for prev gun from this list, 217 for best gun, 227 for next gun"
  seta cl_weaponpriority8 "" "use impulse 208 for prev gun from this list, 218 for best gun, 228 for next gun"
  seta cl_weaponpriority9 "" "use impulse 209 for prev gun from this list, 219 for best gun, 229 for next gun"
+ seta cl_weaponimpulsemode 0 "0: only cycle between currently usable weapons in weapon priority order; 1: cycle between all possible weapons on a key in weapon priority order"
  
  seta sv_status_privacy 1      "hide IP addresses from \"status\" replies shown to clients"
  
@@@ -1780,3 -1788,13 +1792,13 @@@ seta _cl_userid "" "player ID (e.g. fo
  // FIXME workaround for engine bug
  sv_gameplayfix_nudgeoutofsolid 0
  // to div0: remove this once 5b7ac1706712977bbc0297d2d53294e73574c7cd (svn r9537) is in the stable branch of the engine again
+ // otherwise, antilag breaks
+ sv_gameplayfix_consistentplayerprethink 1
+ // support Q1BSP maps
+ mod_q1bsp_polygoncollisions 1
+ // improve some minor details
+ sv_gameplayfix_gravityunaffectedbyticrate 1
+ sv_gameplayfix_nogravityonground 1
@@@ -29,10 -29,6 +29,10 @@@ float sv_warsowbunny_backtosideratio
  .float wasFlying;
  .float spectatorspeed;
  
 +.float multijump_count;
 +.float multijump_delay;
 +.float multijump_ready;
 +
  /*
  =============
  PlayerJump
@@@ -57,27 -53,7 +57,27 @@@ void PlayerJump (void
                return;
        }
  
 -      if (!(self.flags & FL_ONGROUND))
 +      if (cvar("g_multijump"))
 +      {
 +              if ((self.flags & FL_JUMPRELEASED) && !(self.flags & FL_ONGROUND))
 +                      self.multijump_ready = TRUE;  // this is necessary to check that we released the jump button and pressed it again
 +              else if (self.flags & FL_ONGROUND)
 +              {
 +                      if (cvar("g_multijump") > 0)
 +                              self.multijump_count = 0;
 +                      else
 +                              self.multijump_count = -2; // the cvar value for infinite jumps is -1, so this needs to be smaller
 +                      self.multijump_ready = FALSE;
 +              }
 +      }
 +
 +      if(self.multijump_ready && time > self.multijump_delay && self.multijump_count < cvar("g_multijump") && self.velocity_z > cvar("g_multijump_speed"))
 +      {
 +              if (cvar("g_multijump") > 0)
 +                      self.multijump_count += 1;
 +              self.multijump_ready = FALSE; // require releasing and pressing the jump button again for the next jump
 +      }
 +      else if (!(self.flags & FL_ONGROUND))
                return;
  
        if(!sv_pogostick)
        self.flags &~= FL_ONGROUND;
        self.flags &~= FL_JUMPRELEASED;
  
 +      if (cvar("g_multijump"))
 +              self.multijump_delay = time + cvar("g_multijump_delay");
 +
        if (self.crouch)
                setanim(self, self.anim_duckjump, FALSE, TRUE, TRUE);
        else
@@@ -715,6 -688,8 +715,8 @@@ void SV_PlayerPhysics(
                bot_think();
        }
        
+       MUTATOR_CALLHOOK(PlayerPhysics);
        self.items &~= IT_USING_JETPACK;
  
        if(self.classname == "player")