X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fmiscfunctions.qc;h=1577acc13e92fc4f0c6201b6c41af45242c66b73;hb=ba0988ca930f50286f8cf3b6c114ebc6584964af;hp=6e7d4b45d7f51bec97a2d707fe0d1e2e51c671c4;hpb=6c4f62990980e74d4a0963b7179c7c964f535398;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/miscfunctions.qc b/qcsrc/server/miscfunctions.qc index 6e7d4b45d..1577acc13 100644 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@ -1,9 +1,36 @@ -var void remove(entity e); -void objerror(string s); -void droptofloor(); -.vector dropped_origin; +#if defined(CSQC) +#elif defined(MENUQC) +#elif defined(SVQC) + #include "miscfunctions.qh" + #include "../dpdefs/progsdefs.qc" + #include "../dpdefs/dpextensions.qc" + #include "sys-post.qh" + #include "../common/playerstats.qh" + #include "../warpzonelib/anglestransform.qh" + #include "../warpzonelib/server.qh" + #include "../common/constants.qh" + #include "../common/teams.qh" + #include "../common/util.qh" + #include "../common/urllib.qh" + #include "../common/command/generic.qh" + #include "../common/weapons/weapons.qh" + #include "weapons/accuracy.qh" + #include "weapons/csqcprojectile.qh" + #include "weapons/selection.qh" + #include "t_items.qh" + #include "autocvars.qh" + #include "constants.qh" + #include "defs.qh" + #include "../common/notifications.qh" + #include "../common/deathtypes.qh" + #include "mutators/mutators_include.qh" + #include "tturrets/include/turrets_early.qh" + #include "../common/mapinfo.qh" + #include "command/common.qh" + #include "../csqcmodellib/sv_model.qh" + #include "ipban.qh" +#endif -void traceline_antilag (entity source, vector v1, vector v2, float nomonst, entity forent, float lag); void crosshair_trace(entity pl) { traceline_antilag(pl, pl.cursor_trace_start, pl.cursor_trace_start + normalize(pl.cursor_trace_endpos - pl.cursor_trace_start) * MAX_SHOT_DISTANCE, MOVE_NORMAL, pl, ANTILAG_LATENCY(pl)); @@ -23,15 +50,11 @@ void crosshair_trace_plusvisibletriggers(entity pl) for (e = first; e; e = e.chain) e.solid = SOLID_TRIGGER; } -void WarpZone_traceline_antilag (entity source, vector v1, vector v2, float nomonst, entity forent, float lag); void WarpZone_crosshair_trace(entity pl) { WarpZone_traceline_antilag(pl, pl.cursor_trace_start, pl.cursor_trace_start + normalize(pl.cursor_trace_endpos - pl.cursor_trace_start) * MAX_SHOT_DISTANCE, MOVE_NORMAL, pl, ANTILAG_LATENCY(pl)); } -void() spawnfunc_info_player_deathmatch; // needed for the other spawnpoints -void() spawnpoint_use; -string GetMapname(); string admin_name(void) { @@ -41,8 +64,6 @@ string admin_name(void) return "SERVER ADMIN"; } -float DistributeEvenly_amount; -float DistributeEvenly_totalweight; void DistributeEvenly_Init(float amount, float totalweight) { if (DistributeEvenly_amount) @@ -77,37 +98,6 @@ float DistributeEvenly_GetRandomized(float weight) return f; } -#define move_out_of_solid(e) WarpZoneLib_MoveOutOfSolid(e) - -const string STR_PLAYER = "player"; -const string STR_SPECTATOR = "spectator"; -const string STR_OBSERVER = "observer"; - -#define IS_PLAYER(v) (v.classname == STR_PLAYER) -#define IS_SPEC(v) (v.classname == STR_SPECTATOR) -#define IS_OBSERVER(v) (v.classname == STR_OBSERVER) -#define IS_CLIENT(v) (v.flags & FL_CLIENT) -#define IS_BOT_CLIENT(v) (clienttype(v) == CLIENTTYPE_BOT) -#define IS_REAL_CLIENT(v) (clienttype(v) == CLIENTTYPE_REAL) -#define IS_NOT_A_CLIENT(v) (clienttype(v) == CLIENTTYPE_NOTACLIENT) - -#define FOR_EACH_CLIENTSLOT(v) for(v = world; (v = nextent(v)) && (num_for_edict(v) <= maxclients); ) -#define FOR_EACH_CLIENT(v) FOR_EACH_CLIENTSLOT(v) if(IS_CLIENT(v)) -#define FOR_EACH_REALCLIENT(v) FOR_EACH_CLIENT(v) if(IS_REAL_CLIENT(v)) - -#define FOR_EACH_PLAYER(v) FOR_EACH_CLIENT(v) if(IS_PLAYER(v)) -#define FOR_EACH_SPEC(v) FOR_EACH_CLIENT(v) if (!IS_PLAYER(v)) // Samual: shouldn't this be IS_SPEC(v)? and rather create a separate macro to include observers too -#define FOR_EACH_REALPLAYER(v) FOR_EACH_REALCLIENT(v) if(IS_PLAYER(v)) - -#define FOR_EACH_MONSTER(v) for(v = world; (v = findflags(v, flags, FL_MONSTER)) != world; ) - -#define CENTER_OR_VIEWOFS(ent) (ent.origin + (IS_PLAYER(ent) ? ent.view_ofs : ((ent.mins + ent.maxs) * 0.5))) - -// copies a string to a tempstring (so one can strunzone it) -string strcat1(string s) = #115; // FRIK_FILE - -float logfile_open; -float logfile; void GameLogEcho(string s) { @@ -118,7 +108,7 @@ void GameLogEcho(string s) { if (!logfile_open) { - logfile_open = TRUE; + logfile_open = true; matches = autocvar_sv_eventlog_files_counter + 1; cvar_set("sv_eventlog_files_counter", ftos(matches)); fn = ftos(matches); @@ -131,7 +121,7 @@ void GameLogEcho(string s) if (logfile >= 0) { if (autocvar_sv_eventlog_files_timestamps) - fputs(logfile, strcat(":time:", strftime(TRUE, "%Y-%m-%d %H:%M:%S", "\n", s, "\n"))); + fputs(logfile, strcat(":time:", strftime(true, "%Y-%m-%d %H:%M:%S", "\n", s, "\n"))); else fputs(logfile, strcat(s, "\n")); } @@ -157,32 +147,6 @@ void GameLogClose() } } -#define strstr strstrofs -/* -// NOTE: DO NOT USE THIS FUNCTION TOO OFTEN. -// IT WILL MOST PROBABLY DESTROY _ALL_ OTHER TEMP -// STRINGS AND TAKE QUITE LONG. haystack and needle MUST -// BE CONSTANT OR strzoneD! -float strstr(string haystack, string needle, float offset) -{ - float len, endpos; - string found; - len = strlen(needle); - endpos = strlen(haystack) - len; - while(offset <= endpos) - { - found = substring(haystack, offset, len); - if(found == needle) - return offset; - offset = offset + 1; - } - return -1; -} -*/ - -const float NUM_NEAREST_ENTITIES = 4; -entity nearest_entity[NUM_NEAREST_ENTITIES]; -float nearest_length[NUM_NEAREST_ENTITIES]; entity findnearest(vector point, .string field, string value, vector axismod) { entity localhead; @@ -232,7 +196,7 @@ entity findnearest(vector point, .string field, string value, vector axismod) // now use the first one from our list that we can see for (i = 0; i < num_nearest; ++i) { - traceline(point, nearest_entity[i].origin, TRUE, world); + traceline(point, nearest_entity[i].origin, true, world); if (trace_fraction == 1) { if (i != 0) @@ -378,8 +342,8 @@ string formatmessage(string msg) return msg; } -float boolean(float value) { // if value is 0 return FALSE (0), otherwise return TRUE (1) - return (value == 0) ? FALSE : TRUE; +float boolean(float value) { // if value is 0 return false (0), otherwise return true (1) + return (value == 0) ? false : true; } /* @@ -554,493 +518,7 @@ vector randompos(vector m1, vector m2) return v; } -//#NO AUTOCVARS START - -float g_pickup_shells; -float g_pickup_shells_max; -float g_pickup_nails; -float g_pickup_nails_max; -float g_pickup_rockets; -float g_pickup_rockets_max; -float g_pickup_cells; -float g_pickup_cells_max; -float g_pickup_plasma; -float g_pickup_plasma_max; -float g_pickup_fuel; -float g_pickup_fuel_jetpack; -float g_pickup_fuel_max; -float g_pickup_armorsmall; -float g_pickup_armorsmall_max; -float g_pickup_armorsmall_anyway; -float g_pickup_armormedium; -float g_pickup_armormedium_max; -float g_pickup_armormedium_anyway; -float g_pickup_armorbig; -float g_pickup_armorbig_max; -float g_pickup_armorbig_anyway; -float g_pickup_armorlarge; -float g_pickup_armorlarge_max; -float g_pickup_armorlarge_anyway; -float g_pickup_healthsmall; -float g_pickup_healthsmall_max; -float g_pickup_healthsmall_anyway; -float g_pickup_healthmedium; -float g_pickup_healthmedium_max; -float g_pickup_healthmedium_anyway; -float g_pickup_healthlarge; -float g_pickup_healthlarge_max; -float g_pickup_healthlarge_anyway; -float g_pickup_healthmega; -float g_pickup_healthmega_max; -float g_pickup_healthmega_anyway; -float g_pickup_ammo_anyway; -float g_pickup_weapons_anyway; -float g_weaponarena; -WepSet g_weaponarena_weapons; -float g_weaponarena_random; -float g_weaponarena_random_with_blaster; -string g_weaponarena_list; -float g_weaponspeedfactor; -float g_weaponratefactor; -float g_weapondamagefactor; -float g_weaponforcefactor; -float g_weaponspreadfactor; - -WepSet start_weapons; -WepSet start_weapons_default; -WepSet start_weapons_defaultmask; -float start_items; -float start_ammo_shells; -float start_ammo_nails; -float start_ammo_rockets; -float start_ammo_cells; -float start_ammo_plasma; -float start_ammo_fuel; -float start_health; -float start_armorvalue; -WepSet warmup_start_weapons; -WepSet warmup_start_weapons_default; -WepSet warmup_start_weapons_defaultmask; -#define WARMUP_START_WEAPONS ((g_warmup_allguns == 1) ? (warmup_start_weapons & (weaponsInMap | start_weapons)) : warmup_start_weapons) -float warmup_start_ammo_shells; -float warmup_start_ammo_nails; -float warmup_start_ammo_rockets; -float warmup_start_ammo_cells; -float warmup_start_ammo_plasma; -float warmup_start_ammo_fuel; -float warmup_start_health; -float warmup_start_armorvalue; -float g_weapon_stay; - -float want_weapon(entity weaponinfo, float allguns) // WEAPONTODO: what still needs done? -{ - var float i = weaponinfo.weapon; - var float d = 0; - - if (!i) - return 0; - - if (g_lms || g_ca || allguns) - { - if(weaponinfo.spawnflags & WEP_FLAG_NORMAL) - d = TRUE; - else - d = FALSE; - } - else if (g_cts) - d = (i == WEP_SHOTGUN); - else if (g_nexball) - d = 0; // weapon is set a few lines later - else - d = !(!weaponinfo.weaponstart); - - if(g_grappling_hook) // if possible, redirect off-hand hook to on-hand hook - d |= (i == WEP_HOOK); - if(!g_cts && (weaponinfo.spawnflags & WEP_FLAG_MUTATORBLOCKED)) // never default mutator blocked guns - d = 0; - - var float t = weaponinfo.weaponstartoverride; - - //print(strcat("want_weapon: ", weaponinfo.netname, " - d: ", ftos(d), ", t: ", ftos(t), ". \n")); - - // bit order in t: - // 1: want or not - // 2: is default? - // 4: is set by default? - if(t < 0) - t = 4 | (3 * d); - else - t |= (2 * d); - - return t; -} - -void readplayerstartcvars() -{ - entity e; - float i, j, t; - string s; - - // initialize starting values for players - start_weapons = '0 0 0'; - start_weapons_default = '0 0 0'; - start_weapons_defaultmask = '0 0 0'; - start_items = 0; - start_ammo_shells = 0; - start_ammo_nails = 0; - start_ammo_rockets = 0; - start_ammo_cells = 0; - start_ammo_plasma = 0; - start_health = cvar("g_balance_health_start"); - start_armorvalue = cvar("g_balance_armor_start"); - - g_weaponarena = 0; - g_weaponarena_weapons = '0 0 0'; - - s = cvar_string("g_weaponarena"); - if (s == "0" || s == "") - { - if(g_ca) - s = "most"; - } - - if (s == "0" || s == "") - { - // no arena - } - else if (s == "off") - { - // forcibly turn off weaponarena - } - else if (s == "all" || s == "1") - { - g_weaponarena = 1; - g_weaponarena_list = "All Weapons"; - for (j = WEP_FIRST; j <= WEP_LAST; ++j) - { - e = get_weaponinfo(j); - if (!(e.spawnflags & WEP_FLAG_MUTATORBLOCKED)) - g_weaponarena_weapons |= WepSet_FromWeapon(j); - } - } - else if (s == "most") - { - g_weaponarena = 1; - g_weaponarena_list = "Most Weapons"; - for (j = WEP_FIRST; j <= WEP_LAST; ++j) - { - e = get_weaponinfo(j); - if (!(e.spawnflags & WEP_FLAG_MUTATORBLOCKED)) - if (e.spawnflags & WEP_FLAG_NORMAL) - g_weaponarena_weapons |= WepSet_FromWeapon(j); - } - } - else if (s == "none") - { - g_weaponarena = 1; - g_weaponarena_list = "No Weapons"; - } - else - { - g_weaponarena = 1; - t = tokenize_console(s); - g_weaponarena_list = ""; - for (i = 0; i < t; ++i) - { - s = argv(i); - for (j = WEP_FIRST; j <= WEP_LAST; ++j) - { - e = get_weaponinfo(j); - if (e.netname == s) - { - g_weaponarena_weapons |= WepSet_FromWeapon(j); - g_weaponarena_list = strcat(g_weaponarena_list, e.message, " & "); - break; - } - } - if (j > WEP_LAST) - { - print("The weapon mutator list contains an unknown weapon ", s, ". Skipped.\n"); - } - } - g_weaponarena_list = strzone(substring(g_weaponarena_list, 0, strlen(g_weaponarena_list) - 3)); - } - - if(g_weaponarena) - g_weaponarena_random = cvar("g_weaponarena_random"); - else - g_weaponarena_random = 0; - g_weaponarena_random_with_blaster = cvar("g_weaponarena_random_with_blaster"); - - if (g_weaponarena) - { - g_weapon_stay = 0; // incompatible - start_weapons = g_weaponarena_weapons; - start_items |= IT_UNLIMITED_AMMO; - } - else - { - for (i = WEP_FIRST; i <= WEP_LAST; ++i) - { - e = get_weaponinfo(i); - float w = want_weapon(e, FALSE); - if(w & 1) - start_weapons |= WepSet_FromWeapon(i); - if(w & 2) - start_weapons_default |= WepSet_FromWeapon(i); - if(w & 4) - start_weapons_defaultmask |= WepSet_FromWeapon(i); - } - } - - if(!cvar("g_use_ammunition")) - start_items |= IT_UNLIMITED_AMMO; - if(start_items & IT_UNLIMITED_WEAPON_AMMO) - { - start_ammo_shells = 999; - start_ammo_nails = 999; - start_ammo_rockets = 999; - start_ammo_cells = 999; - start_ammo_plasma = 999; - start_ammo_fuel = 999; - } - else - { - start_ammo_shells = cvar("g_start_ammo_shells"); - start_ammo_nails = cvar("g_start_ammo_nails"); - start_ammo_rockets = cvar("g_start_ammo_rockets"); - start_ammo_cells = cvar("g_start_ammo_cells"); - start_ammo_plasma = cvar("g_start_ammo_plasma"); - start_ammo_fuel = cvar("g_start_ammo_fuel"); - } - - if (warmup_stage) - { - warmup_start_ammo_shells = start_ammo_shells; - warmup_start_ammo_nails = start_ammo_nails; - warmup_start_ammo_rockets = start_ammo_rockets; - warmup_start_ammo_cells = start_ammo_cells; - warmup_start_ammo_plasma = start_ammo_plasma; - warmup_start_ammo_fuel = start_ammo_fuel; - warmup_start_health = start_health; - warmup_start_armorvalue = start_armorvalue; - warmup_start_weapons = start_weapons; - warmup_start_weapons_default = start_weapons_default; - warmup_start_weapons_defaultmask = start_weapons_defaultmask; - - if (!g_weaponarena && !g_ca) - { - warmup_start_ammo_shells = cvar("g_warmup_start_ammo_shells"); - warmup_start_ammo_nails = cvar("g_warmup_start_ammo_nails"); - warmup_start_ammo_rockets = cvar("g_warmup_start_ammo_rockets"); - warmup_start_ammo_cells = cvar("g_warmup_start_ammo_cells"); - warmup_start_ammo_plasma = cvar("g_warmup_start_ammo_plasma"); - warmup_start_ammo_fuel = cvar("g_warmup_start_ammo_fuel"); - warmup_start_health = cvar("g_warmup_start_health"); - warmup_start_armorvalue = cvar("g_warmup_start_armor"); - warmup_start_weapons = '0 0 0'; - warmup_start_weapons_default = '0 0 0'; - warmup_start_weapons_defaultmask = '0 0 0'; - for (i = WEP_FIRST; i <= WEP_LAST; ++i) - { - e = get_weaponinfo(i); - float w = want_weapon(e, g_warmup_allguns); - if(w & 1) - warmup_start_weapons |= WepSet_FromWeapon(i); - if(w & 2) - warmup_start_weapons_default |= WepSet_FromWeapon(i); - if(w & 4) - warmup_start_weapons_defaultmask |= WepSet_FromWeapon(i); - } - } - } - - if (g_jetpack) - start_items |= IT_JETPACK; - - MUTATOR_CALLHOOK(SetStartItems); - - if ((start_items & IT_JETPACK) || (g_grappling_hook && (start_weapons & WEPSET_HOOK))) - { - start_items |= IT_FUEL_REGEN; - start_ammo_fuel = max(start_ammo_fuel, cvar("g_balance_fuel_rotstable")); - warmup_start_ammo_fuel = max(warmup_start_ammo_fuel, cvar("g_balance_fuel_rotstable")); - } - - WepSet precache_weapons = start_weapons; - if (g_warmup_allguns != 1) - precache_weapons |= warmup_start_weapons; - for (i = WEP_FIRST; i <= WEP_LAST; ++i) - { - e = get_weaponinfo(i); - if(precache_weapons & WepSet_FromWeapon(i)) - WEP_ACTION(i, WR_INIT); - } - - start_ammo_shells = max(0, start_ammo_shells); - start_ammo_nails = max(0, start_ammo_nails); - start_ammo_rockets = max(0, start_ammo_rockets); - start_ammo_cells = max(0, start_ammo_cells); - start_ammo_plasma = max(0, start_ammo_plasma); - start_ammo_fuel = max(0, start_ammo_fuel); - - warmup_start_ammo_shells = max(0, warmup_start_ammo_shells); - warmup_start_ammo_nails = max(0, warmup_start_ammo_nails); - warmup_start_ammo_rockets = max(0, warmup_start_ammo_rockets); - warmup_start_ammo_cells = max(0, warmup_start_ammo_cells); - warmup_start_ammo_plasma = max(0, warmup_start_ammo_plasma); - warmup_start_ammo_fuel = max(0, warmup_start_ammo_fuel); -} - -float g_bugrigs; -float g_bugrigs_planar_movement; -float g_bugrigs_planar_movement_car_jumping; -float g_bugrigs_reverse_spinning; -float g_bugrigs_reverse_speeding; -float g_bugrigs_reverse_stopping; -float g_bugrigs_air_steering; -float g_bugrigs_angle_smoothing; -float g_bugrigs_friction_floor; -float g_bugrigs_friction_brake; -float g_bugrigs_friction_air; -float g_bugrigs_accel; -float g_bugrigs_speed_ref; -float g_bugrigs_speed_pow; -float g_bugrigs_steer; - -float sv_autotaunt; -float sv_taunt; - -string GetGametype(); // g_world.qc -void mutators_add(); // mutators.qc -void readlevelcvars(void) -{ - // load mutators - mutators_add(); - - if(cvar("sv_allow_fullbright")) - serverflags |= SERVERFLAG_ALLOW_FULLBRIGHT; - - g_bugrigs = cvar("g_bugrigs"); - g_bugrigs_planar_movement = cvar("g_bugrigs_planar_movement"); - g_bugrigs_planar_movement_car_jumping = cvar("g_bugrigs_planar_movement_car_jumping"); - g_bugrigs_reverse_spinning = cvar("g_bugrigs_reverse_spinning"); - g_bugrigs_reverse_speeding = cvar("g_bugrigs_reverse_speeding"); - g_bugrigs_reverse_stopping = cvar("g_bugrigs_reverse_stopping"); - g_bugrigs_air_steering = cvar("g_bugrigs_air_steering"); - g_bugrigs_angle_smoothing = cvar("g_bugrigs_angle_smoothing"); - g_bugrigs_friction_floor = cvar("g_bugrigs_friction_floor"); - g_bugrigs_friction_brake = cvar("g_bugrigs_friction_brake"); - g_bugrigs_friction_air = cvar("g_bugrigs_friction_air"); - g_bugrigs_accel = cvar("g_bugrigs_accel"); - g_bugrigs_speed_ref = cvar("g_bugrigs_speed_ref"); - g_bugrigs_speed_pow = cvar("g_bugrigs_speed_pow"); - g_bugrigs_steer = cvar("g_bugrigs_steer"); - - g_instagib = cvar("g_instagib"); - - sv_clones = cvar("sv_clones"); - sv_foginterval = cvar("sv_foginterval"); - g_cloaked = cvar("g_cloaked"); - g_footsteps = cvar("g_footsteps"); - g_grappling_hook = cvar("g_grappling_hook"); - g_jetpack = cvar("g_jetpack"); - sv_maxidle = cvar("sv_maxidle"); - sv_maxidle_spectatorsareidle = cvar("sv_maxidle_spectatorsareidle"); - sv_autotaunt = cvar("sv_autotaunt"); - sv_taunt = cvar("sv_taunt"); - - warmup_stage = cvar("g_warmup"); - g_warmup_limit = cvar("g_warmup_limit"); - g_warmup_allguns = cvar("g_warmup_allguns"); - g_warmup_allow_timeout = cvar("g_warmup_allow_timeout"); - - if ((g_race && g_race_qualifying == 2) || g_assault || cvar("g_campaign")) - warmup_stage = 0; // these modes cannot work together, sorry - - g_pickup_respawntime_weapon = cvar("g_pickup_respawntime_weapon"); - g_pickup_respawntime_superweapon = cvar("g_pickup_respawntime_superweapon"); - g_pickup_respawntime_ammo = cvar("g_pickup_respawntime_ammo"); - g_pickup_respawntime_short = cvar("g_pickup_respawntime_short"); - g_pickup_respawntime_medium = cvar("g_pickup_respawntime_medium"); - g_pickup_respawntime_long = cvar("g_pickup_respawntime_long"); - g_pickup_respawntime_powerup = cvar("g_pickup_respawntime_powerup"); - g_pickup_respawntimejitter_weapon = cvar("g_pickup_respawntimejitter_weapon"); - g_pickup_respawntimejitter_superweapon = cvar("g_pickup_respawntimejitter_superweapon"); - g_pickup_respawntimejitter_ammo = cvar("g_pickup_respawntimejitter_ammo"); - g_pickup_respawntimejitter_short = cvar("g_pickup_respawntimejitter_short"); - g_pickup_respawntimejitter_medium = cvar("g_pickup_respawntimejitter_medium"); - g_pickup_respawntimejitter_long = cvar("g_pickup_respawntimejitter_long"); - g_pickup_respawntimejitter_powerup = cvar("g_pickup_respawntimejitter_powerup"); - - g_weaponspeedfactor = cvar("g_weaponspeedfactor"); - g_weaponratefactor = cvar("g_weaponratefactor"); - g_weapondamagefactor = cvar("g_weapondamagefactor"); - g_weaponforcefactor = cvar("g_weaponforcefactor"); - g_weaponspreadfactor = cvar("g_weaponspreadfactor"); - - g_pickup_shells = cvar("g_pickup_shells"); - g_pickup_shells_max = cvar("g_pickup_shells_max"); - g_pickup_nails = cvar("g_pickup_nails"); - g_pickup_nails_max = cvar("g_pickup_nails_max"); - g_pickup_rockets = cvar("g_pickup_rockets"); - g_pickup_rockets_max = cvar("g_pickup_rockets_max"); - g_pickup_cells = cvar("g_pickup_cells"); - g_pickup_cells_max = cvar("g_pickup_cells_max"); - g_pickup_plasma = cvar("g_pickup_plasma"); - g_pickup_plasma_max = cvar("g_pickup_plasma_max"); - g_pickup_fuel = cvar("g_pickup_fuel"); - g_pickup_fuel_jetpack = cvar("g_pickup_fuel_jetpack"); - g_pickup_fuel_max = cvar("g_pickup_fuel_max"); - g_pickup_armorsmall = cvar("g_pickup_armorsmall"); - g_pickup_armorsmall_max = cvar("g_pickup_armorsmall_max"); - g_pickup_armorsmall_anyway = cvar("g_pickup_armorsmall_anyway"); - g_pickup_armormedium = cvar("g_pickup_armormedium"); - g_pickup_armormedium_max = cvar("g_pickup_armormedium_max"); - g_pickup_armormedium_anyway = cvar("g_pickup_armormedium_anyway"); - g_pickup_armorbig = cvar("g_pickup_armorbig"); - g_pickup_armorbig_max = cvar("g_pickup_armorbig_max"); - g_pickup_armorbig_anyway = cvar("g_pickup_armorbig_anyway"); - g_pickup_armorlarge = cvar("g_pickup_armorlarge"); - g_pickup_armorlarge_max = cvar("g_pickup_armorlarge_max"); - g_pickup_armorlarge_anyway = cvar("g_pickup_armorlarge_anyway"); - g_pickup_healthsmall = cvar("g_pickup_healthsmall"); - g_pickup_healthsmall_max = cvar("g_pickup_healthsmall_max"); - g_pickup_healthsmall_anyway = cvar("g_pickup_healthsmall_anyway"); - g_pickup_healthmedium = cvar("g_pickup_healthmedium"); - g_pickup_healthmedium_max = cvar("g_pickup_healthmedium_max"); - g_pickup_healthmedium_anyway = cvar("g_pickup_healthmedium_anyway"); - g_pickup_healthlarge = cvar("g_pickup_healthlarge"); - g_pickup_healthlarge_max = cvar("g_pickup_healthlarge_max"); - g_pickup_healthlarge_anyway = cvar("g_pickup_healthlarge_anyway"); - g_pickup_healthmega = cvar("g_pickup_healthmega"); - g_pickup_healthmega_max = cvar("g_pickup_healthmega_max"); - g_pickup_healthmega_anyway = cvar("g_pickup_healthmega_anyway"); - - g_pickup_ammo_anyway = cvar("g_pickup_ammo_anyway"); - g_pickup_weapons_anyway = cvar("g_pickup_weapons_anyway"); - - g_weapon_stay = cvar(strcat("g_", GetGametype(), "_weapon_stay")); - if(!g_weapon_stay) - g_weapon_stay = cvar("g_weapon_stay"); - - if (!warmup_stage) - game_starttime = time + cvar("g_start_delay"); - - readplayerstartcvars(); -} - -//#NO AUTOCVARS END - -// Sound functions -string precache_sound (string s) = #19; -float precache_sound_index (string s) = #19; - -const float SND_VOLUME = 1; -const float SND_ATTENUATION = 2; -const float SND_LARGEENTITY = 8; -const float SND_LARGESOUND = 16; float sound_allowed(float dest, entity e) { @@ -1059,13 +537,13 @@ float sound_allowed(float dest, entity e) // sounds to self may always pass if (dest == MSG_ONE) if (e == msg_entity) - return TRUE; + return true; // sounds by players can be removed if (autocvar_bot_sound_monopoly) if (IS_REAL_CLIENT(e)) - return FALSE; + return false; // anything else may pass - return TRUE; + return true; } #undef sound @@ -1194,15 +672,15 @@ void play2(entity e, string filename) float spamsound(entity e, float chan, string samp, float vol, float atten) { if (!sound_allowed(MSG_BROADCAST, e)) - return FALSE; + return false; if (time > e.spamtime) { e.spamtime = time; sound(e, chan, samp, vol, atten); - return TRUE; + return true; } - return FALSE; + return false; } void play2team(float t, string filename) @@ -1245,7 +723,7 @@ void precache_playermodel(string m) if(fexists(f)) precache_model(f); - globhandle = search_begin(strcat(m, "_*.sounds"), TRUE, FALSE); + globhandle = search_begin(strcat(m, "_*.sounds"), true, false); if (globhandle < 0) return; n = search_getsize(globhandle); @@ -1262,7 +740,7 @@ void precache_all_playermodels(string pattern) float globhandle, i, n; string f; - globhandle = search_begin(pattern, TRUE, FALSE); + globhandle = search_begin(pattern, true, false); if (globhandle < 0) return; n = search_getsize(globhandle); @@ -1389,23 +867,6 @@ void precache() #include "precache-for-csqc.inc" } -// WARNING: this kills the trace globals -#define EXACTTRIGGER_TOUCH if(WarpZoneLib_ExactTrigger_Touch()) return -#define EXACTTRIGGER_INIT WarpZoneLib_ExactTrigger_Init() - -const float INITPRIO_FIRST = 0; -const float INITPRIO_GAMETYPE = 0; -const float INITPRIO_GAMETYPE_FALLBACK = 1; -const float INITPRIO_FINDTARGET = 10; -const float INITPRIO_DROPTOFLOOR = 20; -const float INITPRIO_SETLOCATION = 90; -const float INITPRIO_LINKDOORS = 91; -const float INITPRIO_LAST = 99; - -.void(void) initialize_entity; -.float initialize_entity_order; -.entity initialize_entity_next; -entity initialize_entity_first; void make_safe_for_remove(entity e) { @@ -1612,7 +1073,7 @@ float EliminatedPlayers_SendEntity(entity to, float sendflags) } } - return TRUE; + return true; } void EliminatedPlayers_Init(float(entity) isEliminated_func) @@ -1622,7 +1083,7 @@ void EliminatedPlayers_Init(float(entity) isEliminated_func) backtrace("Can't spawn eliminatedPlayers again!"); return; } - Net_LinkEntity(eliminatedPlayers = spawn(), FALSE, 0, EliminatedPlayers_SendEntity); + Net_LinkEntity(eliminatedPlayers = spawn(), false, 0, EliminatedPlayers_SendEntity); eliminatedPlayers.isEliminated = isEliminated_func; } @@ -1677,9 +1138,9 @@ float trace_hits_box_1d(float end, float thmi, float thma) { // just check if x is in range if (0 < thmi) - return FALSE; + return false; if (0 > thma) - return FALSE; + return false; } else { @@ -1688,9 +1149,9 @@ float trace_hits_box_1d(float end, float thmi, float thma) trace_hits_box_a0 = max(trace_hits_box_a0, min(thmi / end, thma / end)); trace_hits_box_a1 = min(trace_hits_box_a1, max(thmi / end, thma / end)); if (trace_hits_box_a0 > trace_hits_box_a1) - return FALSE; + return false; } - return TRUE; + return true; } float trace_hits_box(vector start, vector end, vector thmi, vector thma) @@ -1704,13 +1165,13 @@ float trace_hits_box(vector start, vector end, vector thmi, vector thma) trace_hits_box_a1 = 1; if (!trace_hits_box_1d(end.x, thmi.x, thma.x)) - return FALSE; + return false; if (!trace_hits_box_1d(end.y, thmi.y, thma.y)) - return FALSE; + return false; if (!trace_hits_box_1d(end.z, thmi.z, thma.z)) - return FALSE; + return false; - return TRUE; + return true; } float tracebox_hits_box(vector start, vector mi, vector ma, vector end, vector thmi, vector thma) @@ -1759,11 +1220,11 @@ void W_Crylink_Dequeue(entity e); float WarpZone_Projectile_Touch_ImpactFilter_Callback() { if(SUB_OwnerCheck()) - return TRUE; + return true; if(SUB_NoImpactCheck()) { if(self.classname == "nade") - return FALSE; // no checks here + return false; // no checks here else if(self.classname == "grapplinghook") RemoveGrapplingHook(self.realowner); else if(self.classname == "spike") @@ -1773,11 +1234,11 @@ float WarpZone_Projectile_Touch_ImpactFilter_Callback() } else remove(self); - return TRUE; + return true; } if(trace_ent && trace_ent.solid > SOLID_TRIGGER) UpdateCSQCProjectile(self); - return FALSE; + return false; } #define PROJECTILE_TOUCH if(WarpZone_Projectile_Touch()) return @@ -1936,10 +1397,10 @@ float MoveToRandomMapLocation(entity e, float goodcontents, float badcontents, f setorigin(e, start); e.angles = vectoangles(end - start); dprint("Needed ", ftos(i + 1), " attempts\n"); - return TRUE; + return true; } else - return FALSE; + return false; } void write_recordmarker(entity pl, float tstart, float dt) @@ -2169,7 +1630,7 @@ float modeleffect_SendEntity(entity to, float sf) WriteByte(MSG_ENTITY, self.fade_time * 100.0); WriteByte(MSG_ENTITY, self.alpha * 255.0); - return TRUE; + return true; } void modeleffect_spawn(string m, float s, float f, vector o, vector v, vector ang, vector angv, float s0, float s2, float a, float t1, float t2) @@ -2198,7 +1659,7 @@ void modeleffect_spawn(string m, float s, float f, vector o, vector v, vector an e.scale2 = -s2; sz = max(e.scale, e.scale2); setsize(e, e.mins * sz, e.maxs * sz); - Net_LinkEntity(e, FALSE, 0.1, modeleffect_SendEntity); + Net_LinkEntity(e, false, 0.1, modeleffect_SendEntity); } void shockwave_spawn(string m, vector org, float sz, float t1, float t2) @@ -2355,9 +1816,9 @@ float LostMovetypeFollow(entity ent) float isPushable(entity e) { if(e.iscreature) - return TRUE; + return true; if(e.pushable) - return TRUE; + return true; switch(e.classname) { case "body": @@ -2365,11 +1826,11 @@ float isPushable(entity e) case "keepawayball": case "nexball_basketball": case "nexball_football": - return TRUE; + return true; case "bullet": // antilagged bullets can't hit this either - return FALSE; + return false; } if (e.projectiledeathtype) - return TRUE; - return FALSE; + return true; + return false; }