From ed623712a6dfd191c610cbb7b599226811ed814d Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Mon, 17 Dec 2012 17:03:12 +0100 Subject: [PATCH] fix most uninitialized stuff in svqc --- qcsrc/Makefile | 4 +-- qcsrc/menu/menu.qc | 3 ++ qcsrc/server/bot/havocbot/role_onslaught.qc | 1 + qcsrc/server/bot/waypoints.qc | 33 ++++++++++--------- qcsrc/server/cl_weaponsystem.qc | 3 +- qcsrc/server/item_key.qc | 3 ++ qcsrc/server/mutators/gamemode_ctf.qc | 8 ++--- qcsrc/server/mutators/gamemode_onslaught.qc | 6 ++-- qcsrc/server/mutators/mutator_superspec.qc | 18 +++++----- qcsrc/server/mutators/sandbox.qc | 4 +-- qcsrc/server/pathlib/main.qc | 2 +- qcsrc/server/runematch.qc | 4 +-- qcsrc/server/t_items.qc | 6 ++++ .../server/tturrets/system/system_aimprocs.qc | 3 ++ qcsrc/server/tturrets/system/system_main.qc | 4 +-- .../tturrets/system/system_scoreprocs.qc | 6 ++-- qcsrc/server/tturrets/units/unit_tessla.qc | 2 +- qcsrc/server/tturrets/units/unit_walker.qc | 2 +- qcsrc/server/vehicles/spiderbot.qc | 2 +- qcsrc/server/vehicles/vehicles.qc | 6 ++-- qcsrc/server/w_crylink.qc | 4 +-- qcsrc/server/w_electro.qc | 1 + qcsrc/server/w_rocketlauncher.qc | 1 + qcsrc/server/w_tuba.qc | 3 ++ qcsrc/warpzonelib/server.qc | 3 ++ 25 files changed, 79 insertions(+), 53 deletions(-) diff --git a/qcsrc/Makefile b/qcsrc/Makefile index 8d2279a47..db69248e9 100644 --- a/qcsrc/Makefile +++ b/qcsrc/Makefile @@ -4,10 +4,10 @@ QCCFLAGS_WATERMARK ?= -DWATERMARK='"$(shell git describe)"' -DCVAR_POPCON=1 QCC ?= fteqcc VERSION_MESSAGE = $(shell $(QCC) --version --help) -ifneq (,$(findstring gmqcc,$(VERSION_MESSAGE))) +ifneq (,$(findstring GMQCC,$(VERSION_MESSAGE))) # this is gmqcc QCCFLAGS_WATERMARK = -QCCFLAGS ?= -Werror -Wall -Wno-field-redeclared -Wno-double-declaration -Wno-assign-function-types -Wno-unused-variable -std=fteqcc -fshort-logic -O1 -flno $(QCCFLAGS_EXTRA) $(QCCFLAGS_WATERMARK) +QCCFLAGS ?= -Wall -Wno-field-redeclared -Wno-double-declaration -Wno-assign-function-types -Wno-unused-variable -std=fteqcc -fshort-logic -O1 -flno $(QCCFLAGS_EXTRA) $(QCCFLAGS_WATERMARK) else # this. is. fteqccccccccccccccccccc! QCCFLAGS ?= -Werror -Wno-Q302 -O3 -Ono-return_only -fno-fastarrays $(QCCFLAGS_EXTRA) $(QCCFLAGS_WATERMARK) diff --git a/qcsrc/menu/menu.qc b/qcsrc/menu/menu.qc index d3bf2ec62..bccf5c8d6 100644 --- a/qcsrc/menu/menu.qc +++ b/qcsrc/menu/menu.qc @@ -306,6 +306,9 @@ void draw_Picture_Aligned(vector algn, float scalemode, string img, float a) isz_w = '1 0 0' + '0 1 0' * ((sz_y / sz_x) * (draw_scale_x / draw_scale_y)); isz_h = '0 1 0' + '1 0 0' * ((sz_x / sz_y) * (draw_scale_y / draw_scale_x)); +#ifdef GMQCC + isz = '0 0 0'; +#endif switch(scalemode) { default: diff --git a/qcsrc/server/bot/havocbot/role_onslaught.qc b/qcsrc/server/bot/havocbot/role_onslaught.qc index b17697d2f..6b0ccaa0d 100644 --- a/qcsrc/server/bot/havocbot/role_onslaught.qc +++ b/qcsrc/server/bot/havocbot/role_onslaught.qc @@ -217,6 +217,7 @@ void havocbot_goalrating_ons_controlpoints_attack(float ratingscale) { // Should be touched // dprint(self.netname, " found a touchable controlpoint at ", vtos(cp.origin) ,"\n"); + found = FALSE; // Look for auto generated waypoint if not(bot_waypoints_for_items) diff --git a/qcsrc/server/bot/waypoints.qc b/qcsrc/server/bot/waypoints.qc index d31a88b52..cf5ec278b 100644 --- a/qcsrc/server/bot/waypoints.qc +++ b/qcsrc/server/bot/waypoints.qc @@ -360,8 +360,8 @@ void waypoint_schedulerelinkall() float waypoint_load_links() { string filename, s; - float file, tokens, c, found; - entity wp_from, wp_to; + float file, tokens, c = 0, found; + entity wp_from = world, wp_to; vector wp_to_pos, wp_from_pos; filename = strcat("maps/", mapname); filename = strcat(filename, ".waypoints.cache"); @@ -394,7 +394,7 @@ float waypoint_load_links() wp_to_pos = stov(argv(1)); // Search "from" waypoint - if(wp_from.origin!=wp_from_pos) + if(wp_from && wp_from.origin!=wp_from_pos) { wp_from = findradius(wp_from_pos, 1); found = FALSE; @@ -456,8 +456,8 @@ float waypoint_load_links() void waypoint_load_links_hardwired() { string filename, s; - float file, tokens, c, found; - entity wp_from, wp_to; + float file, tokens, c = 0, found; + entity wp_from = world, wp_to; vector wp_to_pos, wp_from_pos; filename = strcat("maps/", mapname); filename = strcat(filename, ".waypoints.hardwired"); @@ -494,7 +494,7 @@ void waypoint_load_links_hardwired() wp_to_pos = stov(argv(1)); // Search "from" waypoint - if(wp_from.origin!=wp_from_pos) + if(wp_from && wp_from.origin!=wp_from_pos) { wp_from = findradius(wp_from_pos, 5); found = FALSE; @@ -573,19 +573,20 @@ void waypoint_save_links() for(i=0;i<32;++i) { // :S + link = world; switch(i) { // for i in $(seq -w 0 31); do echo "case $i:link = w.wp$i; break;"; done; - case 00:link = w.wp00; break; - case 01:link = w.wp01; break; - case 02:link = w.wp02; break; - case 03:link = w.wp03; break; - case 04:link = w.wp04; break; - case 05:link = w.wp05; break; - case 06:link = w.wp06; break; - case 07:link = w.wp07; break; - case 08:link = w.wp08; break; - case 09:link = w.wp09; break; + case 0:link = w.wp00; break; + case 1:link = w.wp01; break; + case 2:link = w.wp02; break; + case 3:link = w.wp03; break; + case 4:link = w.wp04; break; + case 5:link = w.wp05; break; + case 6:link = w.wp06; break; + case 7:link = w.wp07; break; + case 8:link = w.wp08; break; + case 9:link = w.wp09; break; case 10:link = w.wp10; break; case 11:link = w.wp11; break; case 12:link = w.wp12; break; diff --git a/qcsrc/server/cl_weaponsystem.qc b/qcsrc/server/cl_weaponsystem.qc index 402b692af..b58830ac1 100644 --- a/qcsrc/server/cl_weaponsystem.qc +++ b/qcsrc/server/cl_weaponsystem.qc @@ -1008,13 +1008,14 @@ void weapon_thinkf(float fr, float t, void() func) if (self.weaponentity) { self.weaponentity.wframe = fr; + a = '0 0 0'; if (fr == WFRAME_IDLE) a = self.weaponentity.anim_idle; else if (fr == WFRAME_FIRE1) a = self.weaponentity.anim_fire1; else if (fr == WFRAME_FIRE2) a = self.weaponentity.anim_fire2; - else if (fr == WFRAME_RELOAD) + else // if (fr == WFRAME_RELOAD) a = self.weaponentity.anim_reload; a_z *= g_weaponratefactor; setanim(self.weaponentity, a, restartanim == FALSE, restartanim, restartanim); diff --git a/qcsrc/server/item_key.qc b/qcsrc/server/item_key.qc index 7b386ec97..626e535b4 100644 --- a/qcsrc/server/item_key.qc +++ b/qcsrc/server/item_key.qc @@ -196,6 +196,9 @@ void spawnfunc_item_key() { } // find default model +#ifdef GMQCC + _model = string_null; +#endif if (self.itemkeys <= ITEM_KEY_BIT(2)) { _model = "models/keys/key.md3"; } else if (self.itemkeys >= ITEM_KEY_BIT(3) && self.itemkeys <= ITEM_KEY_BIT(5)) { diff --git a/qcsrc/server/mutators/gamemode_ctf.qc b/qcsrc/server/mutators/gamemode_ctf.qc index b9bcd5ba0..5d97b2af9 100644 --- a/qcsrc/server/mutators/gamemode_ctf.qc +++ b/qcsrc/server/mutators/gamemode_ctf.qc @@ -23,7 +23,7 @@ void ctf_EventLog(string mode, float flagteam, entity actor) // use an alias for string ctf_CaptureRecord(entity flag, entity player) { float cap_time, cap_record, success; - string cap_message, refername; + string cap_message = string_null, refername; if((autocvar_g_ctf_captimerecord_always) || (player_count - currentbots)) { @@ -587,10 +587,10 @@ void ctf_CheckFlagReturn(entity flag, float returntype) void ctf_CheckStalemate(void) { // declarations - float stale_red_flags, stale_blue_flags; + float stale_red_flags = 0, stale_blue_flags = 0; entity tmp_entity; - entity ctf_staleflaglist; // reset the list, we need to build the list each time this function runs + entity ctf_staleflaglist = world; // reset the list, we need to build the list each time this function runs // build list of stale flags for(tmp_entity = ctf_worldflaglist; tmp_entity; tmp_entity = tmp_entity.ctf_worldflagnext) @@ -1823,7 +1823,7 @@ MUTATOR_HOOKFUNCTION(ctf_PlayerUseKey) // pass the flag to a team mate if(autocvar_g_ctf_pass) { - entity head, closest_target; + entity head, closest_target = world; head = WarpZone_FindRadius(player.origin, autocvar_g_ctf_pass_radius, TRUE); while(head) // find the closest acceptable target to pass to diff --git a/qcsrc/server/mutators/gamemode_onslaught.qc b/qcsrc/server/mutators/gamemode_onslaught.qc index 060447c39..650816376 100644 --- a/qcsrc/server/mutators/gamemode_onslaught.qc +++ b/qcsrc/server/mutators/gamemode_onslaught.qc @@ -1079,8 +1079,8 @@ void onslaught_controlpoint_icon_think() if(autocvar_g_onslaught_controlpoints_proxycap) { - float _enemy_count; - float _friendly_count; + float _enemy_count = 0; + float _friendly_count = 0; float _dist; entity _player; @@ -1606,7 +1606,7 @@ MUTATOR_HOOKFUNCTION(ons_PlayerSpawn) return 0; float _close_to_home = ((random() > 0.5) ? TRUE : FALSE); - entity _best, _trg_gen; + entity _best = world, _trg_gen = world; float _score, _best_score = MAX_SHOT_DISTANCE; RandomSelection_Init(); diff --git a/qcsrc/server/mutators/mutator_superspec.qc b/qcsrc/server/mutators/mutator_superspec.qc index 8b6bf05a2..87915f9af 100644 --- a/qcsrc/server/mutators/mutator_superspec.qc +++ b/qcsrc/server/mutators/mutator_superspec.qc @@ -169,7 +169,7 @@ MUTATOR_HOOKFUNCTION(superspec_SV_ParseClientCommand) if(argv(1) == "help") { string _aspeco; - _aspeco = strcat(_aspeco, "^7 superspec_itemfilter ^3\"item_classname1 item_classname2\"^7 only show thise items when ^2superspec ^3item_message^7 is on\n"); + _aspeco = "^7 superspec_itemfilter ^3\"item_classname1 item_classname2\"^7 only show thise items when ^2superspec ^3item_message^7 is on\n"; _aspeco = strcat(_aspeco, "^3 clear^7 Remove the filter (show all pickups)\n"); _aspeco = strcat(_aspeco, "^3 show ^7 Display current filter\n"); superspec_msg("^3superspec_itemfilter help:\n\n\n", "\n^3superspec_itemfilter help:\n", self, _aspeco, 1); @@ -190,7 +190,7 @@ MUTATOR_HOOKFUNCTION(superspec_SV_ParseClientCommand) } float i; float l = tokenize_console(self.superspec_itemfilter); - string _msg; + string _msg = ""; for(i = 0; i < l; ++i) _msg = strcat(_msg, "^3#", ftos(i), " ^7", argv(i), "\n"); //_msg = sprintf("^3#%d^7 %s\n%s", i, _msg, argv(i)); @@ -217,11 +217,10 @@ MUTATOR_HOOKFUNCTION(superspec_SV_ParseClientCommand) if(cmd_argc > 1) { - float i, _bits, _start = 1; + float i, _bits = 0, _start = 1; if(argv(1) == "help") { - _aspeco = ""; - _aspeco = strcat(_aspeco, "use cmd superspec [option] [on|off] to set options\n\n"); + _aspeco = "use cmd superspec [option] [on|off] to set options\n\n"; _aspeco = strcat(_aspeco, "^3 silent ^7(short^5 si^7) supress ALL mesagess from superspectate.\n"); _aspeco = strcat(_aspeco, "^3 verrbose ^7(short^5 ve^7) makes superspectate print some additional information.\n"); _aspeco = strcat(_aspeco, "^3 item_message ^7(short^5 im^7) makes superspectate print items that was picked up.\n"); @@ -260,6 +259,7 @@ MUTATOR_HOOKFUNCTION(superspec_SV_ParseClientCommand) } + _aspeco = ""; OPTIONINFO(self.superspec_flags, _aspeco, SSF_SILENT, "Silent", "silent", "si"); OPTIONINFO(self.superspec_flags, _aspeco, SSF_VERBOSE, "Verbose", "verbose", "ve"); OPTIONINFO(self.superspec_flags, _aspeco, SSF_ITEMMSG, "Item pickup messages", "item_message", "im"); @@ -278,8 +278,7 @@ MUTATOR_HOOKFUNCTION(superspec_SV_ParseClientCommand) { if(argv(1) == "help") { - _aspeco = ""; - _aspeco = strcat(_aspeco, "use cmd autospec [option] [on|off] to set options\n\n"); + _aspeco = "use cmd autospec [option] [on|off] to set options\n\n"; _aspeco = strcat(_aspeco, "^3 strength ^7(short^5 st^7) for automatic spectate on strength powerup\n"); _aspeco = strcat(_aspeco, "^3 shield ^7(short^5 sh^7) for automatic spectate on shield powerup\n"); _aspeco = strcat(_aspeco, "^3 mega_health ^7(short^5 mh^7) for automatic spectate on mega health\n"); @@ -293,7 +292,7 @@ MUTATOR_HOOKFUNCTION(superspec_SV_ParseClientCommand) return TRUE; } - float i, _bits, _start = 1; + float i, _bits = 0, _start = 1; if(argv(1) == "clear") { self.autospec_flags = 0; @@ -329,6 +328,7 @@ MUTATOR_HOOKFUNCTION(superspec_SV_ParseClientCommand) } } + _aspeco = ""; OPTIONINFO(self.autospec_flags, _aspeco, ASF_STRENGTH, "Strength", "strength", "st"); OPTIONINFO(self.autospec_flags, _aspeco, ASF_SHIELD, "Shield", "shield", "sh"); OPTIONINFO(self.autospec_flags, _aspeco, ASF_MEGA_HP, "Mega Health", "mega_health", "mh"); @@ -387,7 +387,7 @@ MUTATOR_HOOKFUNCTION(superspec_SV_ParseClientCommand) return TRUE; entity _player; - float _team; + float _team = 0; if(cmd_argc == 2) { diff --git a/qcsrc/server/mutators/sandbox.qc b/qcsrc/server/mutators/sandbox.qc index d7fec1326..4d97b8eec 100644 --- a/qcsrc/server/mutators/sandbox.qc +++ b/qcsrc/server/mutators/sandbox.qc @@ -283,7 +283,7 @@ entity sandbox_ObjectPort_Load(string s, float database) { // load object properties, and spawn a new object with them float n, i; - entity e, parent; + entity e = world, parent = world; // separate objects between the ; symbols n = tokenizebyseparator(s, "; "); @@ -294,7 +294,7 @@ entity sandbox_ObjectPort_Load(string s, float database) for(i = 0; i < n; ++i) { float argv_num; - string tagname; + string tagname = string_null; argv_num = 0; tokenize_console(port_string[i]); e = sandbox_ObjectSpawn(database); diff --git a/qcsrc/server/pathlib/main.qc b/qcsrc/server/pathlib/main.qc index 9658747ee..fd889d043 100644 --- a/qcsrc/server/pathlib/main.qc +++ b/qcsrc/server/pathlib/main.qc @@ -58,7 +58,7 @@ entity pathlib_mknode(vector where,entity parent) float pathlib_makenode_adaptive(entity parent,vector start, vector to, vector goal,float cost) { entity node; - float h,g,f,doedge; + float h,g,f,doedge = 0; vector where; ++pathlib_searched_cnt; diff --git a/qcsrc/server/runematch.qc b/qcsrc/server/runematch.qc index 239afb04a..7116c3387 100644 --- a/qcsrc/server/runematch.qc +++ b/qcsrc/server/runematch.qc @@ -344,14 +344,14 @@ void DropAllRunes(entity pl) entity curse1, rune1, curse2, rune2; rcount = ccount = r = c = 0; - rune = find(rune, classname, "rune"); + rune = find(world, classname, "rune"); while(rune) { if(rune.owner == pl) rcount = rcount + 1; rune = find(rune, classname, "rune"); } - curse = find(curse, classname, "curse"); + curse = find(world, classname, "curse"); while(curse) { if(curse.owner == pl) diff --git a/qcsrc/server/t_items.qc b/qcsrc/server/t_items.qc index d321d3c47..b56dfec47 100644 --- a/qcsrc/server/t_items.qc +++ b/qcsrc/server/t_items.qc @@ -1764,7 +1764,13 @@ void spawnfunc_target_items (void) valueprefix = "max "; } else + { error("invalid spawnflags"); +#ifdef GMQCC + itemprefix = string_null; + valueprefix = string_null; +#endif + } self.netname = ""; self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_UNLIMITED_WEAPON_AMMO), "unlimited_weapon_ammo"); diff --git a/qcsrc/server/tturrets/system/system_aimprocs.qc b/qcsrc/server/tturrets/system/system_aimprocs.qc index a291e3ab1..675b5de0d 100644 --- a/qcsrc/server/tturrets/system/system_aimprocs.qc +++ b/qcsrc/server/tturrets/system/system_aimprocs.qc @@ -30,6 +30,9 @@ vector turret_stdproc_aim_generic() { // FIXME: this cant be the best way to do this.. prep = pre_pos; +#ifdef GMQCC + impact_time = 0; +#endif for(i = 0; i < 4; ++i) { distance = vlen(prep - self.tur_shotorg); diff --git a/qcsrc/server/tturrets/system/system_main.qc b/qcsrc/server/tturrets/system/system_main.qc index c8bbf537c..36154fbb9 100644 --- a/qcsrc/server/tturrets/system/system_main.qc +++ b/qcsrc/server/tturrets/system/system_main.qc @@ -871,7 +871,7 @@ void turret_think() // Check if we have a vailid enemy, and try to find one if we dont. // g_turrets_targetscan_maxdelay forces a target re-scan at least this often - float do_target_scan; + float do_target_scan = 0; if((self.target_select_time + autocvar_g_turrets_targetscan_maxdelay) < time) do_target_scan = 1; @@ -1018,7 +1018,7 @@ void turrets_manager_think() */ float turret_stdproc_init (string cvar_base_name, string base, string head, float _turret_type) { - entity e, ee; + entity e, ee = world; // Are turrets allowed? if (autocvar_g_turrets == 0) diff --git a/qcsrc/server/tturrets/system/system_scoreprocs.qc b/qcsrc/server/tturrets/system/system_scoreprocs.qc index 05717bf18..c542dab40 100644 --- a/qcsrc/server/tturrets/system/system_scoreprocs.qc +++ b/qcsrc/server/tturrets/system/system_scoreprocs.qc @@ -1,7 +1,7 @@ float turret_stdproc_targetscore_support(entity _turret,entity _target) { float score; // Total score - float s_score, d_score; + float s_score = 0, d_score; if (_turret.enemy == _target) s_score = 1; @@ -22,8 +22,8 @@ float turret_stdproc_targetscore_generic(entity _turret, entity _target) float score; // Total score float d_score; // Distance score float a_score; // Angular score - float m_score; // missile score - float p_score; // player score + float m_score = 0; // missile score + float p_score = 0; // player score float ikr; // ideal kill range if (_turret.tur_defend) diff --git a/qcsrc/server/tturrets/units/unit_tessla.qc b/qcsrc/server/tturrets/units/unit_tessla.qc index 85fb8bb18..87fda8ed2 100644 --- a/qcsrc/server/tturrets/units/unit_tessla.qc +++ b/qcsrc/server/tturrets/units/unit_tessla.qc @@ -47,7 +47,7 @@ entity toast(entity from, float range, float damage) float turret_tesla_firecheck() { // g_turrets_targetscan_maxdelay forces a target re-scan at least this often - float do_target_scan; + float do_target_scan = 0; if((self.target_select_time + autocvar_g_turrets_targetscan_maxdelay) < time) do_target_scan = 1; diff --git a/qcsrc/server/tturrets/units/unit_walker.qc b/qcsrc/server/tturrets/units/unit_walker.qc index 599eb5776..041c16929 100644 --- a/qcsrc/server/tturrets/units/unit_walker.qc +++ b/qcsrc/server/tturrets/units/unit_walker.qc @@ -414,7 +414,7 @@ void walker_postthink() //if(self.animflag != ANIM_NO) { vector real_angle; - float turny, turnx; + float turny = 0, turnx = 0; float vz; real_angle = vectoangles(self.steerto) - self.angles; diff --git a/qcsrc/server/vehicles/spiderbot.qc b/qcsrc/server/vehicles/spiderbot.qc index 71e57a037..6a307d53c 100644 --- a/qcsrc/server/vehicles/spiderbot.qc +++ b/qcsrc/server/vehicles/spiderbot.qc @@ -210,7 +210,7 @@ void spiderbot_rocket_do() { vector v; - entity rocket; + entity rocket = world; if (self.wait != -10) { diff --git a/qcsrc/server/vehicles/vehicles.qc b/qcsrc/server/vehicles/vehicles.qc index 16a339e09..95ab6575b 100644 --- a/qcsrc/server/vehicles/vehicles.qc +++ b/qcsrc/server/vehicles/vehicles.qc @@ -1008,7 +1008,7 @@ void vehicles_showwp_goaway() void vehicles_showwp() { - entity oldself; + entity oldself = world; vector rgb; if(self.cnt) @@ -1079,11 +1079,11 @@ void vehicles_setreturn() void vehicles_reset_colors() { entity e; - float _effects, _colormap; + float _effects = 0, _colormap; vector _glowmod, _colormod; if(autocvar_g_nodepthtestplayers) - _effects = EF_NODEPTHTEST; + _effects |= EF_NODEPTHTEST; if(autocvar_g_fullbrightplayers) _effects |= EF_FULLBRIGHT; diff --git a/qcsrc/server/w_crylink.qc b/qcsrc/server/w_crylink.qc index bb44e827e..1bb9ad600 100644 --- a/qcsrc/server/w_crylink.qc +++ b/qcsrc/server/w_crylink.qc @@ -228,8 +228,8 @@ void W_Crylink_LinkJoinEffect_Think() float W_Crylink_Touch_WouldHitFriendly(entity projectile, float rad) { entity head = WarpZone_FindRadius((projectile.origin + (projectile.mins + projectile.maxs) * 0.5), rad + MAX_DAMAGEEXTRARADIUS, FALSE); - float hit_friendly; - float hit_enemy; + float hit_friendly = 0; + float hit_enemy = 0; while(head) { diff --git a/qcsrc/server/w_electro.qc b/qcsrc/server/w_electro.qc index 7a91cbd89..04d136af4 100644 --- a/qcsrc/server/w_electro.qc +++ b/qcsrc/server/w_electro.qc @@ -416,6 +416,7 @@ float w_electro(float req) { if(autocvar_g_balance_electro_reload_ammo) // forced reload { + ammo_amount = 0; if(autocvar_g_balance_electro_lightning) { if(self.clip_load > 0) diff --git a/qcsrc/server/w_rocketlauncher.qc b/qcsrc/server/w_rocketlauncher.qc index 643bf4bd5..2fba6144d 100644 --- a/qcsrc/server/w_rocketlauncher.qc +++ b/qcsrc/server/w_rocketlauncher.qc @@ -425,6 +425,7 @@ float w_rlauncher(float req) // don't switch while guiding a missile if (ATTACK_FINISHED(self) <= time || self.weapon != WEP_ROCKET_LAUNCHER) { + ammo_amount = FALSE; if(autocvar_g_balance_rocketlauncher_reload_ammo) { if(self.ammo_rockets < autocvar_g_balance_rocketlauncher_ammo && self.(weapon_load[WEP_ROCKET_LAUNCHER]) < autocvar_g_balance_rocketlauncher_ammo) diff --git a/qcsrc/server/w_tuba.qc b/qcsrc/server/w_tuba.qc index 999749b3e..5f2dc5adb 100644 --- a/qcsrc/server/w_tuba.qc +++ b/qcsrc/server/w_tuba.qc @@ -148,6 +148,9 @@ float Tuba_GetNote(entity pl, float hittype) if(pl.movement_x > 0) movestate += 3; if(pl.movement_y < 0) movestate -= 1; if(pl.movement_y > 0) movestate += 1; +#ifdef GMQCC + note = 0; +#endif switch(movestate) { // layout: originally I wanted diff --git a/qcsrc/warpzonelib/server.qc b/qcsrc/warpzonelib/server.qc index 9b94640b5..4b9c2bc47 100644 --- a/qcsrc/warpzonelib/server.qc +++ b/qcsrc/warpzonelib/server.qc @@ -570,6 +570,9 @@ void WarpZone_InitStep_UpdateTransform() norm = normalize(norm); } +#ifdef GMQCC + ang = '0 0 0'; +#endif if(self.aiment) { org = self.aiment.origin; -- 2.39.2