Long overdue tenebrae2 progs update :)
This commit is contained in:
parent
e5a55b2f7e
commit
f295f7ec3a
7 changed files with 3690 additions and 3699 deletions
|
@ -943,10 +943,8 @@ void() PlayerPreThink =
|
||||||
|
|
||||||
if (!self.flashlight) {
|
if (!self.flashlight) {
|
||||||
self.flashlight = spawn ();
|
self.flashlight = spawn ();
|
||||||
|
|
||||||
setmodel(self.flashlight, "progs/w_light.spr");
|
|
||||||
self.flashlight.velocity = '0 0 0';
|
self.flashlight.velocity = '0 0 0';
|
||||||
|
setmodel(self.flashlight, "progs/flashlight.spr");
|
||||||
self.flashlight.style = 0;
|
self.flashlight.style = 0;
|
||||||
self.flashlight.skin = 24;
|
self.flashlight.skin = 24;
|
||||||
self.flashlight.color = '1 1 1';
|
self.flashlight.color = '1 1 1';
|
||||||
|
@ -957,6 +955,7 @@ void() PlayerPreThink =
|
||||||
flatforward = normalize(v_forward);
|
flatforward = normalize(v_forward);
|
||||||
flatforward_z = 0;
|
flatforward_z = 0;
|
||||||
source = self.origin + flatforward * 20;
|
source = self.origin + flatforward * 20;
|
||||||
|
source_z = source_z + 20;
|
||||||
setorigin(self.flashlight, source);
|
setorigin(self.flashlight, source);
|
||||||
// traceline (source, source + v_forward*4096, FALSE, self);
|
// traceline (source, source + v_forward*4096, FALSE, self);
|
||||||
// setorigin(self.flashlight, trace_endpos - v_forward*100);
|
// setorigin(self.flashlight, trace_endpos - v_forward*100);
|
||||||
|
|
6
defs.qc
6
defs.qc
|
@ -702,8 +702,10 @@ string(string s) precache_file2 = #77; // registered version only
|
||||||
void(entity e) setspawnparms = #78; // set parm1... to the
|
void(entity e) setspawnparms = #78; // set parm1... to the
|
||||||
// values at level start
|
// values at level start
|
||||||
// for coop respawn
|
// 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;
|
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
14
misc.qc
|
@ -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
|
/*QUAKED light (0 1 0) (-8 -8 -8) (8 8 8) START_OFF
|
||||||
Non-displayed light.
|
Non-displayed light.
|
||||||
Default light value is 300
|
Default light value is 300
|
||||||
Default style is 0
|
Default style is 0
|
||||||
If targeted, it will toggle between on or off.
|
If targeted, it will toggle between on or off.
|
||||||
*/
|
*/
|
||||||
void() light =
|
void() rt_light =
|
||||||
{
|
{
|
||||||
local entity client;
|
local entity client;
|
||||||
|
|
||||||
precache_model ("progs/w_light.spr");
|
precache_model ("progs/w_light.spr");
|
||||||
setmodel (self, "progs/w_light.spr");
|
setmodel (self, "progs/w_light.spr");
|
||||||
|
|
||||||
if (self.spawnflags & 2048) {
|
|
||||||
makestatic(self);
|
|
||||||
} else
|
|
||||||
if (!self.targetname)
|
if (!self.targetname)
|
||||||
{ // inert light
|
{ //it will be loaded on the client side
|
||||||
remove(self);
|
remove(self);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,7 +55,7 @@ void() misc_model =
|
||||||
// makestatic(self);
|
// makestatic(self);
|
||||||
// }
|
// }
|
||||||
//} else {
|
//} else {
|
||||||
if (self.button0) {
|
if (self.button1) {
|
||||||
self.think = next_frame;
|
self.think = next_frame;
|
||||||
self.nextthink = self.ltime + 0.1;
|
self.nextthink = self.ltime + 0.1;
|
||||||
self.frame = self.button0;
|
self.frame = self.button0;
|
||||||
|
|
21
subs.qc
21
subs.qc
|
@ -315,29 +315,14 @@ void (void() thinkst) SUB_CheckRefire =
|
||||||
self.think = thinkst;
|
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 =
|
void (entity ent, float pcount, string effectname) SUB_BasicEmitter =
|
||||||
{
|
{
|
||||||
WriteByte (MSG_BROADCAST, SVC_BASICEMITTER);
|
BasicEmitter(ent.origin, pcount, effectname);
|
||||||
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);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//PENTA: new particle support
|
//PENTA: new particle support
|
||||||
void (entity ent, float pcount, float tick, float life, string effectname) SUB_ExtendedEmitter =
|
void (entity ent, float pcount, float tick, float life, string effectname) SUB_ExtendedEmitter =
|
||||||
{
|
{
|
||||||
WriteByte (MSG_BROADCAST, SVC_EXTENDEDEMITTER);
|
ExtendedEmitter(ent.origin, ent.velocity, pcount, tick, life, effectname);
|
||||||
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);
|
|
||||||
};
|
};
|
|
@ -336,6 +336,7 @@ void() BecomeExplosion =
|
||||||
self.color = '1 0.75 0.5';
|
self.color = '1 0.75 0.5';
|
||||||
self.light_lev = 300;
|
self.light_lev = 300;
|
||||||
s_explode1 ();
|
s_explode1 ();
|
||||||
|
SUB_BasicEmitter(self.origin_x,self.origin_y,self.origin_z,10,"pt_explodecloud");
|
||||||
};
|
};
|
||||||
|
|
||||||
void() T_MissileTouch =
|
void() T_MissileTouch =
|
||||||
|
|
2
world.qc
2
world.qc
|
@ -287,7 +287,7 @@ void() worldspawn =
|
||||||
precache_model ("progs/zom_gib.mdl");
|
precache_model ("progs/zom_gib.mdl");
|
||||||
|
|
||||||
precache_model ("progs/v_light.mdl");
|
precache_model ("progs/v_light.mdl");
|
||||||
|
precache_model ("progs/flashlight.spr");
|
||||||
|
|
||||||
//
|
//
|
||||||
// Setup light animation tables. 'a' is total darkness, 'z' is maxbright.
|
// Setup light animation tables. 'a' is total darkness, 'z' is maxbright.
|
||||||
|
|
Loading…
Reference in a new issue