Makaqu 1.5.1
-
- Insane DCEmu
- Posts: 253
- https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
- Joined: Thu Feb 06, 2003 10:43 am
- Has thanked: 1 time
- Been thanked: 0
- mankrip
- DCEmu Ex-Mod
- Posts: 3712
- Joined: Sun Nov 04, 2001 5:12 pm
- Has thanked: 0
- Been thanked: 0
- Contact:
The biggest problem with OGG music is that it slows the engine down too much (3 FPS IIRC).
There is code in the nxMakaqu 1.0 source for playing OGG music instead of CD audio tracks, but it wasn't compiled in the binary for several reasons. Besides the drop in framerate mentioned above, it isn't compatible with SDL audio, it can't load OGG files contained in PAK files, and it can't play OGG files instead of WAV files (a feature used by mods like Codename: Envenom and TAoV).
Of course, all of these problems (except the FPS drop) could be solved, but it would take too much work. Last year I took a look at other engines to see how they implement all this, and I found out that most of the sound support had been rewritten.
There is code in the nxMakaqu 1.0 source for playing OGG music instead of CD audio tracks, but it wasn't compiled in the binary for several reasons. Besides the drop in framerate mentioned above, it isn't compatible with SDL audio, it can't load OGG files contained in PAK files, and it can't play OGG files instead of WAV files (a feature used by mods like Codename: Envenom and TAoV).
Of course, all of these problems (except the FPS drop) could be solved, but it would take too much work. Last year I took a look at other engines to see how they implement all this, and I found out that most of the sound support had been rewritten.
-
- DC Developer
- Posts: 9951
- Joined: Sun Dec 30, 2001 9:02 am
- Has thanked: 0
- Been thanked: 1 time
Actually, I can get Ogg Vorbis support working with the existing sound system using the Dreamcast's hardware sound mixing, and getting it to read from PAK files isn't too difficult. I have a version of Quake 1 sitting on my hard drive that I've been playing with, which can play Ogg Vorbis music from inside a zip file or a PAK file. I also did the same thing to Quake 3 (the icculus.org version uses my OpenAL sound system, and my audio loading code which allows it to use Ogg Vorbis and MP3 music and sound effects).
The FPS drop would be OK if we could get hardware rendering going. I had a look over your last Makaqu source release, but I couldn't even get the PC OpenGL version compiling anymore.
The FPS drop would be OK if we could get hardware rendering going. I had a look over your last Makaqu source release, but I couldn't even get the PC OpenGL version compiling anymore.
- mankrip
- DCEmu Ex-Mod
- Posts: 3712
- Joined: Sun Nov 04, 2001 5:12 pm
- Has thanked: 0
- Been thanked: 0
- Contact:
That sounds awesome, specially if the "read from PAK files" part also means streaming. By the way, do you mean you could write a hardware-based sound driver to replace the SDL one in Quake?
I tried to get the OpenGL renderer working some months ago, but I couldn't get it to compile too. Maybe I'll look into it after releasing the next version.
I tried to get the OpenGL renderer working some months ago, but I couldn't get it to compile too. Maybe I'll look into it after releasing the next version.
-
- DC Developer
- Posts: 9951
- Joined: Sun Dec 30, 2001 9:02 am
- Has thanked: 0
- Been thanked: 1 time
It's possible to run more than one sound stream independently, so you can have Quake's software mixer in addition to the Vorbis stream, and those two are mixed in hardware.
I did write a hardware sound system for Quake once. Didn't work too well - it kept running out of sound memory. It's probably fixable, but it'd have to take a far more intelligent approach to sound loading and caching than my previous attempt did.
Getting the Vorbis files working from inside a PAK file also required a couple of changes to Quake's filesystem code (mostly common.c) to allow multiple files to be open at once.
I did write a hardware sound system for Quake once. Didn't work too well - it kept running out of sound memory. It's probably fixable, but it'd have to take a far more intelligent approach to sound loading and caching than my previous attempt did.
Getting the Vorbis files working from inside a PAK file also required a couple of changes to Quake's filesystem code (mostly common.c) to allow multiple files to be open at once.
- mankrip
- DCEmu Ex-Mod
- Posts: 3712
- Joined: Sun Nov 04, 2001 5:12 pm
- Has thanked: 0
- Been thanked: 0
- Contact:
I've spend most of yesterday tweaking the CD audio code, and I noticed something: the Windows version can't adjust the volume of the CD audio. After doing quite a lot of research, I found out that none of the Quake engines out there (not even Quake 2) can control the CD audio volume under Windows. The best I could find was some code in the Hexen 2 source, but it didn't work for me under both Windows XP and Windows 98.
Well, at least I found some info about how to set the volume using the Windows sound mixer, but it needs a lot of code, so I won't try to implement it in this release.
Well, at least I found some info about how to set the volume using the Windows sound mixer, but it needs a lot of code, so I won't try to implement it in this release.
- Tyne
- Pimp DC Devver
- Posts: 1684
- Joined: Wed Oct 17, 2001 7:44 pm
- Location: Canada, Ontario
- Has thanked: 0
- Been thanked: 1 time
- Contact:
I wouldn't worry too much about that, it's trivial and will only slow down work you could be doing on more important features/tasks. If anyone wants to lower the CD Volume then there's windows sound mixer; my suggestion? Remove the cd volume control slider altogether except from the Dreamcast version (but only if it's CD Audio volume control is easy to do).
I suppose TAoV on Dreamcast will use CD-Audio. This is gonna be fun to port, kind of like a company developing a huge game then having to downsize it for a lower-end console release...
I suppose TAoV on Dreamcast will use CD-Audio. This is gonna be fun to port, kind of like a company developing a huge game then having to downsize it for a lower-end console release...
"I'm convinced RenegadeC is in fact not a human, but rather an experimental IRC/QuakeC bot who has the ability to randomly formulate mods and code them, programmed to have a distinct Canadian personality as well."
- mankrip
- DCEmu Ex-Mod
- Posts: 3712
- Joined: Sun Nov 04, 2001 5:12 pm
- Has thanked: 0
- Been thanked: 0
- Contact:
Well, like I said before, I won't try to implement it in this release.Tyne wrote:I wouldn't worry too much about that, it's trivial and will only slow down work you could be doing on more important features/tasks.
Good idea. Done.Tyne wrote:my suggestion? Remove the cd volume control slider altogether except from the Dreamcast version
Tyne wrote:the Dreamcast version (but only if it's CD Audio volume control is easy to do).
CD audio volume control for the Dreamcast version has been implemented since the beginning of the year.DCmad wrote:nxMakaqu would rock if the volume controls work fine. SFX sound and BGM sound.
- mankrip
- DCEmu Ex-Mod
- Posts: 3712
- Joined: Sun Nov 04, 2001 5:12 pm
- Has thanked: 0
- Been thanked: 0
- Contact:
I'm done with college for this semester, so I'll have free time for about 2 weeks. The next version should be released soon.
Yesterday I've added a stereo 3D feature in the engine:
However, it still has a few bugs, so I'm not sure if I'll add a menu option for it. Anyway, it can be enabled in the console through the r_stereo_separation variable, which is also saved in the config file.
I lost much time trying to change some things in the video driver for the Windows version to get the transparencies running faster. It didn't work, so I did a small hack instead. TAoV's transparencies will run much faster in some computers (like mine).
Now there are only a few easy & small things in my "to do" list for this version. The only annoying thing I have to do is fixing the SDL sound in KOS.
By the way, I didn't have time to make Linux and XBox ports of this version. I'll try to do this in the next one.
Yesterday I've added a stereo 3D feature in the engine:
However, it still has a few bugs, so I'm not sure if I'll add a menu option for it. Anyway, it can be enabled in the console through the r_stereo_separation variable, which is also saved in the config file.
I lost much time trying to change some things in the video driver for the Windows version to get the transparencies running faster. It didn't work, so I did a small hack instead. TAoV's transparencies will run much faster in some computers (like mine).
Now there are only a few easy & small things in my "to do" list for this version. The only annoying thing I have to do is fixing the SDL sound in KOS.
By the way, I didn't have time to make Linux and XBox ports of this version. I'll try to do this in the next one.
- leileilol
- Insane DCEmu
- Posts: 155
- Joined: Tue Oct 05, 2004 8:43 pm
- Location: CHINA
- Has thanked: 0
- Been thanked: 0
- Contact:
if OGG sucks too much for decoding and taxing cpu hits, why not implement tracker module (.mod, .s3m, .it and .xm) support?
The only engines I know of that have such support currently is the older original nehahra engine build, a certain qbism build and CheapHack (really really crappy support). Quake2000 had it in the code as well though it wasn't really implemented in the console
The only engines I know of that have such support currently is the older original nehahra engine build, a certain qbism build and CheapHack (really really crappy support). Quake2000 had it in the code as well though it wasn't really implemented in the console
POOPOO
-
- QuakeDev Mod
- Posts: 1233
- Joined: Wed Oct 17, 2001 7:44 pm
- Location: Indpls, IN USA
- Has thanked: 0
- Been thanked: 0
- Contact:
It'd be great to get some or all the sound shunted over to the ARM processor (as it should be really) The ogg player could be ran on the ARM processor as a seperate tread basicly and cause no real hit to the running of the rest of the engine. And its 2MB of ram could be used as a buffer to keep from eating up system ram as well.
BlackAura talks about hardware sound a but a few posts back.
BlackAura talks about hardware sound a but a few posts back.
My old Sig was broken. Enter the new Sig!
-
- Insane DCEmu
- Posts: 161
- Joined: Wed Sep 03, 2003 6:37 pm
- Has thanked: 2 times
- Been thanked: 4 times
- Christuserloeser
- Moderator
- Posts: 5948
- Joined: Thu Aug 28, 2003 12:16 am
- Location: DCEvolution.net
- Has thanked: 10 times
- Been thanked: 0
- Contact:
- mankrip
- DCEmu Ex-Mod
- Posts: 3712
- Joined: Sun Nov 04, 2001 5:12 pm
- Has thanked: 0
- Been thanked: 0
- Contact:
Because I don't think it will be very useful. Sure, you could use it to add some custom music to existing mods, but I don't think there would be many people doing this. Plus, I am lazy .CheapAlert wrote:why not implement tracker module (.mod, .s3m, .it and .xm) support?
Well, I don't know if the ARM processor can be programmed to decode OGG streams. And even if it could, it's beyond my current skills.TheDumbAss wrote:The ogg player could be ran on the ARM processor as a seperate tread basicly and cause no real hit to the running of the rest of the engine.
The stereo 3D mode still has some problems which I won't fix for this release, so I won't add a menu option for it, but you can access it using the console. I found out it's easy to make the engine render the same view several times, but it becomes harder when you want the position or angles of the views to be different from each other.DARKHALO2K wrote:with the stereo view all but fully implemented, how big a timeframe, or even importance, do you see two player split-screen requiring/being!?
When it comes to split screen, there are many other factors involved, including:
- The network protocol needs modification to send and receive data from 2 players instead of only one.
- The controller/mouse/keyboard code must be modified to treat the input of each player separately.
- The sound system must mix the sound effects from 2 different locations, and each player must have his own set of audio channels.
- There are many console variables used for player-related configurations, and these can't be used for more than one player. For example, the console variable _cl_name stores the player name, and each player must be able to define their names separately. Adding tons of cvars for more players would need a lot of engine modifications.
- The menus would also have to be modified to configure each player's options separately.
- There are tons of internal variables and functions that were designed for only one player, and solving this requires modifications on the whole engine.
Putting it simple, split screen requires an insane amount of work, and I don't feel like doing it.
Anyway, rendering two views isn't slowing the engine too much. The only bad thing is the low resolution, because each side is rendered at 159x120 on the DC, but it's still playable.
- leileilol
- Insane DCEmu
- Posts: 155
- Joined: Tue Oct 05, 2004 8:43 pm
- Location: CHINA
- Has thanked: 0
- Been thanked: 0
- Contact:
, well it seems to be the least memory-intensive solution (rather than a big looping wav loaded)Fragger wrote:Because I don't think it will be very useful. Sure, you could use it to add some custom music to existing mods, but I don't think there would be many people doing this. Plus, I am lazy .CheapAlert wrote:why not implement tracker module (.mod, .s3m, .it and .xm) support?
also, i can track.
POOPOO
- mankrip
- DCEmu Ex-Mod
- Posts: 3712
- Joined: Sun Nov 04, 2001 5:12 pm
- Has thanked: 0
- Been thanked: 0
- Contact:
I have fixed the sound in the DC version, and a small bug in the video of the Windows version. The next version should be out this week.
By the way, I've added stereo 3D and fog options to the developer menu.
And here's a pic of the new VMU file icon:
The colored border is automatically generated for all mods.
By the way, I've added stereo 3D and fog options to the developer menu.
And here's a pic of the new VMU file icon:
The colored border is automatically generated for all mods.
-
- QuakeDev Respected
- Posts: 592
- Joined: Thu Mar 14, 2002 1:15 am
- Has thanked: 0
- Been thanked: 6 times
great to hear this. does the sound fixing mean that more mods are playable on the dreamcast version?
Create your own Dreamcast games using the Quake-Engine:
http://quakedev.dcemulation.org/develop/getstarted.htm
http://quakedev.dcemulation.org/develop/getstarted.htm