7 void TargetMusic_Advance()
9 // run AFTER all the thinks!
13 if(music_target && time < music_target.lifetime)
17 for(e = world; (e = findfloat(e, enttype, ENT_CLIENT_TRIGGER_MUSIC)); ) if(e.noise)
20 if(getsoundtime(e, CHAN_VOICE) < 0)
28 e.state = min(1, e.state + frametime / e.fade_time);
36 e.state = max(0, e.state - frametime / e.fade_rate);
43 sound(e, CHAN_VOICE, e.noise, e.volume * e.state * cvar("bgmvolume"), ATTN_NONE); // restart
45 sound(e, CHAN_VOICE, "", e.volume * e.state * cvar("bgmvolume"), ATTN_NONE);
48 music_trigger = world;
51 void Net_TargetMusic()
53 float vol, fai, fao, tim, id;
58 vol = ReadByte() / 255.0;
59 fai = ReadByte() / 16.0;
60 fao = ReadByte() / 16.0;
64 for(e = world; (e = findfloat(e, enttype, ENT_CLIENT_TRIGGER_MUSIC)); )
72 e.enttype = ENT_CLIENT_TRIGGER_MUSIC;
77 e.noise = strzone(noi);
80 precache_sound(e.noise);
81 sound(e, CHAN_VOICE, e.noise, 0, ATTN_NONE);
82 if(getsoundtime(e, CHAN_VOICE) < 0)
84 print("Cannot initialize sound ", e.noise, "\n");
86 e.noise = string_null;
101 e.lifetime = time + tim;
106 void Ent_TriggerMusic_Think()
108 if(WarpZoneLib_BoxTouchesBrush(view_origin, view_origin, self, world))
110 music_trigger = self;
112 self.nextthink = time;
115 void Ent_TriggerMusic_Remove()
118 strunzone(self.noise);
119 self.noise = string_null;
122 void Ent_ReadTriggerMusic()
129 self.origin_x = ReadCoord();
130 self.origin_y = ReadCoord();
131 self.origin_z = ReadCoord();
135 self.modelindex = ReadShort();
138 self.mins_x = ReadCoord();
139 self.mins_y = ReadCoord();
140 self.mins_z = ReadCoord();
141 self.maxs_x = ReadCoord();
142 self.maxs_y = ReadCoord();
143 self.maxs_z = ReadCoord();
148 self.maxs_x = ReadCoord();
149 self.maxs_y = ReadCoord();
150 self.maxs_z = ReadCoord();
153 self.volume = ReadByte() / 255.0;
154 self.fade_time = ReadByte() / 16.0;
155 self.fade_rate = ReadByte() / 16.0;
158 strunzone(self.noise);
159 self.noise = strzone(ReadString());
162 precache_sound(self.noise);
163 sound(self, CHAN_VOICE, self.noise, 0, ATTN_NONE);
164 if(getsoundtime(self, CHAN_VOICE) < 0)
166 print("Cannot initialize sound ", self.noise, "\n");
167 strunzone(self.noise);
168 self.noise = string_null;
173 setorigin(self, self.origin);
174 setsize(self, self.mins, self.maxs);
176 self.think = Ent_TriggerMusic_Think;
177 self.nextthink = time;