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.)
QuakeLive, path_corners, and speakers (oh my)
-
- Posts: 179
- Joined: Tue Nov 16, 1999 8:00 am
Re: QuakeLive, path_corners, and speakers (oh my)
If it's crashing the game, it sounds like a bug in the QL game code. I suppose there isn't a fix unless you can happen to really poke someone at id Software hard enough to get them to fix it (highly unlikely).
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
Re: QuakeLive, path_corners, and speakers (oh my)
Sounds like the sounds are played at constant intervals? Couldn't you just set up one or multiple func_timer entities to trigger the speakers?
-
- Posts: 179
- Joined: Tue Nov 16, 1999 8:00 am
Re: QuakeLive, path_corners, and speakers (oh my)
I can set up other things to trigger them, yep, but I'm somewhat concerned that the speakers would eventually got out of sync with the train timing if the map ran for a long time. Probably it wouldn't, but it's not the solution I'd prefer if I had a choice.
BTW if any QL map comes to mind that seems to be doing something similar, please name-drop it so that I can rummage around in its entities.
BTW if any QL map comes to mind that seems to be doing something similar, please name-drop it so that I can rummage around in its entities.
Re: QuakeLive, path_corners, and speakers (oh my)
Can you use something else between the path_corner of the train and the target_speaker? Or does that still crash?
For example:
path_corner ---> target_relay ---> target_speaker
For example:
path_corner ---> target_relay ---> target_speaker
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
-
- Posts: 179
- Joined: Tue Nov 16, 1999 8:00 am
Re: QuakeLive, path_corners, and speakers (oh my)
Still crashes in the case where there's a target_delay in there.
Re: QuakeLive, path_corners, and speakers (oh my)
Q3 electronics by means of shooter_plasma and physical extended part of train away hidden in another part of the map.
-
- Posts: 179
- Joined: Tue Nov 16, 1999 8:00 am
Re: QuakeLive, path_corners, and speakers (oh my)
That would be hilarious, but certainly over my effort threshhold for how much I care about this.
At this point I'm happy to fiddle with changing/adding/removing point entities, but I'm not going to make any changes that require re-bsp'ing or re-lighting the map.
