jdolan / quake2

Classic Quake II for Mac and Linux.
GNU General Public License v2.0
235 stars 26 forks source link

Implement an option to play original soundtrack from .ogg files #12

Open amayatsky opened 8 years ago

amayatsky commented 8 years ago

Hi!

Is it possible to play original game with a soundtrack? I do have a steam version, original cd iso and your engine is running on my mac computer.

Thank you in advance!

jdolan commented 8 years ago

Hi,

Unfortunately, no. OS X does not support the old-school CD audio playback API, where it was assumed that the CD-ROM had an analog audio cable connected to the soundcard. Remember those days? Anyway, Apple hasn't shipped optical drives in this configuration for a decade or more, so there's an actual hardware limitation to making the older code work as well. In short, it's impossible for the old linux CD-ROM code that is included in this codebase to function on OS X.

What would be an option, is lifting the music playback code from Quetoo, and then providing folks with a shell script to rip the original CD audio to .ogg or .mp3 in the Quake2 directory. That would work on both Linux and OS X, as well. I don't have time to do this at the moment, but I would accept patches. The code from Quetoo that handles music playback is here:

https://github.com/jdolan/quetoo/blob/master/src/client/sound/s_music.c

amayatsky commented 8 years ago

Yep, I do remember those days, but for me it was a Windows PC not an OS X one. I thought this repository contains Quetoo ported to OS X for some reason. Unfortunately I am not good at C, so feel free to close this request if there is no chance it is going to be implemented. By the way, does the Quetoo loads music the same way as the QuakeForge? http://www.quakeforge.net/doxygen/tracklist.html I see it is mentioned in the source code you've provided.

jdolan commented 8 years ago

This repository is Quake2 for Mac and Linux. It's based on AprQ2, which was a popular Quake2-compatible source port around 10-12 years ago.

Quetoo was originally based on Quake2Forge, which was a somewhat short-lived effort by the QuakeForge project to clean up the Quake2 code. Quetoo is a standalone game, however. It is not Quake2-compatible, but rather, a complete game unto itself. You should give it a whirl :)

I'll leave this issue open in case someone comes along and wants to try porting my music code to good old Quake2.