Long overdue tenebrae2 progs update :)

This commit is contained in:
cholleme 2003-11-10 10:47:12 +00:00
parent e5a55b2f7e
commit f295f7ec3a
7 changed files with 3690 additions and 3699 deletions

View file

@ -943,10 +943,8 @@ void() PlayerPreThink =
if (!self.flashlight) {
self.flashlight = spawn ();
setmodel(self.flashlight, "progs/w_light.spr");
self.flashlight.velocity = '0 0 0';
setmodel(self.flashlight, "progs/flashlight.spr");
self.flashlight.style = 0;
self.flashlight.skin = 24;
self.flashlight.color = '1 1 1';
@ -957,6 +955,7 @@ void() PlayerPreThink =
flatforward = normalize(v_forward);
flatforward_z = 0;
source = self.origin + flatforward * 20;
source_z = source_z + 20;
setorigin(self.flashlight, source);
// traceline (source, source + v_forward*4096, FALSE, self);
// setorigin(self.flashlight, trace_endpos - v_forward*100);

10
defs.qc
View file

@ -700,10 +700,12 @@ string(string s) precache_sound2 = #76; // registered version only
string(string s) precache_file2 = #77; // registered version only
void(entity e) setspawnparms = #78; // set parm1... to the
// values at level start
// for coop respawn
//PENTA: set the portal between area1 and area2 to the open parameter (0=closed, 1=open)
void(float area1, float area2, float open ) setareaportalstate = #79;
// values at level start
// for coop respawn
void(vector o, float pcount,string effectname) BasicEmitter = #79;
void(vector o, vector v, float pcount,float tick,float life,string effectname) ExtendedEmitter = #80;
void(float area1, float area2, float open ) setareaportalstate = #81;
//============================================================================

14
misc.qc
View file

@ -32,24 +32,28 @@ void() light_use =
}
};
/*
Penta: These are never used by the engine. They're the map compiler's problem.
*/
void() light = {
remove(self);
};
/*QUAKED light (0 1 0) (-8 -8 -8) (8 8 8) START_OFF
Non-displayed light.
Default light value is 300
Default style is 0
If targeted, it will toggle between on or off.
*/
void() light =
void() rt_light =
{
local entity client;
precache_model ("progs/w_light.spr");
setmodel (self, "progs/w_light.spr");
if (self.spawnflags & 2048) {
makestatic(self);
} else
if (!self.targetname)
{ // inert light
{ //it will be loaded on the client side
remove(self);
return;
}

View file

@ -55,7 +55,7 @@ void() misc_model =
// makestatic(self);
// }
//} else {
if (self.button0) {
if (self.button1) {
self.think = next_frame;
self.nextthink = self.ltime + 0.1;
self.frame = self.button0;

21
subs.qc
View file

@ -315,29 +315,14 @@ void (void() thinkst) SUB_CheckRefire =
self.think = thinkst;
};
//PENTA: new particle support
//PENTA: new particle support, Fix don't overflow network packets when user spawns to much particles
void (entity ent, float pcount, string effectname) SUB_BasicEmitter =
{
WriteByte (MSG_BROADCAST, SVC_BASICEMITTER);
WriteCoord (MSG_BROADCAST, ent.origin_x);
WriteCoord (MSG_BROADCAST, ent.origin_y);
WriteCoord (MSG_BROADCAST, ent.origin_z);
WriteByte (MSG_BROADCAST, pcount);
WriteString(MSG_BROADCAST, effectname);
BasicEmitter(ent.origin, pcount, effectname);
};
//PENTA: new particle support
void (entity ent, float pcount, float tick, float life, string effectname) SUB_ExtendedEmitter =
{
WriteByte (MSG_BROADCAST, SVC_EXTENDEDEMITTER);
WriteCoord (MSG_BROADCAST, ent.origin_x);
WriteCoord (MSG_BROADCAST, ent.origin_y);
WriteCoord (MSG_BROADCAST, ent.origin_z);
WriteCoord (MSG_BROADCAST, ent.velocity_x);
WriteCoord (MSG_BROADCAST, ent.velocity_y);
WriteCoord (MSG_BROADCAST, ent.velocity_z);
WriteByte (MSG_BROADCAST, pcount);
WriteLong (MSG_BROADCAST, life*100);
WriteLong (MSG_BROADCAST, tick*100);
WriteString(MSG_BROADCAST, effectname);
ExtendedEmitter(ent.origin, ent.velocity, pcount, tick, life, effectname);
};

View file

@ -336,6 +336,7 @@ void() BecomeExplosion =
self.color = '1 0.75 0.5';
self.light_lev = 300;
s_explode1 ();
SUB_BasicEmitter(self.origin_x,self.origin_y,self.origin_z,10,"pt_explodecloud");
};
void() T_MissileTouch =

View file

@ -287,7 +287,7 @@ void() worldspawn =
precache_model ("progs/zom_gib.mdl");
precache_model ("progs/v_light.mdl");
precache_model ("progs/flashlight.spr");
//
// Setup light animation tables. 'a' is total darkness, 'z' is maxbright.