geraintwd (pending approval)
Guest
|
Post by geraintwd (pending approval) on Feb 13, 2020 4:41:16 GMT -5
Hi there Mr. 'mare I've been using KMQ2 for a while now, building and testing my own SP map, and it looks great and plays well. I've found that the Lazarus misc_actor isn't quite as smart as advertised, but I've accepted that and moved on. The reason for this post is to enquire about anomalous behaviour of the Lazarus target_playback entity under KMQ2. Target_playback is supposed to function similarly to the target_speaker, while extending it to support MP3 and other file formats and adding other features. I've built up a little library of sound effects, which are in MP3 format. I've set up a few target_playback entities in my map that play these files but they don't play in KMQ2. I've tested under vanilla Q2 and Yamagi and the sounds play correctly. Lazarus provides a couple of console commands to test this functionality, e.g. playsound. None of these commands are recognised under KMQ2 - they come up as player "speech" instead. Again, these commands work as expected under vanilla and Yamagi. I'm wondering whether perhaps the FMOD integration in Lazarus has somehow been disabled, or implemented in a different way, under KMQ2. It's not due to me not having the FMOD.dll, or it wouldn't work in other versions of the engine. I'm on my phone at work right now, but let me know if you need more info or for me to test anything. Thanks for your time and for making a great Q2 port! Geraint
|
|
|
Post by knightmare on Feb 13, 2020 5:07:23 GMT -5
First off, it's great to see a SPQ2 map being made for KMQ2! Unfortunately, I had to completely remove target_playback from KMQ2's Lazarus codebase due to license issues with FMOD's plugin code and the GPL It still exists in the Xatrix/Rogue missionpack support DLL, but the currently released version of that lacks func_reflect support. There will be a new release of that DLL with func_reflect support along with the upcoming 0.20 update 8 (no, I can't just give you the new DLL, as it won't work with 0.20 update 7).
|
|
geraintwd (pending approval)
Guest
|
Post by geraintwd (pending approval) on Feb 13, 2020 5:36:44 GMT -5
Hey there, thanks for the quick reply! Yeah, it's been a couple of decades since my last map but the first map of my new project is nearly ready for playtesting.
I'm not planning to use func_reflect so, if I was to distribute my map, would other users be able to play it and hear the sounds if they use the mission pack dll instead of the lazarus one? Sorry I don't know much about the technical aspects!
Cheers! G
|
|
|
Post by knightmare on Feb 13, 2020 13:54:09 GMT -5
Yes they would. You should include the missionpack kmq2gamex86.dll alongside the vanilla Q2 Lazarus DLL.
|
|
|
Post by geraintwd on Feb 13, 2020 15:18:33 GMT -5
AWESOME DUDE!!!! Yeah, I copied the dll from the Xatrix folder to the Lazarus folder and the target_playbacks all work fine now (after setting s_primary to 0 and doing a sound_restart). Thanks for your help! I'll post up a link in the new maps forum when my map releases. If you want I can DM you when it's ready for playtesting too? Might be worth adding this little nugget to the FAQ too Cheers G
|
|
|
Post by knightmare on Feb 13, 2020 15:29:59 GMT -5
Sure, go ahead. I might have my next KMQ2 update ready by then, so you would want to use the updated missionpack DLL.
|
|
|
Post by geraintwd on Feb 13, 2020 15:34:12 GMT -5
Good to know... hey, I just realised that there's another Lazarus feature other than func_reflect that doesn't seem to work with the MP dll either, that being the health key for the info_player_start. It so happens that I was planning to have my player start with only 75 health, but running with the MP dll seems to ignore that key/value and resets to the default 100. EDIT: Just discovered another potential issue... I had a target_speaker with the attenuation set to -2 (Activator only) and, as soon as it fired, it would instantly CTD, giving an error about this attenuation value. As soon as I change it to something else, the crashing stops. EDIT2: This was the exact error message: ==== ShutdownGame ====
SV_StartSound: attenuation = -2.000000
Not in any way complaining - I'm so happy I can use the mp3s I got. Just letting you know Thanks again
|
|
|
Post by geraintwd on Feb 13, 2020 17:04:38 GMT -5
Hey, one more for tonight... I'm using the Lazarus target_monitor as a remote camera at a couple of points in my map. I've noticed that, when using the mission pack dll, the monsters now attack the target_monitor (as I understand it, it's actually the player, teleported to the location of the monitor, is that right?) where they didn't before. With the vanilla KMQ2 Lazarus dll, the monsters ignore it. If I find any more anomalies with the MP dll, I'll start a new thread
|
|
|
Post by knightmare on Feb 13, 2020 18:53:03 GMT -5
The released version of that DLL is really old (about 12 years), and I think I already fixed monsters attacking the player-controlled camera. At least, the same func_monitor checks for monsters are there as in the Lazarus code.
Good find on the target_speaker attenuation and player_start health, though.
|
|
|
Post by geraintwd on Feb 14, 2020 5:50:46 GMT -5
Interesting, glad you were aware of at least one of those then I'm hoping to have my map ready for playtesting by the end of Feb, is there any chance you might have a build kicking around that supports both the fmod playback of mp3s and fixes the monsters getting mad at the target_monitor? No drama if not, just means I'll have to stick with the vanilla Q2 sounds or do some serious trimming of the custom sounds so that they will play off a target_speaker. Cheers!
|
|
DvSD
Quake 2 Mapping Club
Catching up on sleep, having a good drunk.
Posts: 171
|
Post by DvSD on Feb 14, 2020 11:15:58 GMT -5
I like the way you think and are going about this sp map your creating, its not often I get real curious with just a couple of words scattered in a thread and start picturing it my mind. I'm looking forward to seeing the final product, hope in the end you can create it the way it has been envisioned.
|
|
|
Post by knightmare on Feb 14, 2020 13:12:15 GMT -5
|
|
|
Post by geraintwd on Feb 14, 2020 16:14:15 GMT -5
That's awesome! As long as you're happy for me to distribute with my map when it's ready?
I have just come across another issue related to the target_playback. This is weird, because it didn't come up last night when I was testing it and I haven't changed much since then (other than adding a few more target_speakers and target_playbacks).
My map starts up and starts playing a target_playback that's set to start on. This only lasts for a couple of seconds though, before it starts spitting out the following error (about 12-13 times) on the console:
FSOUND_SetVolume failed, error code=14, channel=4097 As mentioned, after about 12 or 13 lines of this (exactly the same text), it stops and the target_playback is silenced.
Also, if I try to run my map again from the console after it's loaded the first time, instead of restarting the map, I get a CTD.
Any ideas?
|
|
|
Post by geraintwd on Feb 14, 2020 16:20:14 GMT -5
I like the way you think and are going about this sp map your creating, its not often I get real curious with just a couple of words scattered in a thread and start picturing it my mind. I'm looking forward to seeing the final product, hope in the end you can create it the way it has been envisioned. Well if you want to go back and play my older maps while you're waiting, there's a video of them here along with download links in the description www.youtube.com/watch?v=JHxQ2rGi5IoEnjoy!
|
|
|
Post by knightmare on Feb 14, 2020 16:54:30 GMT -5
From looking at the target_playback source, that appears to be an error in fmod.dll, which as it's closed-source, can't be debugged. Possibly it doesn't like the sound file, which could have been corrupted. Or you're using multiple target_playbacks at once.
Honestly, Lazarus's target_playback is a gross hack that circumvents Q2's client/server architecture and only works in single player. It won't work in future 64-bit or Linux/Mac builds of KMQ2 either. It's included mainly for backward compatibility with existing Lazarus maps. I plan to replace its functionality with expanded Ogg Vorbis support in the future.
EDIT: I see that the Frauenhofer MP3 patents expired almost 3 years ago. So I will likely add MP3 support to KMQ2 via open source libraries in the near future as well.
|
|