QuakeLive, path_corners, and speakers (oh my)
Posted: Thu Sep 26, 2013 3:26 am
This was among a few questions I posted to the QL mapping forum a few days ago ( http://www.quakelive.com/forum/showthre ... ons-galore ) but it seems pretty dead in there, so I hope no one minds if I run it through Q3World too.
I had the urge to try to run some of my old maps in QL. Various issues popped up, but one weird one in particular that would be icky to try to work around:
q3wcp15 has several path_corner loops that have func_trains rolling around them. Some of those path_corners trigger speaker entities. I don't think this is a super-common usage, but it's nothing illegal… the ReachedTrain function calls G_UseTargets to explicitly do that triggering.
Anyway that setup works fine in Q3. But in QL, it causes qagamex86.dll to crash with an access violation.
Anyone know why that might be? It's not the speakers or the sounds themselves, because they play fine when triggered by other means.
The train setups are cosmetic and can't be blocked by players, so I can work around this issue by unlinking the speakers from the trains and instead triggering them off of other chains of target_delays/target_relays (started up by a trigger_always), with the delays set so that they play when the trains hit the corners as usual. But that feels kind of gross. I also wouldn't be surprised if it eventually got out of sync with the train timing if the map ran for a long time. So I'd rather not have to do things that way.
(After fooling around with the Quake games for so many years, it's kind of frustrating to hit something like this with QuakeLive since it's closed-source.)
I had the urge to try to run some of my old maps in QL. Various issues popped up, but one weird one in particular that would be icky to try to work around:
q3wcp15 has several path_corner loops that have func_trains rolling around them. Some of those path_corners trigger speaker entities. I don't think this is a super-common usage, but it's nothing illegal… the ReachedTrain function calls G_UseTargets to explicitly do that triggering.
Anyway that setup works fine in Q3. But in QL, it causes qagamex86.dll to crash with an access violation.
Anyone know why that might be? It's not the speakers or the sounds themselves, because they play fine when triggered by other means.
The train setups are cosmetic and can't be blocked by players, so I can work around this issue by unlinking the speakers from the trains and instead triggering them off of other chains of target_delays/target_relays (started up by a trigger_always), with the delays set so that they play when the trains hit the corners as usual. But that feels kind of gross. I also wouldn't be surprised if it eventually got out of sync with the train timing if the map ran for a long time. So I'd rather not have to do things that way.
(After fooling around with the Quake games for so many years, it's kind of frustrating to hit something like this with QuakeLive since it's closed-source.)