Makaqu 1.5.1

Talk about Quake, Doom, Wolfenstein 3D, or other DC first person shooting game ports and mods for those games in here.
Post Reply
MethodGit
Insane DCEmu
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

Post by MethodGit »

Just thought I'd ask........ is it possible to play OGG music yet? :)
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

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.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

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.
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

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.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
BlackAura
DC Developer
DC Developer
Posts: 9951
Joined: Sun Dec 30, 2001 9:02 am
Has thanked: 0
Been thanked: 1 time

Post by BlackAura »

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.
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

Some news:

I don't have college for the rest of the week, so I'll try to get most things done until monday.

Auto-repeat for keys and buttons is done, and I found out how to detect the amount of audio tracks on the disc, so both the controller support and the CD music support are 100% complete now.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
User avatar
Tyne
Pimp DC Devver
Pimp DC Devver
Posts: 1684
Joined: Wed Oct 17, 2001 7:44 pm
Location: Canada, Ontario
Has thanked: 0
Been thanked: 1 time
Contact:

Post by Tyne »

Awesome! keep it up!
btw, boobies
"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."
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

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.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
User avatar
Tyne
Pimp DC Devver
Pimp DC Devver
Posts: 1684
Joined: Wed Oct 17, 2001 7:44 pm
Location: Canada, Ontario
Has thanked: 0
Been thanked: 1 time
Contact:

Post by Tyne »

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'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."
DCmad
Psychotic DCEmu
Psychotic DCEmu
Posts: 724
Joined: Sat Mar 02, 2002 3:22 pm
Location: Salvador - Bahia - Brasil
Has thanked: 0
Been thanked: 0

Post by DCmad »

Hell Fragger, i can't post with these thingies shaking in front of me, these boobies take my concentration out. (.)(.)

BTW, nxMakaqu would rock if the volume controls work fine. SFX sound and BGM sound.
I think streaming would take some memory from the engine, but would be wellcome too.

Cheers.
Image
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

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.
Well, like I said before, I won't try to implement it in this release.
Tyne wrote:my suggestion? Remove the cd volume control slider altogether except from the Dreamcast version
Good idea. Done.
Tyne wrote:the Dreamcast version (but only if it's CD Audio volume control is easy to do).
DCmad wrote:nxMakaqu would rock if the volume controls work fine. SFX sound and BGM sound.
CD audio volume control for the Dreamcast version has been implemented since the beginning of the year. Image
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

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:
Image
Image
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.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
User avatar
leileilol
Insane DCEmu
Insane DCEmu
Posts: 155
Joined: Tue Oct 05, 2004 8:43 pm
Location: CHINA
Has thanked: 0
Been thanked: 0
Contact:

Post by leileilol »

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
POOPOO
TheDumbAss
QuakeDev Mod
QuakeDev Mod
Posts: 1233
Joined: Wed Oct 17, 2001 7:44 pm
Location: Indpls, IN USA
Has thanked: 0
Been thanked: 0
Contact:

Post by TheDumbAss »

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.
My old Sig was broken. Enter the new Sig!
DARKHALO2K
Insane DCEmu
Insane DCEmu
Posts: 161
Joined: Wed Sep 03, 2003 6:37 pm
Has thanked: 2 times
Been thanked: 4 times

Post by DARKHALO2K »

...
Last edited by DARKHALO2K on Wed Apr 16, 2008 10:23 am, edited 1 time in total.
User avatar
Christuserloeser
Moderator
Moderator
Posts: 5948
Joined: Thu Aug 28, 2003 12:16 am
Location: DCEvolution.net
Has thanked: 10 times
Been thanked: 0
Contact:

Post by Christuserloeser »

Two player split-screen... Now that would be amazing! :o
Insane homebrew collector.
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

CheapAlert wrote:why not implement tracker module (.mod, .s3m, .it and .xm) support?
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 :P.
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.
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.
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!?
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.

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.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
User avatar
leileilol
Insane DCEmu
Insane DCEmu
Posts: 155
Joined: Tue Oct 05, 2004 8:43 pm
Location: CHINA
Has thanked: 0
Been thanked: 0
Contact:

Post by leileilol »

Fragger wrote:
CheapAlert wrote:why not implement tracker module (.mod, .s3m, .it and .xm) support?
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 :P.
:(, well it seems to be the least memory-intensive solution (rather than a big looping wav loaded)

also, i can track.
POOPOO
User avatar
mankrip
DCEmu Ex-Mod
DCEmu Ex-Mod
Posts: 3712
Joined: Sun Nov 04, 2001 5:12 pm
Has thanked: 0
Been thanked: 0
Contact:

Post by mankrip »

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:
Image
The colored border is automatically generated for all mods.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Image
Moi
QuakeDev Respected
QuakeDev Respected
Posts: 592
Joined: Thu Mar 14, 2002 1:15 am
Has thanked: 0
Been thanked: 6 times

Post by Moi »

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
Post Reply