Merge branch 'master' into bones_was_here/q3compat
authorbones_was_here <bones_was_here@xa.org.au>
Sat, 6 Mar 2021 10:15:39 +0000 (20:15 +1000)
committerbones_was_here <bones_was_here@xa.org.au>
Sat, 6 Mar 2021 10:15:39 +0000 (20:15 +1000)
18 files changed:
1  2 
qcsrc/common/items/item/powerup.qh
qcsrc/common/mapobjects/trigger/jumppads.qc
qcsrc/common/mutators/mutator/buffs/sv_buffs.qc
qcsrc/common/mutators/mutator/buffs/sv_buffs.qh
qcsrc/common/physics/player.qc
qcsrc/common/stats.qh
qcsrc/common/weapons/all.qc
qcsrc/common/weapons/weapon/shockwave.qc
qcsrc/lib/spawnfunc.qh
qcsrc/server/client.qc
qcsrc/server/compat/quake3.qh
qcsrc/server/items/items.qc
qcsrc/server/items/items.qh
qcsrc/server/race.qc
qcsrc/server/teamplay.qc
qcsrc/server/teamplay.qh
qcsrc/server/world.qc
xonotic-server.cfg

Simple merge
Simple merge
index ffc0cfacfbf14acb31196cac9e9c3996c1d5e8d2,e5621c29ec97ecc80a2ef740ba4061aaec48aa77..c709da51a769d5564386fbca0d553085980a46fc
@@@ -1,10 -1,16 +1,17 @@@
  #pragma once
  
+ // you're next
  #ifdef SVQC
- #include <server/autocvars.qh>
  #include <server/client.qh>
 +#include <server/compat/quake3.qh>
+ #include <server/main.qh>
+ #include <common/gamemodes/sv_rules.qh>
+ #include <common/mapobjects/teleporters.qh>
  #include <common/mapobjects/trigger/secret.qh>
+ #include <common/mutators/mutator/doublejump/doublejump.qh>
+ #include <common/mutators/mutator/itemstime/itemstime.qh>
+ #include <common/physics/player.qh>
  #endif
  
  // Full list of all stat constants, included in a single location for easy reference
Simple merge
Simple merge
Simple merge
index 029485ab03f969fecd2d45c033a309dc2b0f5092,a9b90abadc44b1ed9bf0ca7d8d0b0d27cc9f5888..d2c547b6f6e9d3bacce6388c7f5eed703c642be1
@@@ -1,38 -1,8 +1,40 @@@
  #pragma once
  
 -bool autocvar_sv_q3acompat_machineshotgunswap;
 -bool autocvar_sv_q3defragcompat_changehitbox = false;
 +int q3compat = 0;
 +#define Q3COMPAT_ARENA BIT(0)
 +#define Q3COMPAT_DEFI BIT(1)
 +
++bool autocvar_sv_q3compat_changehitbox;
  bool DoesQ3ARemoveThisEntity(entity this);
 +int GetAmmoConsumptionQ3(string netname);
  
  .int fragsfilter_cnt;
 +
 +/* We tell the ammo spawnfunc which weapon will use the ammo so it can
 + * calculate the amount required for the number of shots in the count field,
 + * and so the type can be looked up rather than specified in quake3.qc
 + */
 +// Ammo only, unconditional
 +#define SPAWNFUNC_Q3AMMO(ammo_classname, xonwep) \
 +      spawnfunc(ammo_classname) \
 +      { \
 +              if(this.count && xonwep.ammo_type) \
 +                      SetResource(this, xonwep.ammo_type, this.count * GetAmmoConsumptionQ3(xonwep.netname)); \
 +      SPAWNFUNC_BODY(GetAmmoItem(xonwep.ammo_type)) \
 +      }
 +
 +// Ammo only, conditional
 +#define SPAWNFUNC_Q3AMMO_COND(ammo_classname, cond, xonwep1, xonwep0) \
 +      SPAWNFUNC_Q3AMMO(ammo_classname, (cond ? xonwep1 : xonwep0))
 +
 +// Weapon & ammo, unconditional
 +#define SPAWNFUNC_Q3(weapon_classname, ammo_classname, xonwep) \
 +      SPAWNFUNC_WEAPON(weapon_classname, xonwep) \
 +      SPAWNFUNC_Q3AMMO(ammo_classname, xonwep)
 +
 +// Weapon & ammo, conditional
 +#define SPAWNFUNC_Q3_COND(weapon_classname, ammo_classname, cond, xonwep1, xonwep0) \
 +      SPAWNFUNC_WEAPON_COND(weapon_classname, cond, xonwep1, xonwep0) \
 +      SPAWNFUNC_Q3AMMO_COND(ammo_classname, cond, xonwep1, xonwep0)
 +
Simple merge
Simple merge
Simple merge
Simple merge
index 9faaaa521353b22a8ab8ed7f104df46214a27657,279df06fc303a8e766fa182d6eb90f2313b81cc6..a8c48be15ddceff941391f350df3077ce62bbb6a
@@@ -8,10 -8,10 +8,12 @@@ bool autocvar_teamplay_lockonrestart
  bool autocvar_g_balance_teams;
  bool autocvar_g_balance_teams_prevent_imbalance;
  
+ string autocvar_g_forced_team_otherwise;
  bool lockteams;
  
 +.int team_forced; // can be a team number to force a team, or 0 for default action, or -1 for forced spectator
 +
  // ========================== Global teams API ================================
  
  /// \brief Returns the global team entity at the given index.
Simple merge
Simple merge