luxtorpeda-dev / packages

Package build scripts and support for luxtorpeda client
https://luxtorpeda.org
zlib License
37 stars 28 forks source link

vkQuake engine built without MP3 support? #919

Closed Bisc0tt1 closed 1 year ago

Bisc0tt1 commented 1 year ago

Game

Quake

Engine

vkquake

Linux Distribution

Arch Linux

Luxtorpeda Version

v63

Bug description

Hi,

This isn't so much a bug report as it is a question. I was troubleshooting why vkQuake is unable to play MP3 files, which a lot of map packs that use external music make use of, and noticed that in the build script for the package the following flag is passed to the make command: USE_CODEC_MP3=0. That would explain the lack of MP3 support in vkQuake, but this seems to have been a deliberate decision, as Quakespasm-spiked isn't built with this flag and the build instructions in the vkQuake readme mention nothing of this.

Steps To Reproduce

  1. Install the vkquake package
  2. Play any map pack that uses MP3 files for playing external music (Alkaline in my case)
  3. Notice the 'Couldn't find cdrip for track[xx]' when loading into a map that uses an MP3 file as BGM or 'unhandled extension' errors when trying to manually play said track.

Expected Behavior

vkQuake can handle MP3 files

Additional Context

No response

Relevant log output

No response

d10sfan commented 1 year ago

Thanks for the report!

Not directly related to this, but it seems like vkquake is no longer in active development: https://github.com/Novum/vkQuake/discussions/691

I'm not sure why the mp3 codec is off, that has been there since the beginning, and may have been a compatibility measure for an older runtime we were using. I've updated it, and added the libmad dep, so vkquake should work with mp3s now.

Out of curiosity, are you able to play the way you want in ironwail? I'm not going to remove vkquake, but I'll probably add a notice that it's no longer in active development.

Bisc0tt1 commented 1 year ago

And thank you very much for the quick fix! My preferred way of playing would be through Quake Injector, which Luxtorpeda uses vkQuake for, and that's how I noticed the issue.

I had never heard of ironwail until you mentioned it here, but after trying out the provided package the out of the box experience was perfect.

Truly a shame the lead developer of vkQuake gave up on it, but if it's dead it might not be a bad idea to consider an eventual replacement for the engine used in the Quake Injector package as well. After reading into ironwail some more it seems to be shaping up to be a great project, and I can totally see it becoming the de facto standard at one point! That said, in terms of overall compatibility I reckon vkQuake still comes out on top as of now by virtue of being a more mature and feature complete project. The fact it's the only sourceport to make use of Vulkan for its rendering backend will continue to be a very compelling argument as well, of course :)

EDIT: I just noticed the packages metadata was already updated to use ironwail for Quake Injector, my bad!

d10sfan commented 1 year ago

@Bisc0tt1 Funny you mentioned that, I was working on some changes for quake injector for an option to use ironwail, that's live now as well, so you should be able to use that as well! :)

Glad the fix is working well for you!