DCEmulation

dreamcast development • homebrew software • hardware hacking • indie games • emulators • and more!
Back to main site
It is currently Sun Dec 21, 2014 8:05 am

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 202 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 11  Next
Author Message
 Post subject:
PostPosted: Mon May 08, 2006 6:27 am 
Offline
Insane DCEmu
Insane DCEmu

Joined: Thu Feb 06, 2003 9:43 am
Posts: 251
Just thought I'd ask........ is it possible to play OGG music yet? :)


Top
 Profile  
 
 Post subject:
PostPosted: Mon May 08, 2006 2:50 pm 
Offline
DCEmu Ex-Mod
DCEmu Ex-Mod
User avatar

Joined: Sun Nov 04, 2001 4:12 pm
Posts: 3556
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


Top
 Profile  
 
 Post subject:
PostPosted: Mon May 08, 2006 10:41 pm 
Offline
DC Developer
DC Developer

Joined: Sun Dec 30, 2001 8:02 am
Posts: 9951
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.


Top
 Profile  
 
 Post subject:
PostPosted: Sun May 14, 2006 10:23 am 
Offline
DCEmu Ex-Mod
DCEmu Ex-Mod
User avatar

Joined: Sun Nov 04, 2001 4:12 pm
Posts: 3556
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


Top
 Profile  
 
 Post subject:
PostPosted: Mon May 15, 2006 1:19 am 
Offline
DC Developer
DC Developer

Joined: Sun Dec 30, 2001 8:02 am
Posts: 9951
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.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jun 15, 2006 7:37 am 
Offline
DCEmu Ex-Mod
DCEmu Ex-Mod
User avatar

Joined: Sun Nov 04, 2001 4:12 pm
Posts: 3556
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


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jun 15, 2006 9:33 am 
Offline
Pimp DC Devver
Pimp DC Devver
User avatar

Joined: Wed Oct 17, 2001 5:44 pm
Posts: 1666
Location: Canada, Ontario
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."


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 16, 2006 3:19 pm 
Offline
DCEmu Ex-Mod
DCEmu Ex-Mod
User avatar

Joined: Sun Nov 04, 2001 4:12 pm
Posts: 3556
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


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 16, 2006 5:46 pm 
Offline
Pimp DC Devver
Pimp DC Devver
User avatar

Joined: Wed Oct 17, 2001 5:44 pm
Posts: 1666
Location: Canada, Ontario
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."


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 16, 2006 6:17 pm 
Offline
Psychotic DCEmu
Psychotic DCEmu

Joined: Sat Mar 02, 2002 2:22 pm
Posts: 724
Location: Salvador - Bahia - Brasil
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


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jun 16, 2006 10:34 pm 
Offline
DCEmu Ex-Mod
DCEmu Ex-Mod
User avatar

Joined: Sun Nov 04, 2001 4:12 pm
Posts: 3556
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


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jul 09, 2006 11:28 am 
Offline
DCEmu Ex-Mod
DCEmu Ex-Mod
User avatar

Joined: Sun Nov 04, 2001 4:12 pm
Posts: 3556
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


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jul 16, 2006 9:50 am 
Offline
Insane DCEmu
Insane DCEmu
User avatar

Joined: Tue Oct 05, 2004 6:43 pm
Posts: 155
Location: CHINA
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


Top
 Profile  
 
 Post subject:
PostPosted: Sun Jul 16, 2006 11:00 am 
Offline
QuakeDev Mod
QuakeDev Mod

Joined: Wed Oct 17, 2001 5:44 pm
Posts: 1233
Location: Indpls, IN USA
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!


Top
 Profile  
 
 Post subject:
PostPosted: Wed Jul 19, 2006 5:56 pm 
Offline
Insane DCEmu
Insane DCEmu

Joined: Wed Sep 03, 2003 4:37 pm
Posts: 153
...


Last edited by DARKHALO2K on Wed Apr 16, 2008 8:23 am, edited 1 time in total.

Top
 Profile  
 
 Post subject:
PostPosted: Thu Jul 20, 2006 1:01 pm 
Offline
Moderator
Moderator
User avatar

Joined: Wed Aug 27, 2003 10:16 pm
Posts: 5846
Location: DCEvolution.net
Two player split-screen... Now that would be amazing! :o

_________________
Insane homebrew collector.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jul 21, 2006 12:36 am 
Offline
DCEmu Ex-Mod
DCEmu Ex-Mod
User avatar

Joined: Sun Nov 04, 2001 4:12 pm
Posts: 3556
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


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jul 21, 2006 8:55 am 
Offline
Insane DCEmu
Insane DCEmu
User avatar

Joined: Tue Oct 05, 2004 6:43 pm
Posts: 155
Location: CHINA
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


Top
 Profile  
 
 Post subject:
PostPosted: Wed Aug 02, 2006 3:06 pm 
Offline
DCEmu Ex-Mod
DCEmu Ex-Mod
User avatar

Joined: Sun Nov 04, 2001 4:12 pm
Posts: 3556
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


Top
 Profile  
 
 Post subject:
PostPosted: Fri Aug 04, 2006 3:48 am 
Offline
QuakeDev Respected
QuakeDev Respected

Joined: Thu Mar 14, 2002 12:15 am
Posts: 582
Location: Nordhorn, Germany, Old Europe
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


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 202 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7 ... 11  Next

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group