r2484 - in branches/nexuiz-2.0/data: . qcsrc/server scripts
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Fri May 4 09:20:37 EDT 2007
Author: div0
Date: 2007-05-04 09:20:37 -0400 (Fri, 04 May 2007)
New Revision: 2484
Added:
branches/nexuiz-2.0/data/cfg-hierarchy.sh
Modified:
branches/nexuiz-2.0/data/default.cfg
branches/nexuiz-2.0/data/high.cfg
branches/nexuiz-2.0/data/low.cfg
branches/nexuiz-2.0/data/med.cfg
branches/nexuiz-2.0/data/normal.cfg
branches/nexuiz-2.0/data/omg.cfg
branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc
branches/nexuiz-2.0/data/qcsrc/server/cl_impulse.qc
branches/nexuiz-2.0/data/qcsrc/server/cl_player.qc
branches/nexuiz-2.0/data/qcsrc/server/cl_weapons.qc
branches/nexuiz-2.0/data/qcsrc/server/cl_weaponsystem.qc
branches/nexuiz-2.0/data/qcsrc/server/defs.qh
branches/nexuiz-2.0/data/qcsrc/server/g_casings.qc
branches/nexuiz-2.0/data/qcsrc/server/g_world.qc
branches/nexuiz-2.0/data/qcsrc/server/keyhunt.qc
branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc
branches/nexuiz-2.0/data/qcsrc/server/t_items.qc
branches/nexuiz-2.0/data/qcsrc/server/t_jumppads.qc
branches/nexuiz-2.0/data/qcsrc/server/w_crylink.qc
branches/nexuiz-2.0/data/qcsrc/server/w_electro.qc
branches/nexuiz-2.0/data/qcsrc/server/w_grenadelauncher.qc
branches/nexuiz-2.0/data/qcsrc/server/w_hagar.qc
branches/nexuiz-2.0/data/qcsrc/server/w_laser.qc
branches/nexuiz-2.0/data/qcsrc/server/w_nex.qc
branches/nexuiz-2.0/data/qcsrc/server/w_rocketlauncher.qc
branches/nexuiz-2.0/data/qcsrc/server/w_shotgun.qc
branches/nexuiz-2.0/data/qcsrc/server/w_uzi.qc
branches/nexuiz-2.0/data/scripts/stralenex1.shader
branches/nexuiz-2.0/data/ultimate.cfg
branches/nexuiz-2.0/data/ultra.cfg
Log:
optional precaching; r_picmipworld
Copied: branches/nexuiz-2.0/data/cfg-hierarchy.sh (from rev 2483, trunk/data/cfg-hierarchy.sh)
===================================================================
--- branches/nexuiz-2.0/data/cfg-hierarchy.sh (rev 0)
+++ branches/nexuiz-2.0/data/cfg-hierarchy.sh 2007-05-04 13:20:37 UTC (rev 2484)
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+prev=omg
+for cfg in low med normal high ultra ultimate; do
+ echo "$prev.cfg -> $cfg.cfg:"
+ diff "$prev.cfg" "$cfg.cfg" | grep ^\>
+ echo
+ prev=$cfg
+done
Modified: branches/nexuiz-2.0/data/default.cfg
===================================================================
--- branches/nexuiz-2.0/data/default.cfg 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/default.cfg 2007-05-04 13:20:37 UTC (rev 2484)
@@ -113,7 +113,11 @@
// use default physics
exec physicsQBR.cfg
+seta sv_precacheplayermodels 0
+seta sv_precacheweapons 0
+seta sv_precacheitems 0
set sv_spectator_speed_multiplier 1.5
+seta sv_precacheplayermodels 0
seta sv_spectate 1
seta sv_defaultcharacter 0
seta sv_defaultplayermodel models/player/nexus.zym
@@ -122,6 +126,7 @@
net_messagetimeout 300
net_connecttimeout 30
sv_jumpstep 1 // step up stairs while jumping, makes it easier to reach ledges
+set ekg 0
cl_movement 1
seta cl_autoswitch 1
@@ -184,6 +189,8 @@
locs_enable 0
pausable 0
set g_antilag 0
+set g_shootfromeye 0
+set g_shootfromcenter 0
set g_weapon_stay 0
set g_powerup_superhealth 1
set g_powerup_strength 1
Modified: branches/nexuiz-2.0/data/high.cfg
===================================================================
--- branches/nexuiz-2.0/data/high.cfg 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/high.cfg 2007-05-04 13:20:37 UTC (rev 2484)
@@ -14,6 +14,7 @@
cl_particles_snow 1
cl_particles_sparks 1
gl_picmip 0
+r_picmipworld 0
gl_texture_anisotropy 1
r_bloom 1
r_coronas 1
@@ -31,4 +32,4 @@
r_shadow_realtime_world_dlightshadows 1
r_shadow_realtime_world_shadows 1
r_sky 1
-r_showsurfaces 0
\ No newline at end of file
+r_showsurfaces 0
Modified: branches/nexuiz-2.0/data/low.cfg
===================================================================
--- branches/nexuiz-2.0/data/low.cfg 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/low.cfg 2007-05-04 13:20:37 UTC (rev 2484)
@@ -14,6 +14,7 @@
cl_particles_snow 1
cl_particles_sparks 1
gl_picmip 2
+r_picmipworld 1
gl_texture_anisotropy 1
r_bloom 0
r_coronas 1
@@ -31,4 +32,4 @@
r_shadow_realtime_world_dlightshadows 0
r_shadow_realtime_world_shadows 0
r_sky 1
-r_showsurfaces 0
\ No newline at end of file
+r_showsurfaces 0
Modified: branches/nexuiz-2.0/data/med.cfg
===================================================================
--- branches/nexuiz-2.0/data/med.cfg 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/med.cfg 2007-05-04 13:20:37 UTC (rev 2484)
@@ -13,7 +13,8 @@
cl_particles_smoke 1
cl_particles_snow 1
cl_particles_sparks 1
-gl_picmip 1
+gl_picmip 2
+r_picmipworld 0
gl_texture_anisotropy 1
r_bloom 0
r_coronas 1
@@ -31,4 +32,4 @@
r_shadow_realtime_world_dlightshadows 0
r_shadow_realtime_world_shadows 0
r_sky 1
-r_showsurfaces 0
\ No newline at end of file
+r_showsurfaces 0
Modified: branches/nexuiz-2.0/data/normal.cfg
===================================================================
--- branches/nexuiz-2.0/data/normal.cfg 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/normal.cfg 2007-05-04 13:20:37 UTC (rev 2484)
@@ -14,6 +14,7 @@
cl_particles_snow 1
cl_particles_sparks 1
gl_picmip 0
+r_picmipworld 0
gl_texture_anisotropy 1
r_bloom 1
r_coronas 1
@@ -31,4 +32,4 @@
r_shadow_realtime_world_dlightshadows 0
r_shadow_realtime_world_shadows 0
r_sky 1
-r_showsurfaces 0
\ No newline at end of file
+r_showsurfaces 0
Modified: branches/nexuiz-2.0/data/omg.cfg
===================================================================
--- branches/nexuiz-2.0/data/omg.cfg 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/omg.cfg 2007-05-04 13:20:37 UTC (rev 2484)
@@ -14,6 +14,7 @@
cl_particles_snow 1
cl_particles_sparks 1
gl_picmip 2
+r_picmipworld 1
gl_texture_anisotropy 1
r_bloom 0
r_coronas 1
@@ -31,4 +32,4 @@
r_shadow_realtime_world_dlightshadows 0
r_shadow_realtime_world_shadows 0
r_sky 1
-r_showsurfaces 1
\ No newline at end of file
+r_showsurfaces 1
Modified: branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -415,10 +415,20 @@
self.flags = FL_CLIENT;
self.takedamage = DAMAGE_AIM;
self.effects = 0;
- self.health = cvar("g_balance_health_start");
self.air_finished = time + 12;
self.dmg = 2;
- self.armorvalue = cvar("g_balance_armor_start");
+
+ self.ammo_shells = start_ammo_shells;
+ self.ammo_nails = start_ammo_nails;
+ self.ammo_rockets = start_ammo_rockets;
+ self.ammo_cells = start_ammo_cells;
+ self.health = start_health;
+ self.armorvalue = start_armorvalue;
+ self.items = start_items;
+ self.switchweapon = start_switchweapon;
+ self.weapon = 0;
+ self.jump_interval = time;
+
self.spawnshieldtime = time + cvar("g_spawnshieldtime");
self.pauserotarmor_finished = time + cvar("g_balance_pause_armor_rot_spawn");
self.pauserothealth_finished = time + cvar("g_balance_pause_health_rot_spawn");
@@ -441,8 +451,6 @@
// players have no think function
self.think = SUB_Null;
self.nextthink = 0;
- self.weapon = 0;
- self.switchweapon = 0;
self.hook_time = 0;
self.runes = 0;
@@ -486,104 +494,6 @@
// don't reset back to last position, even if new position is stuck in solid
self.oldorigin = self.origin;
- if(cvar("g_lms"))
- {
- self.ammo_shells = cvar("g_lms_start_ammo_shells");
- self.ammo_nails = cvar("g_lms_start_ammo_nails");
- self.ammo_rockets = cvar("g_lms_start_ammo_rockets");
- self.ammo_cells = cvar("g_lms_start_ammo_cells");
- self.health = cvar("g_lms_start_health");
- self.armorvalue = cvar("g_lms_start_armor");
- }
- else if (cvar("g_use_ammunition")) {
- self.ammo_shells = cvar("g_start_ammo_shells");
- self.ammo_nails = cvar("g_start_ammo_nails");
- self.ammo_rockets = cvar("g_start_ammo_rockets");
- self.ammo_cells = cvar("g_start_ammo_cells");
- } else {
- self.ammo_shells = 999;
- self.ammo_nails = 999;
- self.ammo_rockets = 999;
- self.ammo_cells = 999;
- }
-
- self.items = 0;
- if (cvar("g_start_weapon_laser") || cvar("g_lms"))
- {
- self.items = self.items | IT_LASER;
- self.switchweapon = WEP_LASER;
- }
- if (cvar("g_start_weapon_shotgun") || cvar("g_lms"))
- {
- self.items = self.items | IT_SHOTGUN;
- self.switchweapon = WEP_SHOTGUN;
- }
- if (cvar("g_start_weapon_uzi") || cvar("g_lms"))
- {
- self.items = self.items | IT_UZI;
- self.switchweapon = WEP_UZI;
- }
- if (cvar("g_start_weapon_grenadelauncher") || cvar("g_lms"))
- {
- self.items = self.items | IT_GRENADE_LAUNCHER;
- self.switchweapon = WEP_GRENADE_LAUNCHER;
- }
- if (cvar("g_start_weapon_electro") || cvar("g_lms"))
- {
- self.items = self.items | IT_ELECTRO;
- self.switchweapon = WEP_ELECTRO;
- }
- if (cvar("g_start_weapon_crylink") || cvar("g_lms"))
- {
- self.items = self.items | IT_CRYLINK;
- self.switchweapon = WEP_CRYLINK;
- }
- if (cvar("g_start_weapon_nex") || cvar("g_lms"))
- {
- self.items = self.items | IT_NEX;
- self.switchweapon = WEP_NEX;
- }
- if (cvar("g_start_weapon_hagar") || cvar("g_lms"))
- {
- self.items = self.items | IT_HAGAR;
- self.switchweapon = WEP_HAGAR;
- }
- if (cvar("g_start_weapon_rocketlauncher") || cvar("g_lms"))
- {
- self.items = self.items | IT_ROCKET_LAUNCHER;
- self.switchweapon = WEP_ROCKET_LAUNCHER;
- }
-
- if(cvar("g_instagib"))
- {
- self.items = IT_NEX;
- self.switchweapon = WEP_NEX;
- self.ammo_cells = 999;
- }
-
- if(cvar("g_rocketarena"))
- {
- self.items = IT_ROCKET_LAUNCHER;
- self.switchweapon = WEP_ROCKET_LAUNCHER;
- self.ammo_rockets = 999;
- }
-
- if(cvar("g_nixnex"))
- {
- self.items = 0;
- // will be done later
- }
-
- if(cvar("g_minstagib"))
- {
- self.health = 100;
- self.armorvalue = 0;
- self.items = IT_NEX;
- self.switchweapon = WEP_NEX;
- self.ammo_cells = cvar("g_minstagib_ammo_start");
- self.jump_interval = time;
- }
-
if(cvar("g_arena"))
{
Spawnqueue_Remove(self);
@@ -616,12 +526,14 @@
if(cvar("spawn_debug"))
{
- sprint(self, strcat("spawnpoint origin: ", vtos(spot.origin), "\n"));
- remove(spot); // usefull for checking if there are spawnpoints, that let drop through the floor
+ sprint(self, strcat("spawnpoint origin: ", vtos(spot.origin), "\n"));
+ remove(spot); // usefull for checking if there are spawnpoints, that let drop through the floor
}
//stuffcmd(self, "chase_active 0");
//stuffcmd(self, "set viewsize $tmpviewsize \n");
+
+ sound (self, CHAN_AUTO, "misc/teleport.wav", 1, ATTN_NORM);
} else if(self.classname == "observer") {
PutObserverInServer ();
}
Modified: branches/nexuiz-2.0/data/qcsrc/server/cl_impulse.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/cl_impulse.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/cl_impulse.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -183,12 +183,23 @@
if(imp == 99)
{
self.items |= (IT_LASER | IT_UZI | IT_SHOTGUN | IT_GRENADE_LAUNCHER | IT_ELECTRO | IT_CRYLINK | IT_NEX | IT_HAGAR | IT_ROCKET_LAUNCHER);
- self.ammo_shells = 999;
- self.ammo_nails = 999;
- self.ammo_rockets = 999;
- self.ammo_cells = 999;
- self.health = 999;
- self.armorvalue = 999;
+ self.ammo_shells = cvar("g_pickup_shells_max");
+ self.ammo_nails = cvar("g_pickup_nails_max");
+ self.ammo_rockets = cvar("g_pickup_rockets_max");
+ self.ammo_cells = cvar("g_pickup_cells_max");
+ self.health = cvar("g_pickup_healthshard_max");
+ self.armorvalue = cvar("g_pickup_armorshard_max");
+ self.pauserotarmor_finished = time + cvar("g_balance_pause_armor_rot_spawn");
+ self.pauserothealth_finished = time + cvar("g_balance_pause_health_rot_spawn");
+ self.pauseregen_finished = time + cvar("g_balance_pause_health_regen_spawn");
+ // precache weapon models/sounds
+ local float wep;
+ wep = WEP_FIRST;
+ while (wep <= WEP_LAST)
+ {
+ weapon_action(wep, WR_PRECACHE);
+ wep = wep + 1;
+ }
}
else if (imp == 13)
{
Modified: branches/nexuiz-2.0/data/qcsrc/server/cl_player.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/cl_player.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/cl_player.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -176,28 +176,37 @@
self.view_ofs = '0 0 4';
// make a juicy mess
- te_bloodshower (self.origin + self.mins, self.origin + self.maxs, 800, 1000);
- te_bloodshower (self.origin + self.mins, self.origin + self.maxs, 400, 1000);
+ local float multiplier;
+ multiplier = 1;
+ if (cvar("ekg"))
+ multiplier = 5;
+ te_bloodshower (self.origin + self.mins, self.origin + self.maxs, 1200 * multiplier, 1000);
// make a meaty mess
TossGib (self, "models/gibs/eye.md3", self.origin, self.velocity,0);
TossGib (world, "models/gibs/bloodyskull.md3", self.origin, '0 0 600',0);
- TossGib (world, "models/gibs/gib1.md3", self.origin, self.velocity,0);
- //TossGib (world, "models/gibs/gib2.md3", self.origin, self.velocity,0);
- TossGib (world, "models/gibs/gib1.mdl", self.origin, self.velocity,0);
- //TossGib (world, "models/gibs/gib3.md3", self.origin, self.velocity,0);
- TossGib (world, "models/gibs/gib2.mdl", self.origin, self.velocity,0);
- //TossGib (world, "models/gibs/gib4.md3", self.origin, self.velocity,0);
- TossGib (world, "models/gibs/gib3.mdl", self.origin, self.velocity,0);
+ local float c;
+ c = 0;
+ while (c < multiplier)
+ {
+ c = c + 1;
+ TossGib (world, "models/gibs/gib1.md3", self.origin, self.velocity,0);
+ //TossGib (world, "models/gibs/gib2.md3", self.origin, self.velocity,0);
+ TossGib (world, "models/gibs/gib1.mdl", self.origin, self.velocity,0);
+ //TossGib (world, "models/gibs/gib3.md3", self.origin, self.velocity,0);
+ TossGib (world, "models/gibs/gib2.mdl", self.origin, self.velocity,0);
+ //TossGib (world, "models/gibs/gib4.md3", self.origin, self.velocity,0);
+ TossGib (world, "models/gibs/gib3.mdl", self.origin, self.velocity,0);
- // these destory on impact
- TossGib (world, "models/gibs/gib5.md3", self.origin, '-500 0 450',1);
- //TossGib (world, "models/gibs/gib6.md3", self.origin, '0 500 450',1);
- TossGib (world, "models/gibs/chunk.mdl", self.origin, '0 -500 450',1);
- TossGib (world, "models/gibs/chunk.mdl", self.origin, '500 0 450',1);
- TossGib (world, "models/gibs/chunk.mdl", self.origin, self.velocity,1);
- TossGib (world, "models/gibs/chunk.mdl", self.origin, '0 0 450',1);
+ // these destory on impact
+ TossGib (world, "models/gibs/gib5.md3", self.origin, '-500 0 450',1);
+ //TossGib (world, "models/gibs/gib6.md3", self.origin, '0 500 450',1);
+ TossGib (world, "models/gibs/chunk.mdl", self.origin, '0 -500 450',1);
+ TossGib (world, "models/gibs/chunk.mdl", self.origin, '500 0 450',1);
+ TossGib (world, "models/gibs/chunk.mdl", self.origin, self.velocity,1);
+ TossGib (world, "models/gibs/chunk.mdl", self.origin, '0 0 450',1);
+ }
sound (self, CHAN_VOICE, "misc/gib.wav", 1, ATTN_NORM);
}
Modified: branches/nexuiz-2.0/data/qcsrc/server/cl_weapons.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/cl_weapons.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/cl_weapons.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -122,7 +122,7 @@
if(e.items & w)
if(e.health >= 1)
- sprint(e, strcat("You dropped the ^2", wep.netname, "\n"));
+ sprint(e, strcat("You dropped the ^2", wep.netname, " with ", ftos(wep.ammofield), " ammo", "\n"));
wep.owner = e;
setorigin(wep, wep.origin);
@@ -346,10 +346,10 @@
}
else
{
- self.ammo_shells = 999;
- self.ammo_nails = 999;
- self.ammo_rockets = 999;
- self.ammo_cells = 999;
+ self.ammo_shells = cvar("g_pickup_shells_max");
+ self.ammo_nails = cvar("g_pickup_nails_max");
+ self.ammo_rockets = cvar("g_pickup_rockets_max");
+ self.ammo_cells = cvar("g_pickup_cells_max");
}
self.nixnex_nextincr = time + cvar("g_balance_nixnex_incrtime");
if(dt >= 1 && dt <= 5)
@@ -375,7 +375,7 @@
self.items = self.items - (self.items & (IT_LASER | IT_SHOTGUN | IT_UZI | IT_GRENADE_LAUNCHER | IT_ELECTRO | IT_CRYLINK | IT_NEX | IT_HAGAR | IT_ROCKET_LAUNCHER));
if(cvar("g_nixnex_with_laser"))
- self.items = self.items + IT_LASER;
+ self.items = self.items | IT_LASER;
self.items = self.items | W_ItemCode(nixnex_weapon);
if(self.switchweapon != nixnex_weapon)
Modified: branches/nexuiz-2.0/data/qcsrc/server/cl_weaponsystem.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/cl_weaponsystem.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/cl_weaponsystem.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -23,34 +23,43 @@
void(entity ent, vector vecs, float antilag, float recoil, string snd) W_SetupShot =
{
local vector trueaimpoint;
-
traceline_hitcorpse(self, self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * MAX_SHOT_DISTANCE, MOVE_NOMONSTERS, self);
trueaimpoint = trace_endpos;
- // if aiming at a player and the original trace won't hit that player
- // anymore, try aiming at the player's new position
+ if (cvar("g_shootfromeye"))
+ w_shotorg = ent.origin + ent.view_ofs + v_forward * vecs_x;
+ else if (cvar("g_shootfromcenter"))
+ w_shotorg = ent.origin + ent.view_ofs + v_forward * vecs_x + '0 0 1' * vecs_z;
+ else
+ w_shotorg = ent.origin + ent.view_ofs + v_forward * vecs_x + v_right * vecs_y + v_up * vecs_z;
+ w_shotdir = normalize(trueaimpoint - w_shotorg);
+
+ // explanation of g_antilag:
+ // if client reports it was aiming at a player, and the serverside trace
+ // says it would miss, change the aim point to the player's new origin,
+ // but only if the shot at the player's new origin would hit of course
+ //
+ // FIXME: a much better method for bullet weapons would be to leave a
+ // trail of lagged 'ghosts' behind players, and see if the bullet hits the
+ // ghost corresponding to this player's ping time, and if so it would do
+ // damage to the real player
if (antilag)
- if (!trace_ent.takedamage) // shot would miss without antilag
- if (self.cursor_trace_ent) // but it HAD hit on the client
- if (self.cursor_trace_ent.takedamage) // and even something evil
- // if (trace_ent != self.cursor_trace_ent) // and it is different (redundant check, see takedamage)
+ if (self.cursor_trace_ent) // client was aiming at someone
+ if (self.cursor_trace_ent.takedamage) // and that person is killable
if (cvar("g_antilag"))
- trueaimpoint = self.cursor_trace_ent.origin;
+ {
+ // verify that the shot would miss without antilag
+ // (avoids an issue where guns would always shoot at their origin)
+ traceline_hitcorpse(self, w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, MOVE_NORMAL, self);
+ if (!trace_ent.takedamage)
+ {
+ // verify that the shot would hit if altered
+ traceline_hitcorpse(self, w_shotorg, self.cursor_trace_ent.origin, MOVE_NORMAL, self);
+ if (trace_ent == self.cursor_trace_ent)
+ w_shotdir = normalize(self.cursor_trace_ent.origin - w_shotorg);
+ }
+ }
- /*
- // don't allow the shot to start inside a wall
- local vector startorg;
- local vector idealorg;
- startorg = ent.origin + ent.view_ofs;// - '0 0 8';
- idealorg = ent.origin + ent.view_ofs + v_forward * vecs_x + v_right * vecs_y + v_up * vecs_z;
- traceline_hitcorpse (ent, startorg, idealorg, MOVE_NOMONSTERS, ent);
- w_shotorg = trace_endpos;
- */
- // all positions in the code are now required to be inside the player box
- w_shotorg = ent.origin + ent.view_ofs + v_forward * vecs_x + v_right * vecs_y + v_up * vecs_z;
-
- w_shotdir = normalize(trueaimpoint - w_shotorg);
-
if (!cvar("g_norecoil"))
self.punchangle_x = recoil * -1;
Modified: branches/nexuiz-2.0/data/qcsrc/server/defs.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/defs.qh 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/defs.qh 2007-05-04 13:20:37 UTC (rev 2484)
@@ -138,6 +138,7 @@
float WR_CHECKAMMO1 = 3; // checks ammo for weapon
float WR_CHECKAMMO2 = 4; // checks ammo for weapon
float WR_AIM = 5; // runs bot aiming code for this weapon
+float WR_PRECACHE = 6; // precaches models/sounds used by this weapon
// Weapon indexes
float WEP_LASER = 1; // float IT_LASER = 4096;
Modified: branches/nexuiz-2.0/data/qcsrc/server/g_casings.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/g_casings.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/g_casings.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -81,7 +81,8 @@
}
else if (casingtype == 2)
{
- setmodel (e, "models/casing_steel.mdl"); // precision set above
+ // FIXME: this is not used and not precached, uncomment if you need it
+ //setmodel (e, "models/casing_steel.mdl"); // precision set above
e.cnt = time + 10;
}
else
Modified: branches/nexuiz-2.0/data/qcsrc/server/g_world.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/g_world.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/g_world.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -88,108 +88,55 @@
soundpack = strzone(soundpack);
*/
- // Precache all player models
- // Workaround for "invisible players"
- precache_model("models/player/carni.zym");
- precache_model("models/player/crash.zym");
- precache_model("models/player/grunt.zym");
- precache_model("models/player/headhunter.zym");
- precache_model("models/player/insurrectionist.zym");
- precache_model("models/player/jeandarc.zym");
- precache_model("models/player/lurk.zym");
- precache_model("models/player/lycanthrope.zym");
- precache_model("models/player/marine.zym");
- precache_model("models/player/nexus.zym");
- precache_model("models/player/pyria.zym");
- precache_model("models/player/shock.zym");
- precache_model("models/player/skadi.zym");
- precache_model("models/player/specop.zym");
- precache_model("models/player/visitant.zym");
+ // gamemode related things
+ precache_model ("models/misc/chatbubble.spr");
+ precache_model ("models/misc/teambubble.spr");
+ if (cvar("g_runematch"))
+ {
+ precache_model ("models/runematch/curse.mdl");
+ precache_model ("models/runematch/rune.mdl");
+ }
- //precache_model ("progs/beam.mdl");
- precache_model ("models/bullet.mdl");
- precache_model ("models/casing_bronze.mdl");
- precache_model ("models/casing_shell.mdl");
- precache_model ("models/casing_steel.mdl");
- precache_model ("models/ebomb.mdl");
- precache_model ("models/elaser.mdl");
- precache_model ("models/flash.md3");
+ // Precache all player models if desired
+ if (cvar("sv_precacheplayermodels"))
+ {
+ precache_model("models/player/carni.zym");
+ precache_model("models/player/crash.zym");
+ precache_model("models/player/grunt.zym");
+ precache_model("models/player/headhunter.zym");
+ precache_model("models/player/insurrectionist.zym");
+ precache_model("models/player/jeandarc.zym");
+ precache_model("models/player/lurk.zym");
+ precache_model("models/player/lycanthrope.zym");
+ precache_model("models/player/marine.zym");
+ precache_model("models/player/nexus.zym");
+ precache_model("models/player/pyria.zym");
+ precache_model("models/player/shock.zym");
+ precache_model("models/player/skadi.zym");
+ precache_model("models/player/specop.zym");
+ precache_model("models/player/visitant.zym");
+ }
+
+ if (cvar("g_footsteps"))
+ {
+ precache_sound ("misc/footstep01.wav");
+ precache_sound ("misc/footstep02.wav");
+ precache_sound ("misc/footstep03.wav");
+ precache_sound ("misc/footstep04.wav");
+ precache_sound ("misc/footstep05.wav");
+ precache_sound ("misc/footstep06.wav");
+ }
+
+ // gore and miscellaneous sounds
+ //precache_sound ("misc/h2ohit.wav");
precache_model ("models/gibs/bloodyskull.md3");
precache_model ("models/gibs/chunk.mdl");
precache_model ("models/gibs/eye.md3");
precache_model ("models/gibs/gib1.md3");
- //precache_model ("models/gibs/gib2.md3");
- //precache_model ("models/gibs/gib3.md3");
- //precache_model ("models/gibs/gib4.md3");
- precache_model ("models/gibs/gib5.md3");
- //precache_model ("models/gibs/gib6.md3");
precache_model ("models/gibs/gib1.mdl");
precache_model ("models/gibs/gib2.mdl");
precache_model ("models/gibs/gib3.mdl");
- precache_model ("models/grenademodel.md3");
- precache_model ("models/hagarmissile.mdl");
- precache_model ("models/items/a_bullets.mdl");
- precache_model ("models/items/a_cells.md3");
- precache_model ("models/items/a_rockets.md3");
- precache_model ("models/items/a_shells.md3");
- precache_model ("models/items/g_a1.md3");
- precache_model ("models/items/g_a25.md3");
- precache_model ("models/items/g_h1.md3");
- precache_model ("models/items/g_h25.md3");
- precache_model ("models/items/g_h100.md3");
- precache_model ("models/items/g_invincible.md3");
- precache_model ("models/items/g_strength.md3");
- precache_model ("models/laser.mdl");
- precache_model ("models/misc/chatbubble.spr");
- precache_model ("models/misc/teambubble.spr");
- precache_model ("models/nexflash.md3");
- precache_model ("models/plasma.mdl");
- precache_model ("models/plasmatrail.mdl");
- precache_model ("models/rocket.md3");
- //precache_model ("models/sprites/grenexpl.spr");
- precache_model ("models/runematch/rune.mdl");
- precache_model ("models/runematch/curse.mdl");
- //precache_model ("models/sprites/hagar.spr");
- //precache_model ("models/sprites/muzzleflash.spr32");
- //precache_model ("models/sprites/electrocombo.spr32");
- //precache_model ("models/sprites/plasmahitwall.spr32");
- //precache_model ("models/sprites/plasmashot.spr32");
- //precache_model ("models/sprites/rockexpl.spr");
- precache_model ("models/tracer.mdl");
- precache_model ("models/uziflash.md3");
- precache_model ("models/weapons/g_crylink.md3");
- precache_model ("models/weapons/g_electro.md3");
- precache_model ("models/weapons/g_gl.md3");
- precache_model ("models/weapons/g_hagar.md3");
- precache_model ("models/weapons/g_nex.md3");
- precache_model ("models/weapons/g_rl.md3");
- precache_model ("models/weapons/g_shotgun.md3");
- precache_model ("models/weapons/g_uzi.md3");
- precache_model ("models/weapons/v_crylink.md3");
- precache_model ("models/weapons/v_electro.md3");
- precache_model ("models/weapons/v_gl.md3");
- precache_model ("models/weapons/v_hagar.md3");
- precache_model ("models/weapons/v_laser.md3");
- precache_model ("models/weapons/v_nex.md3");
- precache_model ("models/weapons/v_rl.md3");
- precache_model ("models/weapons/v_shotgun.md3");
- precache_model ("models/weapons/v_uzi.md3");
- precache_model ("models/weapons/w_crylink.zym");
- precache_model ("models/weapons/w_electro.zym");
- precache_model ("models/weapons/w_gl.zym");
- precache_model ("models/weapons/w_hagar.zym");
- precache_model ("models/weapons/w_laser.zym");
- precache_model ("models/weapons/w_nex.zym");
- precache_model ("models/weapons/w_rl.zym");
- precache_model ("models/weapons/w_shotgun.zym");
- precache_model ("models/weapons/w_uzi.zym");
-
- // laser for laser-guided weapons
- precache_model ("models/laser_dot.mdl");
-
- precache_sound ("misc/null.wav");
- precache_sound ("misc/armor1.wav");
- precache_sound ("misc/armor25.wav");
+ precache_model ("models/gibs/gib5.md3");
precache_sound ("misc/armorimpact.wav");
precache_sound ("misc/bodyimpact1.wav");
precache_sound ("misc/bodyimpact2.wav");
@@ -198,87 +145,19 @@
precache_sound ("misc/gib_splat02.wav");
precache_sound ("misc/gib_splat03.wav");
precache_sound ("misc/gib_splat04.wav");
- //precache_sound ("misc/h2ohit.wav");
precache_sound ("misc/hit.wav");
- precache_sound ("misc/footstep01.wav");
- precache_sound ("misc/footstep02.wav");
- precache_sound ("misc/footstep03.wav");
- precache_sound ("misc/footstep04.wav");
- precache_sound ("misc/footstep05.wav");
- precache_sound ("misc/footstep06.wav");
precache_sound ("misc/hitground1.wav");
precache_sound ("misc/hitground2.wav");
precache_sound ("misc/hitground3.wav");
precache_sound ("misc/hitground4.wav");
- precache_sound ("misc/itempickup.wav");
- precache_sound ("misc/itemrespawn.wav");
- precache_sound ("misc/jumppad.wav");
- precache_sound ("misc/mediumhealth.wav");
- precache_sound ("misc/megahealth.wav");
- precache_sound ("misc/minihealth.wav");
- precache_sound ("misc/powerup.wav");
- precache_sound ("misc/powerup_shield.wav");
+ precache_sound ("misc/null.wav");
precache_sound ("misc/talk.wav");
precache_sound ("misc/teleport.wav");
- precache_sound ("plats/medplat1.wav");
- precache_sound ("plats/medplat2.wav");
precache_sound ("player/lava.wav");
precache_sound ("player/slime.wav");
- precache_sound ("weapons/crylink_fire.wav");
- precache_sound ("weapons/electro_bounce.wav");
- precache_sound ("weapons/electro_fire.wav");
- precache_sound ("weapons/electro_fire2.wav");
- precache_sound ("weapons/electro_fly.wav");
- precache_sound ("weapons/electro_impact.wav");
- precache_sound ("weapons/electro_impact_combo.wav");
- //precache_sound ("weapons/grenade_bounce.wav");
- precache_sound ("weapons/grenade_bounce1.wav");
- precache_sound ("weapons/grenade_bounce2.wav");
- precache_sound ("weapons/grenade_bounce3.wav");
- precache_sound ("weapons/grenade_bounce4.wav");
- precache_sound ("weapons/grenade_bounce5.wav");
- precache_sound ("weapons/grenade_bounce6.wav");
- precache_sound ("weapons/grenade_fire.wav");
- precache_sound ("weapons/grenade_impact.wav");
- precache_sound ("weapons/hagar_fire.wav");
- precache_sound ("weapons/hagexp1.wav");
- precache_sound ("weapons/hagexp2.wav");
- precache_sound ("weapons/hagexp3.wav");
- precache_sound ("weapons/hook_fire.wav");
- precache_sound ("weapons/hook_impact.wav");
- precache_sound ("weapons/lasergun_fire.wav");
- precache_sound ("weapons/laserimpact.wav");
- precache_sound ("weapons/nexfire.wav");
- precache_sound ("weapons/neximpact.wav");
- precache_sound ("weapons/ric1.wav");
- precache_sound ("weapons/ric2.wav");
- precache_sound ("weapons/ric3.wav");
- precache_sound ("weapons/rocket_fire.wav");
- precache_sound ("weapons/rocket_fly.wav");
- precache_sound ("weapons/rocket_impact.wav");
- precache_sound ("weapons/rocket_det.wav");
- precache_sound ("weapons/shotgun_fire.wav");
- precache_sound ("weapons/tink1.wav");
- precache_sound ("weapons/uzi_fire.wav");
- precache_sound ("weapons/weapon_switch.wav");
- precache_sound ("weapons/weaponpickup.wav");
- precache_sound ("weapons/strength_fire.wav");
- //precache_sound ("announce/male/kill10.wav");
- //precache_sound ("announce/male/kill15.wav");
- //precache_sound ("announce/male/kill20.wav");
- //precache_sound ("announce/male/kill25.wav");
- //precache_sound ("announce/male/kill3.wav");
- //precache_sound ("announce/male/kill30.wav");
- //precache_sound ("announce/male/kill4.wav");
- //precache_sound ("announce/male/kill5.wav");
- //precache_sound ("announce/male/kill6.wav");
- //precache_sound ("announce/male/mapkill1.wav");
- //precache_sound ("announce/robotic/last_second_save.wav");
- //precache_sound ("announce/robotic/narrowly_averted.wav");
- //precache_sound ("minstagib/mockery.wav");
-
// announcer sounds - male
+ //precache_sound ("announcer/male/electrobitch.wav");
precache_sound ("announcer/male/03kills.wav");
precache_sound ("announcer/male/05kills.wav");
precache_sound ("announcer/male/10kills.wav");
@@ -287,8 +166,6 @@
precache_sound ("announcer/male/25kills.wav");
precache_sound ("announcer/male/30kills.wav");
precache_sound ("announcer/male/botlike.wav");
- precache_sound ("announcer/male/electrobitch.wav");
- precache_sound ("announcer/male/welcome.wav");
precache_sound ("announcer/male/yoda.wav");
// announcer sounds - robotic
@@ -296,19 +173,43 @@
precache_sound ("announcer/robotic/1minuteremains.wav");
precache_sound ("announcer/robotic/2fragsleft.wav");
precache_sound ("announcer/robotic/3fragsleft.wav");
- precache_sound ("announcer/robotic/lastsecond.wav");
- precache_sound ("announcer/robotic/narrowly.wav");
- precache_sound ("announcer/robotic/1.wav");
- precache_sound ("announcer/robotic/2.wav");
- precache_sound ("announcer/robotic/3.wav");
- precache_sound ("announcer/robotic/4.wav");
- precache_sound ("announcer/robotic/5.wav");
- precache_sound ("announcer/robotic/6.wav");
- precache_sound ("announcer/robotic/7.wav");
- precache_sound ("announcer/robotic/8.wav");
- precache_sound ("announcer/robotic/9.wav");
- precache_sound ("announcer/robotic/10.wav");
+ if (cvar("g_minstagib"))
+ {
+ precache_sound ("announcer/robotic/lastsecond.wav");
+ precache_sound ("announcer/robotic/narrowly.wav");
+ precache_sound ("announcer/robotic/1.wav");
+ precache_sound ("announcer/robotic/2.wav");
+ precache_sound ("announcer/robotic/3.wav");
+ precache_sound ("announcer/robotic/4.wav");
+ precache_sound ("announcer/robotic/5.wav");
+ precache_sound ("announcer/robotic/6.wav");
+ precache_sound ("announcer/robotic/7.wav");
+ precache_sound ("announcer/robotic/8.wav");
+ precache_sound ("announcer/robotic/9.wav");
+ precache_sound ("announcer/robotic/10.wav");
+ }
+ // common weapon precaches
+ precache_sound ("weapons/weapon_switch.wav");
+ precache_sound ("weapons/weaponpickup.wav");
+ if (cvar("g_grappling_hook"))
+ {
+ precache_sound ("weapons/hook_fire.wav"); // hook
+ precache_sound ("weapons/hook_impact.wav"); // hook
+ }
+
+ if (cvar("sv_precacheweapons"))
+ {
+ //precache weapon models/sounds
+ local float wep;
+ wep = WEP_FIRST;
+ while (wep <= WEP_LAST)
+ {
+ weapon_action(wep, WR_PRECACHE);
+ wep = wep + 1;
+ }
+ }
+
// plays music for the level if there is any
if (self.noise)
{
Modified: branches/nexuiz-2.0/data/qcsrc/server/keyhunt.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/keyhunt.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/keyhunt.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -108,6 +108,8 @@
void kh_Scores_Event(entity player, entity key, string what, float frags_player, float frags_owner)
{
string s;
+ if(intermission_running)
+ return;
if(frags_player)
player.frags = player.frags + floor(0.5 + frags_player);
if(frags_owner)
@@ -558,7 +560,7 @@
{
kh_Scores_Event(attacker, world, "push", cvar("g_balance_keyhunt_score_push"), 0);
centerprint(attacker, "Your push is the best!\n\n\n");
- bprint("The ", ColoredTeamName(teem), "^7 could not take care of the ", lostkey.netname, " when ", attacker.netname, "^7 came\n");
+ bprint("The ", ColoredTeamName(teem), "^7 could not take care of the ", lostkey.netname, "^7 when ", attacker.netname, "^7 came\n");
}
else
{
Modified: branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/miscfunctions.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -703,6 +703,15 @@
float g_pickup_healthmega;
float g_pickup_healthmega_max;
+float start_items;
+float start_switchweapon;
+float start_ammo_shells;
+float start_ammo_nails;
+float start_ammo_rockets;
+float start_ammo_cells;
+float start_health;
+float start_armorvalue;
+
void readlevelcvars(void)
{
g_pickup_shells = cvar("g_pickup_shells");
@@ -723,6 +732,123 @@
g_pickup_health_max = cvar("g_pickup_health_max");
g_pickup_healthmega = cvar("g_pickup_healthmega");
g_pickup_healthmega_max = cvar("g_pickup_healthmega_max");
+
+ // initialize starting values for players
+ start_items = 0;
+ start_switchweapon = 0;
+ start_ammo_shells = 0;
+ start_ammo_nails = 0;
+ start_ammo_rockets = 0;
+ start_ammo_cells = 0;
+ start_health = cvar("g_balance_health_start");
+ start_armorvalue = cvar("g_balance_armor_start");
+
+ if(cvar("g_instagib"))
+ {
+ start_items = IT_NEX;
+ start_switchweapon = WEP_NEX;
+ weapon_action(start_switchweapon, WR_PRECACHE);
+ start_ammo_cells = 999;
+ }
+ else if(cvar("g_rocketarena"))
+ {
+ start_items = IT_ROCKET_LAUNCHER;
+ start_switchweapon = WEP_ROCKET_LAUNCHER;
+ weapon_action(start_switchweapon, WR_PRECACHE);
+ start_ammo_rockets = 999;
+ }
+ else if(cvar("g_nixnex"))
+ {
+ start_items = 0;
+ // will be done later
+ }
+ else if(cvar("g_minstagib"))
+ {
+ start_health = 100;
+ start_armorvalue = 0;
+ start_items = IT_NEX;
+ start_switchweapon = WEP_NEX;
+ weapon_action(start_switchweapon, WR_PRECACHE);
+ start_ammo_cells = cvar("g_minstagib_ammo_start");
+ }
+ else
+ {
+ if(cvar("g_lms"))
+ {
+ start_ammo_shells = cvar("g_lms_start_ammo_shells");
+ start_ammo_nails = cvar("g_lms_start_ammo_nails");
+ start_ammo_rockets = cvar("g_lms_start_ammo_rockets");
+ start_ammo_cells = cvar("g_lms_start_ammo_cells");
+ start_health = cvar("g_lms_start_health");
+ start_armorvalue = cvar("g_lms_start_armor");
+ }
+ else if (cvar("g_use_ammunition")) {
+ 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");
+ } else {
+ start_ammo_shells = cvar("g_pickup_shells_max");
+ start_ammo_nails = cvar("g_pickup_nails_max");
+ start_ammo_rockets = cvar("g_pickup_rockets_max");
+ start_ammo_cells = cvar("g_pickup_cells_max");
+ }
+
+ if (cvar("g_start_weapon_laser") || cvar("g_lms"))
+ {
+ start_items = start_items | IT_LASER;
+ start_switchweapon = WEP_LASER;
+ weapon_action(start_switchweapon, WR_PRECACHE);
+ }
+ if (cvar("g_start_weapon_shotgun") || cvar("g_lms"))
+ {
+ start_items = start_items | IT_SHOTGUN;
+ start_switchweapon = WEP_SHOTGUN;
+ weapon_action(start_switchweapon, WR_PRECACHE);
+ }
+ if (cvar("g_start_weapon_uzi") || cvar("g_lms"))
+ {
+ start_items = start_items | IT_UZI;
+ start_switchweapon = WEP_UZI;
+ weapon_action(start_switchweapon, WR_PRECACHE);
+ }
+ if (cvar("g_start_weapon_grenadelauncher") || cvar("g_lms"))
+ {
+ start_items = start_items | IT_GRENADE_LAUNCHER;
+ start_switchweapon = WEP_GRENADE_LAUNCHER;
+ weapon_action(start_switchweapon, WR_PRECACHE);
+ }
+ if (cvar("g_start_weapon_electro") || cvar("g_lms"))
+ {
+ start_items = start_items | IT_ELECTRO;
+ start_switchweapon = WEP_ELECTRO;
+ weapon_action(start_switchweapon, WR_PRECACHE);
+ }
+ if (cvar("g_start_weapon_crylink") || cvar("g_lms"))
+ {
+ start_items = start_items | IT_CRYLINK;
+ start_switchweapon = WEP_CRYLINK;
+ weapon_action(start_switchweapon, WR_PRECACHE);
+ }
+ if (cvar("g_start_weapon_nex") || cvar("g_lms"))
+ {
+ start_items = start_items | IT_NEX;
+ start_switchweapon = WEP_NEX;
+ weapon_action(start_switchweapon, WR_PRECACHE);
+ }
+ if (cvar("g_start_weapon_hagar") || cvar("g_lms"))
+ {
+ start_items = start_items | IT_HAGAR;
+ start_switchweapon = WEP_HAGAR;
+ weapon_action(start_switchweapon, WR_PRECACHE);
+ }
+ if (cvar("g_start_weapon_rocketlauncher") || cvar("g_lms"))
+ {
+ start_items = start_items | IT_ROCKET_LAUNCHER;
+ start_switchweapon = WEP_ROCKET_LAUNCHER;
+ weapon_action(start_switchweapon, WR_PRECACHE);
+ }
+ }
}
/*
Modified: branches/nexuiz-2.0/data/qcsrc/server/t_items.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/t_items.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/t_items.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -350,6 +350,13 @@
}
}
+ if (self.classname != "droppedweapon")
+ {
+ precache_model (itemmodel);
+ precache_sound (pickupsound);
+ precache_sound ("misc/itemrespawn.wav");
+ }
+
if(itemid & (IT_STRENGTH | IT_INVINCIBLE | IT_HEALTH | IT_ARMOR | IT_KEY1 | IT_KEY2 |
IT_ROCKET_LAUNCHER | IT_HAGAR | IT_NEX | IT_CRYLINK | IT_ELECTRO |
IT_GRENADE_LAUNCHER | IT_UZI | IT_SHOTGUN | IT_LASER) && self.classname != "droppedweapon")
@@ -479,62 +486,86 @@
if(!self.ammo_nails)
self.ammo_nails = cvar("g_pickup_nails");
StartItem ("models/weapons/g_uzi.md3", "weapons/weaponpickup.wav", 15, W_Name(WEP_UZI), IT_UZI, FL_WEAPON, weapon_pickupevalfunc, 1000);
+ if (self.modelindex) // don't precache if self was removed
+ weapon_action(WEP_UZI, WR_PRECACHE);
}
void weapon_shotgun (void) {
if(!self.ammo_shells)
self.ammo_shells = cvar("g_pickup_shells");
StartItem ("models/weapons/g_shotgun.md3", "weapons/weaponpickup.wav", 15, W_Name(WEP_SHOTGUN), IT_SHOTGUN, FL_WEAPON, weapon_pickupevalfunc, 1000);
+ if (self.modelindex) // don't precache if self was removed
+ weapon_action(WEP_SHOTGUN, WR_PRECACHE);
}
-void weapon_grenadelauncher (void) {
+void weapon_grenadelauncher (void)
+{
if(!self.ammo_rockets)
self.ammo_rockets = cvar("g_pickup_rockets");
StartItem ("models/weapons/g_gl.md3", "weapons/weaponpickup.wav", 15, W_Name(WEP_GRENADE_LAUNCHER), IT_GRENADE_LAUNCHER, FL_WEAPON, weapon_pickupevalfunc, 1000);
+ if (self.modelindex) // don't precache if self was removed
+ weapon_action(WEP_GRENADE_LAUNCHER, WR_PRECACHE);
}
-void weapon_electro (void) {
+void weapon_electro (void)
+{
if(!self.ammo_cells)
self.ammo_cells = cvar("g_pickup_cells");
StartItem ("models/weapons/g_electro.md3", "weapons/weaponpickup.wav", 15, W_Name(WEP_ELECTRO), IT_ELECTRO, FL_WEAPON, weapon_pickupevalfunc, 1000);
+ if (self.modelindex) // don't precache if self was removed
+ weapon_action(WEP_ELECTRO, WR_PRECACHE);
}
-void weapon_crylink (void) {
+void weapon_crylink (void)
+{
if(!self.ammo_cells)
self.ammo_cells = cvar("g_pickup_cells");
StartItem ("models/weapons/g_crylink.md3", "weapons/weaponpickup.wav", 15, W_Name(WEP_CRYLINK), IT_CRYLINK, FL_WEAPON, weapon_pickupevalfunc, 1000);
+ if (self.modelindex) // don't precache if self was removed
+ weapon_action(WEP_CRYLINK, WR_PRECACHE);
}
-void weapon_nex (void) {
- if (cvar("g_minstagib")) {
+void weapon_nex (void)
+{
+ float nextime;
+ if (cvar("g_minstagib"))
+ {
minstagib_items(IT_CELLS);
- } else {
- float nextime;
- if(!self.ammo_cells)
- self.ammo_cells = cvar("g_pickup_cells");
- nextime = cvar("g_balance_nex_respawntime_modifier");
- if(nextime)
- nextime = 15 * nextime;
- else
- nextime = 15;
- StartItem ("models/weapons/g_nex.md3", "weapons/weaponpickup.wav", nextime, W_Name(WEP_NEX), IT_NEX, FL_WEAPON, weapon_pickupevalfunc, 1000);
+ return;
}
+ if(!self.ammo_cells)
+ self.ammo_cells = cvar("g_pickup_cells");
+ nextime = cvar("g_balance_nex_respawntime_modifier");
+ if(nextime)
+ nextime = 15 * nextime;
+ else
+ nextime = 15;
+ StartItem ("models/weapons/g_nex.md3", "weapons/weaponpickup.wav", nextime, W_Name(WEP_NEX), IT_NEX, FL_WEAPON, weapon_pickupevalfunc, 1000);
+ if (self.modelindex) // don't precache if self was removed
+ weapon_action(WEP_NEX, WR_PRECACHE);
}
-void weapon_hagar (void) {
+void weapon_hagar (void)
+{
if(!self.ammo_rockets)
self.ammo_rockets = cvar("g_pickup_rockets");
StartItem ("models/weapons/g_hagar.md3", "weapons/weaponpickup.wav", 15, W_Name(WEP_HAGAR), IT_HAGAR, FL_WEAPON, weapon_pickupevalfunc, 1000);
+ if (self.modelindex) // don't precache if self was removed
+ weapon_action(WEP_HAGAR, WR_PRECACHE);
}
-void weapon_rocketlauncher (void) {
- if (cvar("g_minstagib")) {
+void weapon_rocketlauncher (void)
+{
+ if (cvar("g_minstagib"))
+ {
minstagib_items(IT_CELLS);
- } else {
- if(!self.ammo_rockets)
- self.ammo_rockets = g_pickup_rockets;
- StartItem ("models/weapons/g_rl.md3", "weapons/weaponpickup.wav", 15, W_Name(WEP_ROCKET_LAUNCHER), IT_ROCKET_LAUNCHER, FL_WEAPON, weapon_pickupevalfunc, 1000);
+ return;
}
+ if(!self.ammo_rockets)
+ self.ammo_rockets = g_pickup_rockets;
+ StartItem ("models/weapons/g_rl.md3", "weapons/weaponpickup.wav", 15, W_Name(WEP_ROCKET_LAUNCHER), IT_ROCKET_LAUNCHER, FL_WEAPON, weapon_pickupevalfunc, 1000);
+ if (self.modelindex) // don't precache if self was removed
+ weapon_action(WEP_ROCKET_LAUNCHER, WR_PRECACHE);
}
void item_rockets (void) {
@@ -621,6 +652,7 @@
if(cvar("g_minstagib")) {
minstagib_items(IT_STRENGTH);
} else {
+ precache_sound("weapons/strength_fire.wav");
self.strength_finished = 30;
self.effects = EF_ADDITIVE;StartItem ("models/items/g_strength.md3", "misc/powerup.wav", 120, "Strength Powerup", IT_STRENGTH, FL_POWERUP, generic_pickupevalfunc, 10000);
}
Modified: branches/nexuiz-2.0/data/qcsrc/server/t_jumppads.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/t_jumppads.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/t_jumppads.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -240,6 +240,9 @@
self.speed = 1000;
self.movedir = self.movedir * self.speed * 10;
+ if (self.target)
+ precache_sound ("misc/jumppad.wav");
+
// this must be called to spawn the teleport waypoints for bots
self.think = trigger_push_findtarget;
self.nextthink = time + 0.2;
Modified: branches/nexuiz-2.0/data/qcsrc/server/w_crylink.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_crylink.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_crylink.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -203,6 +203,15 @@
weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_crylink_secondary_animtime"), w_ready);
}
}
+ else if (req == WR_PRECACHE)
+ {
+ precache_model ("models/plasma.mdl");
+ precache_model ("models/plasmatrail.mdl");
+ precache_model ("models/weapons/g_crylink.md3");
+ precache_model ("models/weapons/v_crylink.md3");
+ precache_model ("models/weapons/w_crylink.zym");
+ precache_sound ("weapons/crylink_fire.wav");
+ }
else if (req == WR_SETUP)
weapon_setup(WEP_CRYLINK, "crylink", IT_CELLS);
else if (req == WR_CHECKAMMO1)
Modified: branches/nexuiz-2.0/data/qcsrc/server/w_electro.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_electro.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_electro.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -192,6 +192,20 @@
weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_electro_secondary_animtime"), w_ready);
}
}
+ else if (req == WR_PRECACHE)
+ {
+ precache_model ("models/ebomb.mdl");
+ precache_model ("models/elaser.mdl");
+ precache_model ("models/weapons/g_electro.md3");
+ precache_model ("models/weapons/v_electro.md3");
+ precache_model ("models/weapons/w_electro.zym");
+ precache_sound ("weapons/electro_bounce.wav");
+ precache_sound ("weapons/electro_fire.wav");
+ precache_sound ("weapons/electro_fire2.wav");
+ precache_sound ("weapons/electro_fly.wav");
+ precache_sound ("weapons/electro_impact.wav");
+ precache_sound ("weapons/electro_impact_combo.wav");
+ }
else if (req == WR_SETUP)
weapon_setup(WEP_ELECTRO, "electro", IT_CELLS);
else if (req == WR_CHECKAMMO1)
Modified: branches/nexuiz-2.0/data/qcsrc/server/w_grenadelauncher.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_grenadelauncher.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_grenadelauncher.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -180,6 +180,21 @@
weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_grenadelauncher_secondary_animtime"), w_ready);
}
}
+ else if (req == WR_PRECACHE)
+ {
+ precache_model ("models/grenademodel.md3");
+ precache_model ("models/weapons/g_gl.md3");
+ precache_model ("models/weapons/v_gl.md3");
+ precache_model ("models/weapons/w_gl.zym");
+ precache_sound ("weapons/grenade_bounce1.wav");
+ precache_sound ("weapons/grenade_bounce2.wav");
+ precache_sound ("weapons/grenade_bounce3.wav");
+ precache_sound ("weapons/grenade_bounce4.wav");
+ precache_sound ("weapons/grenade_bounce5.wav");
+ precache_sound ("weapons/grenade_bounce6.wav");
+ precache_sound ("weapons/grenade_fire.wav");
+ precache_sound ("weapons/grenade_impact.wav");
+ }
else if (req == WR_SETUP)
weapon_setup(WEP_GRENADE_LAUNCHER, "gl", IT_ROCKETS);
else if (req == WR_CHECKAMMO1)
Modified: branches/nexuiz-2.0/data/qcsrc/server/w_hagar.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_hagar.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_hagar.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -172,6 +172,17 @@
weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_hagar_secondary_refire"), w_ready);
}
}
+ else if (req == WR_PRECACHE)
+ {
+ precache_model ("models/hagarmissile.mdl");
+ precache_model ("models/weapons/g_hagar.md3");
+ precache_model ("models/weapons/v_hagar.md3");
+ precache_model ("models/weapons/w_hagar.zym");
+ precache_sound ("weapons/hagar_fire.wav");
+ precache_sound ("weapons/hagexp1.wav");
+ precache_sound ("weapons/hagexp2.wav");
+ precache_sound ("weapons/hagexp3.wav");
+ }
else if (req == WR_SETUP)
weapon_setup(WEP_HAGAR, "hagar", IT_ROCKETS);
else if (req == WR_CHECKAMMO1)
Modified: branches/nexuiz-2.0/data/qcsrc/server/w_laser.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_laser.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_laser.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -117,6 +117,14 @@
}
}
}
+ else if (req == WR_PRECACHE)
+ {
+ precache_model ("models/laser.mdl");
+ precache_model ("models/weapons/v_laser.md3");
+ precache_model ("models/weapons/w_laser.zym");
+ precache_sound ("weapons/lasergun_fire.wav");
+ precache_sound ("weapons/laserimpact.wav");
+ }
else if (req == WR_SETUP)
weapon_setup(WEP_LASER, "laser", 0);
else if (req == WR_CHECKAMMO1)
Modified: branches/nexuiz-2.0/data/qcsrc/server/w_nex.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_nex.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_nex.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -172,6 +172,15 @@
}
}
}
+ else if (req == WR_PRECACHE)
+ {
+ precache_model ("models/nexflash.md3");
+ precache_model ("models/weapons/g_nex.md3");
+ precache_model ("models/weapons/v_nex.md3");
+ precache_model ("models/weapons/w_nex.zym");
+ precache_sound ("weapons/nexfire.wav");
+ precache_sound ("weapons/neximpact.wav");
+ }
else if (req == WR_SETUP)
weapon_setup(WEP_NEX, "nex", IT_CELLS);
else if (req == WR_CHECKAMMO1)
Modified: branches/nexuiz-2.0/data/qcsrc/server/w_rocketlauncher.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_rocketlauncher.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_rocketlauncher.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -386,6 +386,20 @@
sound (self, CHAN_AUTO, "weapons/tink1.wav", 1, ATTN_NORM);
}
}
+ else if (req == WR_PRECACHE)
+ {
+ precache_model ("models/flash.md3");
+ precache_model ("models/rocket.md3");
+ precache_model ("models/weapons/g_rl.md3");
+ precache_model ("models/weapons/v_rl.md3");
+ precache_model ("models/weapons/w_rl.zym");
+ precache_sound ("weapons/rocket_det.wav");
+ precache_sound ("weapons/rocket_fire.wav");
+ precache_sound ("weapons/rocket_fly.wav");
+ precache_sound ("weapons/rocket_impact.wav");
+ if (cvar("g_laserguided_missile"))
+ precache_model ("models/laser_dot.mdl"); // rocket launcher
+ }
else if (req == WR_SETUP)
weapon_setup(WEP_ROCKET_LAUNCHER, "rl", IT_ROCKETS);
else if (req == WR_CHECKAMMO1)
Modified: branches/nexuiz-2.0/data/qcsrc/server/w_shotgun.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_shotgun.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_shotgun.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -87,6 +87,21 @@
weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_shotgun_secondary_animtime"), shotgun_fire2_02);
}
}
+ else if (req == WR_PRECACHE)
+ {
+ precache_model ("models/tracer.mdl");
+ precache_model ("models/weapons/g_shotgun.md3");
+ precache_model ("models/weapons/v_shotgun.md3");
+ precache_model ("models/weapons/w_shotgun.zym");
+ precache_sound ("misc/itempickup.wav");
+ precache_sound ("weapons/ric1.wav");
+ precache_sound ("weapons/ric2.wav");
+ precache_sound ("weapons/ric3.wav");
+ precache_sound ("weapons/shotgun_fire.wav");
+ precache_sound ("weapons/tink1.wav");
+ if (cvar("g_casings") >= 1)
+ precache_model ("models/casing_shell.mdl");
+ }
else if (req == WR_SETUP)
weapon_setup(WEP_SHOTGUN, "shotgun", IT_SHELLS);
else if (req == WR_CHECKAMMO1)
Modified: branches/nexuiz-2.0/data/qcsrc/server/w_uzi.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_uzi.qc 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_uzi.qc 2007-05-04 13:20:37 UTC (rev 2484)
@@ -106,6 +106,21 @@
weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_uzi_sustained_refire"), w_ready);
}
}
+ else if (req == WR_PRECACHE)
+ {
+ precache_model ("models/tracer.mdl");
+ precache_model ("models/uziflash.md3");
+ precache_model ("models/weapons/g_uzi.md3");
+ precache_model ("models/weapons/v_uzi.md3");
+ precache_model ("models/weapons/w_uzi.zym");
+ precache_sound ("weapons/ric1.wav");
+ precache_sound ("weapons/ric2.wav");
+ precache_sound ("weapons/ric3.wav");
+ precache_sound ("weapons/tink1.wav");
+ precache_sound ("weapons/uzi_fire.wav");
+ if (cvar("g_casings") >= 2)
+ precache_model ("models/casing_bronze.mdl");
+ }
else if (req == WR_SETUP)
weapon_setup(WEP_UZI, "uzi", IT_NAILS);
else if (req == WR_CHECKAMMO1)
Modified: branches/nexuiz-2.0/data/scripts/stralenex1.shader
===================================================================
--- branches/nexuiz-2.0/data/scripts/stralenex1.shader 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/scripts/stralenex1.shader 2007-05-04 13:20:37 UTC (rev 2484)
@@ -1,329 +1,329 @@
-textures/evil8_lights/e8minitrimlight
-{
- qer_editorimage textures/evil8_lights/e8minitrimlight.tga
- q3map_lightimage textures/evil8_lights/e8minitrimlight.blend.tga
- surfaceparm nomarks
- q3map_surfacelight 1200
- {
- map textures/evil8_lights/e8minitrimlight.tga
+textures/evil8_lights/e8minitrimlight
+{
+ qer_editorimage textures/evil8_lights/e8minitrimlight.tga
+ q3map_lightimage textures/evil8_lights/e8minitrimlight.blend.tga
+ surfaceparm nomarks
+ q3map_surfacelight 1200
+ {
+ map textures/evil8_lights/e8minitrimlight.tga
+ }
+ {
+ map $lightmap
+ blendfunc filter
+ tcGen lightmap
+ }
+ {
+ map textures/evil8_lights/e8minitrimlight.blend.tga
+ blendfunc add
+ }
+}
+textures/evil8_lights/e8tinylight2k
+{
+ qer_editorimage textures/evil8_lights/e8tinylight.tga
+ q3map_lightimage textures/evil8_lights/e8tinylightcolor.tga
+ surfaceparm nomarks
+ q3map_surfacelight 2000
+ {
+ map textures/evil8_lights/e8tinylight.tga
+ }
+ {
+ map $lightmap
+ blendfunc filter
+ tcGen lightmap
+ }
+ {
+ map textures/evil8_lights/e8tinylight.blend.tga
+ blendfunc add
+ }
+}
+
+textures/evil8_lights/e8tinylightblue2k
+{
+ qer_editorimage textures/evil8_lights/e8tinylightblue.tga
+ q3map_lightimage textures/evil8_lights/e8tinylightbluecolor.tga
+ surfaceparm nomarks
+ q3map_surfacelight 2000
+ {
+ map textures/evil8_lights/e8tinylightblue.tga
+ }
+ {
+ map $lightmap
+ blendfunc filter
+ tcGen lightmap
+ }
+ {
+ map textures/evil8_lights/e8tinylightblue.blend.tga
+ blendfunc add
+ }
+}
+
+textures/stralenex1/light_tube_green
+{
+ qer_editorimage textures/stralenex1/light_tube_green.tga
+ q3map_lightimage textures/stralenex1/light_tube_green_glow.tga
+ q3map_surfacelight 1000
+ {
+ map textures/stralenex1/light_tube_green.tga
+ //blendfunc add
+ tcmod scale 12 1
+ //rgbGen identity
+
+
}
- {
- map $lightmap
- blendfunc filter
- tcGen lightmap
- }
- {
- map textures/evil8_lights/e8minitrimlight.blend.tga
- blendfunc add
- }
+ {
+ map $lightmap
+ rgbGen identity
+ }
+}
+
+
+textures/stralenex1/e8_bluestrip
+{
+ surfaceparm nolightmap
+ surfaceparm nomarks
+ surfaceparm trans
+ {
+ map textures/stralenex1/e8_bluestrip.tga
+ blendfunc add
+ rgbGen identity
+ }
+}
+
+textures/stralenex1/e8_redstrip
+{
+ surfaceparm nolightmap
+ surfaceparm nomarks
+ surfaceparm trans
+ {
+ map textures/stralenex1/e8_redstrip.tga
+ blendfunc add
+ rgbGen identity
+ }
+}
+
+textures/stralenex1/stralenex5_water
+{
+ qer_editorimage textures/stralenex1/stralenex5_water.tga
+ qer_trans 0.5
+
+ surfaceparm trans
+ surfaceparm nonsolid
+ surfaceparm water
+
+ deformVertexes wave 150.0 sin 2 5 0.25 0.1
+ Q3map_TessSize 128
+ cull none
+
+ {
+ map textures/stralenex1/stralenex5_water.tga
+ blendFunc add
+ rgbGen identity
+ }
+}
+
+textures/stralenex1/e6xrst_supprt
+{
+ qer_editorimage textures/stralenex1/e6xrst_supprt.tga
+ surfaceparm nomarks
+ surfaceparm trans
+ cull none
+ nopicmip
+ {
+ map textures/stralenex1/e6xrst_supprt.tga
+ rgbGen identity
+ depthWrite
+ //alphaFunc GE128
+ blendfunc blend
+ }
+ {
+ map $lightmap
+ blendfunc filter
+ rgbGen identity
+ tcGen lightmap
+ depthFunc equal
+ }
+}
+
+
+textures/stralenex1/strale_grey_box
+{
+ qer_editorimage env/strale_grey/ygrey_up.tga
+
+ surfaceparm nolightmap
+ surfaceparm noimpact
+ surfaceparm nomarks
+ surfaceparm sky
+
+ skyparms env/strale_grey/ygrey - -
+ q3map_surfacelight 60
+ q3map_lightimage textures/strale_grey/ygrey_up.tga
+ q3map_sun .9 .9 1 70 65 78
+
+}
+
+textures/stralenex1/strale_brown_box
+{
+ qer_editorimage env/strale_grey/ygrey_up.tga
+
+ surfaceparm nolightmap
+ surfaceparm noimpact
+ surfaceparm nomarks
+ surfaceparm sky
+
+ skyparms env/strale_grey/ygrey - -
+ q3map_surfacelight 100
+ q3map_lightimage textures/strale_grey/ygrey_up.tga
+ q3map_sun .75 .65 .6 130 255 80
+
+}
+
+textures/stralenex1/greennebula
+{
+ qer_editorimage env/stralenex5/greennebula_bk.tga
+
+ surfaceparm nolightmap
+ surfaceparm noimpact
+ surfaceparm nomarks
+ surfaceparm sky
+
+ skyparms env/stralenex5/greennebula - -
+ q3map_surfacelight 80
+ q3map_lightimage textures/stralenex5/stralenex5_up.tga
+ q3map_sun 0.3 0.33 0.3 60 80 20
+ /*q3map_sun <red> <green> <blue> <intensity> <degrees> <elevation>*/
+
+}
+
+textures/stralenex1/stralenex5
+{
+ qer_editorimage env/stralenex5/stralenex5_up.tga
+
+ surfaceparm nolightmap
+ surfaceparm noimpact
+ surfaceparm nomarks
+ surfaceparm sky
+
+ skyparms env/stralenex5/stralenex5 - -
+ q3map_surfacelight 60
+ q3map_lightimage textures/stralenex5/stralenex5_up.tga
+ q3map_sun .627 .525 0.392 60 300 40
+ /*q3map_sun <red> <green> <blue> <intensity> <degrees> <elevation>*/
+
}
-textures/evil8_lights/e8tinylight2k
-{
- qer_editorimage textures/evil8_lights/e8tinylight.tga
- q3map_lightimage textures/evil8_lights/e8tinylightcolor.tga
- surfaceparm nomarks
- q3map_surfacelight 2000
- {
- map textures/evil8_lights/e8tinylight.tga
- }
- {
- map $lightmap
- blendfunc filter
- tcGen lightmap
- }
- {
- map textures/evil8_lights/e8tinylight.blend.tga
- blendfunc add
- }
-}
-textures/evil8_lights/e8tinylightblue2k
-{
- qer_editorimage textures/evil8_lights/e8tinylightblue.tga
- q3map_lightimage textures/evil8_lights/e8tinylightbluecolor.tga
- surfaceparm nomarks
- q3map_surfacelight 2000
- {
- map textures/evil8_lights/e8tinylightblue.tga
- }
- {
- map $lightmap
- blendfunc filter
- tcGen lightmap
- }
- {
- map textures/evil8_lights/e8tinylightblue.blend.tga
- blendfunc add
- }
+textures/stralenex1/stralenex5_1
+{
+ qer_editorimage env/stralenex5/stralenex5_up.tga
+
+ surfaceparm nolightmap
+ surfaceparm noimpact
+ surfaceparm nomarks
+ surfaceparm sky
+
+ skyparms env/stralenex5/stralenex5 - -
+ q3map_surfacelight 60
+ q3map_lightimage textures/stralenex5/stralenex5_up.tga
+ q3map_sun .627 .525 0.392 450 60 13
+ /*q3map_sun <red> <green> <blue> <intensity> <degrees> <elevation>*/
+
}
-textures/stralenex1/light_tube_green
-{
- qer_editorimage textures/stralenex1/light_tube_green.tga
- q3map_lightimage textures/stralenex1/light_tube_green_glow.tga
- q3map_surfacelight 1000
- {
- map textures/stralenex1/light_tube_green.tga
- //blendfunc add
- tcmod scale 12 1
- //rgbGen identity
-
-
- }
- {
- map $lightmap
- rgbGen identity
- }
-}
-
-
-textures/stralenex1/e8_bluestrip
-{
- surfaceparm nolightmap
- surfaceparm nomarks
- surfaceparm trans
- {
- map textures/stralenex1/e8_bluestrip.tga
- blendfunc add
- rgbGen identity
- }
-}
-
-textures/stralenex1/e8_redstrip
-{
- surfaceparm nolightmap
- surfaceparm nomarks
- surfaceparm trans
- {
- map textures/stralenex1/e8_redstrip.tga
- blendfunc add
- rgbGen identity
- }
-}
-
-textures/stralenex1/stralenex5_water
-{
- qer_editorimage textures/stralenex1/stralenex5_water.tga
- qer_trans 0.5
-
- surfaceparm trans
- surfaceparm nonsolid
- surfaceparm water
-
- deformVertexes wave 150.0 sin 2 5 0.25 0.1
- Q3map_TessSize 128
- cull none
-
- {
- map textures/stralenex1/stralenex5_water.tga
- blendFunc add
- rgbGen identity
- }
-}
-
-textures/stralenex1/e6xrst_supprt
-{
- qer_editorimage textures/stralenex1/e6xrst_supprt.tga
- surfaceparm nomarks
- surfaceparm trans
- cull none
- nopicmip
- {
- map textures/stralenex1/e6xrst_supprt.tga
- rgbGen identity
- depthWrite
- //alphaFunc GE128
- blendfunc blend
- }
- {
- map $lightmap
- blendfunc filter
- rgbGen identity
- tcGen lightmap
- depthFunc equal
- }
-}
-
-
-textures/stralenex1/strale_grey_box
-{
- qer_editorimage env/strale_grey/ygrey_up.tga
-
- surfaceparm nolightmap
- surfaceparm noimpact
- surfaceparm nomarks
- surfaceparm sky
-
- skyparms env/strale_grey/ygrey - -
- q3map_surfacelight 60
- q3map_lightimage textures/strale_grey/ygrey_up.tga
- q3map_sun .9 .9 1 70 65 78
-
-}
-
-textures/stralenex1/strale_brown_box
-{
- qer_editorimage env/strale_grey/ygrey_up.tga
-
- surfaceparm nolightmap
- surfaceparm noimpact
- surfaceparm nomarks
- surfaceparm sky
-
- skyparms env/strale_grey/ygrey - -
- q3map_surfacelight 100
- q3map_lightimage textures/strale_grey/ygrey_up.tga
- q3map_sun .75 .65 .6 130 255 80
-
-}
-
-textures/stralenex1/greennebula
-{
- qer_editorimage env/stralenex5/greennebula_bk.tga
-
- surfaceparm nolightmap
- surfaceparm noimpact
- surfaceparm nomarks
- surfaceparm sky
-
- skyparms env/stralenex5/greennebula - -
- q3map_surfacelight 80
- q3map_lightimage textures/stralenex5/stralenex5_up.tga
- q3map_sun 0.3 0.33 0.3 60 80 20
- /*q3map_sun <red> <green> <blue> <intensity> <degrees> <elevation>*/
-
-}
-
-textures/stralenex1/stralenex5
-{
- qer_editorimage env/stralenex5/stralenex5_up.tga
-
- surfaceparm nolightmap
- surfaceparm noimpact
- surfaceparm nomarks
- surfaceparm sky
-
- skyparms env/stralenex5/stralenex5 - -
- q3map_surfacelight 60
- q3map_lightimage textures/stralenex5/stralenex5_up.tga
- q3map_sun .627 .525 0.392 60 300 40
- /*q3map_sun <red> <green> <blue> <intensity> <degrees> <elevation>*/
-
-}
-
-textures/stralenex1/stralenex5_1
-{
- qer_editorimage env/stralenex5/stralenex5_up.tga
-
- surfaceparm nolightmap
- surfaceparm noimpact
- surfaceparm nomarks
- surfaceparm sky
-
- skyparms env/stralenex5/stralenex5 - -
- q3map_surfacelight 60
- q3map_lightimage textures/stralenex5/stralenex5_up.tga
- q3map_sun .627 .525 0.392 450 60 13
- /*q3map_sun <red> <green> <blue> <intensity> <degrees> <elevation>*/
-
-}
-
-textures/stralenex1/stralenex5_2
-{
- qer_editorimage env/stralenex5/stralenex5_up.tga
-
- surfaceparm nolightmap
- surfaceparm noimpact
- surfaceparm nomarks
- surfaceparm sky
-
- skyparms env/stralenex5/stralenex5 - -
- q3map_surfacelight 180
- q3map_lightimage textures/stralenex5/stralenex5_up.tga
- q3map_sun .627 .525 0.392 450 60 13
- /*q3map_sun <red> <green> <blue> <intensity> <degrees> <elevation>*/
-
-}
-
-//copied from harlequin-sky.shader
-textures/harlequin_sky/strale_jf-nebula_sky
-{
- qer_editorimage textures/harlequin_sky/nebula_qer1.tga
- surfaceparm sky
- surfaceparm noimpact
- surfaceparm nolightmap
- surfaceparm nomarks
-
- skyparms textures/harlequin_sky/env/nebular - -
- q3map_surfacelight 45
-// note: Change the surfacelight value if you want more ambient light from the sky.
- q3map_sun 0.88 .71 .71 80 0 90
-// note: Change the fourth value (80) if you want a brighter or dimmer sun
-
-}
-
-textures/stralenex1/stralenex_trimlight
-{
- qer_editorimage textures/stralenex1/stralenex_trimlight.tga
- q3map_lightimage textures/stralenex1/stralenex_trimlight_glow.tga
- q3map_surfacelight 1800
- surfaceparm nomarks
- {
- map $lightmap
- rgbGen identity
- }
- {
- map textures/stralenex1/stralenex_trimlight.tga
- blendFunc GL_DST_COLOR GL_ZERO
- rgbGen identity
- }
- {
- map textures/stralenex1/stralenex_trimlight_glow.tga
- blendfunc GL_ONE GL_ONE
- rgbGen identityLighting
- }
-}
-
-textures/stralenex1/stralenex_roundlight
-{
- qer_editorimage textures/stralenex1/stralenex_roundlight.tga
- q3map_lightimage textures/stralenex1/stralenex_roundlight_glow.tga
- q3map_surfacelight 4000
- surfaceparm nomarks
- {
- map $lightmap
- rgbGen identity
- }
- {
- map textures/stralenex1/stralenex_roundlight.tga
- blendFunc GL_DST_COLOR GL_ZERO
- rgbGen identity
- }
- {
- map textures/stralenex1/stralenex_roundlight_glow.tga
- blendfunc GL_ONE GL_ONE
- rgbGen wave sin .3 .1 0 0.5
- }
-}
-
-textures/evil8_lights/e8trimlight
-{
- qer_editorimage textures/evil8_lights/e8trimlight.tga
- q3map_lightimage textures/evil8_lights/e8trimlight_glow.tga
- q3map_surfacelight 2000
- surfaceparm nomarks
- {
- map $lightmap
- rgbGen identity
- }
- {
- map textures/evil8_lights/e8trimlight.tga
- blendFunc GL_DST_COLOR GL_ZERO
- rgbGen identity
- }
- {
- map textures/evil8_lights/e8trimlight_glow.tga
- blendfunc GL_ONE GL_ONE
- rgbGen identityLighting
- }
-}
+textures/stralenex1/stralenex5_2
+{
+ qer_editorimage env/stralenex5/stralenex5_up.tga
+
+ surfaceparm nolightmap
+ surfaceparm noimpact
+ surfaceparm nomarks
+ surfaceparm sky
+
+ skyparms env/stralenex5/stralenex5 - -
+ q3map_surfacelight 180
+ q3map_lightimage textures/stralenex5/stralenex5_up.tga
+ q3map_sun .627 .525 0.392 450 60 13
+ /*q3map_sun <red> <green> <blue> <intensity> <degrees> <elevation>*/
+
+}
+
+//copied from harlequin-sky.shader
+textures/harlequin_sky/strale_jf-nebula_sky
+{
+ qer_editorimage textures/harlequin_sky/nebula_qer1.tga
+ surfaceparm sky
+ surfaceparm noimpact
+ surfaceparm nolightmap
+ surfaceparm nomarks
+
+ skyparms textures/harlequin_sky/env/nebular - -
+ q3map_surfacelight 45
+// note: Change the surfacelight value if you want more ambient light from the sky.
+ q3map_sun 0.88 .71 .71 80 0 90
+// note: Change the fourth value (80) if you want a brighter or dimmer sun
+
+}
+
+textures/stralenex1/stralenex_trimlight
+{
+ qer_editorimage textures/stralenex1/stralenex_trimlight.tga
+ q3map_lightimage textures/stralenex1/stralenex_trimlight_glow.tga
+ q3map_surfacelight 1800
+ surfaceparm nomarks
+ {
+ map $lightmap
+ rgbGen identity
+ }
+ {
+ map textures/stralenex1/stralenex_trimlight.tga
+ blendFunc GL_DST_COLOR GL_ZERO
+ rgbGen identity
+ }
+ {
+ map textures/stralenex1/stralenex_trimlight_glow.tga
+ blendfunc GL_ONE GL_ONE
+ rgbGen identityLighting
+ }
+}
+
+textures/stralenex1/stralenex_roundlight
+{
+ qer_editorimage textures/stralenex1/stralenex_roundlight.tga
+ q3map_lightimage textures/stralenex1/stralenex_roundlight_glow.tga
+ q3map_surfacelight 4000
+ surfaceparm nomarks
+ {
+ map $lightmap
+ rgbGen identity
+ }
+ {
+ map textures/stralenex1/stralenex_roundlight.tga
+ blendFunc GL_DST_COLOR GL_ZERO
+ rgbGen identity
+ }
+ {
+ map textures/stralenex1/stralenex_roundlight_glow.tga
+ blendfunc GL_ONE GL_ONE
+ rgbGen wave sin .3 .1 0 0.5
+ }
+}
+
+textures/evil8_lights/e8trimlight
+{
+ qer_editorimage textures/evil8_lights/e8trimlight.tga
+ q3map_lightimage textures/evil8_lights/e8trimlight_glow.tga
+ q3map_surfacelight 2000
+ surfaceparm nomarks
+ {
+ map $lightmap
+ rgbGen identity
+ }
+ {
+ map textures/evil8_lights/e8trimlight.tga
+ blendFunc GL_DST_COLOR GL_ZERO
+ rgbGen identity
+ }
+ {
+ map textures/evil8_lights/e8trimlight_glow.tga
+ blendfunc GL_ONE GL_ONE
+ rgbGen identityLighting
+ }
+}
Modified: branches/nexuiz-2.0/data/ultimate.cfg
===================================================================
--- branches/nexuiz-2.0/data/ultimate.cfg 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/ultimate.cfg 2007-05-04 13:20:37 UTC (rev 2484)
@@ -14,6 +14,7 @@
cl_particles_snow 1
cl_particles_sparks 1
gl_picmip 0
+r_picmipworld 0
gl_texture_anisotropy 16
r_bloom 1
r_coronas 1
@@ -31,4 +32,4 @@
r_shadow_realtime_world_dlightshadows 1
r_shadow_realtime_world_shadows 1
r_sky 1
-r_showsurfaces 0
\ No newline at end of file
+r_showsurfaces 0
Modified: branches/nexuiz-2.0/data/ultra.cfg
===================================================================
--- branches/nexuiz-2.0/data/ultra.cfg 2007-05-04 13:20:02 UTC (rev 2483)
+++ branches/nexuiz-2.0/data/ultra.cfg 2007-05-04 13:20:37 UTC (rev 2484)
@@ -14,6 +14,7 @@
cl_particles_snow 1
cl_particles_sparks 1
gl_picmip 0
+r_picmipworld 0
gl_texture_anisotropy 16
r_bloom 1
r_coronas 1
@@ -31,4 +32,4 @@
r_shadow_realtime_world_dlightshadows 1
r_shadow_realtime_world_shadows 1
r_sky 1
-r_showsurfaces 0
\ No newline at end of file
+r_showsurfaces 0
More information about the nexuiz-commits
mailing list