[nexuiz-commits] r6493 - in trunk/data/qcsrc: client server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Wed Apr 15 19:10:23 EDT 2009
Author: div0
Date: 2009-04-15 19:10:22 -0400 (Wed, 15 Apr 2009)
New Revision: 6493
Modified:
trunk/data/qcsrc/client/particles.qc
trunk/data/qcsrc/server/g_triggers.qc
Log:
some entity field name improvements for bgmscript
Modified: trunk/data/qcsrc/client/particles.qc
===================================================================
--- trunk/data/qcsrc/client/particles.qc 2009-04-15 22:41:07 UTC (rev 6492)
+++ trunk/data/qcsrc/client/particles.qc 2009-04-15 23:10:22 UTC (rev 6493)
@@ -49,7 +49,8 @@
.float volume;
.float absolute;
.vector movedir; // trace direction
-.string message; // script stuff
+.string bgmscript;
+.float bgmscriptdecay;
float pointparticles_scriptbuf;
float pointparticles_scriptbufsize;
@@ -57,7 +58,7 @@
void PointparticlesScript_Init()
{
string s;
- float fh, i;
+ float fh;
pointparticles_scriptbuf = pointparticles_scriptbufsize = 0;
pointparticles_scriptbufloaded = 1;
s = strcat("maps/", mi_shortname, ".pp");
@@ -79,7 +80,7 @@
.float scripttime;
void PointparticlesScript_InitEntity(entity e)
{
- if(e.message != "")
+ if(e.bgmscript != "")
{
if(!pointparticles_scriptbufloaded)
PointparticlesScript_Init();
@@ -88,36 +89,33 @@
float i;
e.scriptline0 = -1;
- mychar = substring(e.message, 0, 1);
for(i = 0; i < pointparticles_scriptbufsize; ++i)
{
tokenize_sane(bufstr_get(pointparticles_scriptbuf, i));
- if(argv(0) == mychar)
+ if(argv(0) == e.bgmscript)
break;
}
e.scriptline = e.scriptline0 = i;
if(i >= pointparticles_scriptbufsize)
{
print("func_pointparticles: script does not define ", mychar, "\n");
- e.message = "";
+ e.bgmscript = "";
}
}
}
float PointparticlesScript(entity e)
{
- string l;
- string mychar;
- float mymult;
float t;
- if(e.message == "")
+ if(e.bgmscript == "")
return 1;
+
+ if(cvar("bgmvolume") <= 0)
+ return 0.5;
e.scriptstate = !!e.scriptstate; // turns 0 to 0 and 2 to 1
- mychar = substring(e.message, 0, 1);
- mymult = stof(substring(e.message, 1, -1));
t = gettime(GETTIME_CDTRACK);
tokenize_sane(bufstr_get(pointparticles_scriptbuf, e.scriptline));
@@ -128,7 +126,7 @@
tokenize_sane(bufstr_get(pointparticles_scriptbuf, e.scriptline));
}
- if(argv(0) != mychar)
+ if(argv(0) != e.bgmscript)
{
e.scriptstate = 0; // end of script, will revert to beginning later
}
@@ -142,10 +140,10 @@
if(e.scriptstate)
{
- if(mymult >= 1)
+ if(e.bgmscriptdecay >= 1)
return (e.scriptstate == 2);
else
- return pow(0.5, (t - e.scripttime) * (mymult / (1 - mymult)));
+ return pow(0.5, (t - e.scripttime) * (e.bgmscriptdecay / (1 - e.bgmscriptdecay)));
}
else
return 0;
@@ -202,9 +200,9 @@
if(self.noise)
strunzone(self.noise);
self.noise = string_null;
- if(self.message)
- strunzone(self.message);
- self.message = string_null;
+ if(self.bgmscript)
+ strunzone(self.bgmscript);
+ self.bgmscript = string_null;
}
void Ent_PointParticles()
@@ -257,9 +255,11 @@
self.atten = ReadByte() / 64.0;
self.volume = ReadByte() / 255.0;
}
- if(self.message)
- strunzone(self.message);
- self.message = strzone(ReadString());
+ if(self.bgmscript)
+ strunzone(self.bgmscript);
+ self.bgmscript = strzone(ReadString());
+ if(self.bgmscript != "")
+ self.bgmscriptdecay = ReadByte() / 255.0;
PointparticlesScript_InitEntity(self);
}
Modified: trunk/data/qcsrc/server/g_triggers.qc
===================================================================
--- trunk/data/qcsrc/server/g_triggers.qc 2009-04-15 22:41:07 UTC (rev 6492)
+++ trunk/data/qcsrc/server/g_triggers.qc 2009-04-15 23:10:22 UTC (rev 6493)
@@ -554,6 +554,8 @@
self.effects = EF_STARDUST;
}
+.string bgmscript;
+.float bgmscriptdecay;
float pointparticles_SendEntity(entity to, float fl)
{
WriteByte(MSG_ENTITY, ENT_CLIENT_POINTPARTICLES);
@@ -602,7 +604,9 @@
WriteByte(MSG_ENTITY, floor(self.atten * 64));
WriteByte(MSG_ENTITY, floor(self.volume * 255));
}
- WriteString(MSG_ENTITY, self.message);
+ WriteString(MSG_ENTITY, self.bgmscript);
+ if(self.bgmscript != "")
+ WriteByte(MSG_ENTITY, floor(self.bgmscriptdecay * 255));
}
return 1;
}
More information about the nexuiz-commits
mailing list