Sound Effect System reimplemented

Hi to all,

Today i have very great news about dreerally. Last week i finally ended the reimplementation of the sound effects system!

I think this was one of the most difficult task in dreerally for now. The sound effect system is based is the know minifmod development to load all xm files. Each sound effect system file is crypted (why?) and then have a lot of sounds that are loaded. Each sound effect system file is loaded in one channel, so we can have up to 32 files loaded in memory (nowadays is not a problem because memory are much bigger). Inside each file there are a lot of sounds that are loaded as instruments in minifmod.

Then there are a few tricks to calculate the correct frecuency of the sound and the volume, probably this solution is not perfect and need a little tweak, but for now is enought.

So, with this update I can say that ALL asset files are decompiled (may there is some bug) :), whe are near to the Shrieker phase when we can start modding, traslating and more.

The next step is to publish the source code (I need time to reorder things and allow people to use vstudio o mingw compiler, maybe it can be compiled under linux). At this time we can create issues, month releases, and people can colaborate with this amazing project.

From my point of view, at now, there is no reason to think that this project will be not concluded. From last summer to now I afford the mos complicated task involving, sound effect system, 3d system, animation system, all track files interpretation and the possibility to drive a race.

Probably at this point I will need some people to test the game and report issues because, probsbly this people will be more critic than me ๐Ÿ™‚

At last, I only want that at this moment I have the all information of assets (music,effects,tracks,anims,textures), most of it were published months ago, but if someone is planning to develop a death rally(dreerally) new tracks or some stuff you can ask me what you need. Maybe I will publish a version in wich you can put your asset without crypt to make your task easier.

I hope you enjoy this article and follow updates of this great game on www.dreerally.com

10 comentarios para “Sound Effect System reimplemented”

  • Simone says:

    Hi Enrique! Awesome work and news! As you already know, I’m developing an update to my DR Editor these weeks, by the way, here it is the new forum link of the topic :

    https://www.advancedstudios.it/forum/threads/editor-completo-death-rally.3723/

    and about one month ago, I read (and replied to) this very interesting topic on
    http://www.classicdosgames.com/forum/viewtopic.php?f=25&t=1690

    in which I shared some informations and your DreeRally project and my editor project. I tried briefly your first prerelease (from exe didn’t work, recompiling it worked but exited on race start after «race intro» page), so I think I’ll try your next DreeRally release and maybe also use it to, quoting you «develop some stuff» in my editor. For example, if I remember well, in your code there isn’t a file size control as in original DR. Also, I think that you would try to get rid of all this crypted file formats, I mean why mantain it for an open source project?

    About tracks, they are in fact my editor next huge step: providing a page for edit tracks! If it works, it will be a way to have new tracks (but always in the same total number) in DR.

    • admin says:

      Hi Simone!,

      It think that the release will work with the original files (crypted), but I can make a small develoment to allow you to put files (with the same in some directories and decrypted) to overwrite the original ones :).

      When the project be in a advance stage I will provide a system to add more circuits ๐Ÿ™‚

      regards.

      • Simone says:

        Thanks for your answer Enrique ๐Ÿ˜€

        I think that «for now» it isn’t necessary: if in DR editor you’ll modify a file in BPA then «reassemble» new BPA, in case of use of DreeRally, it will be not necessary to reallign total file size to the original one. Otherwise, a way to do it, will have to be found (a dedicated exe or «BPA byte padding» if new size is less than the original)

        I’ll update you (and others) about my project.

        • admin says:

          Hi Simone, I don’t think that Death Rally checks the file size of BPA files, I haven’t seen it in the code. Probably the BPA header is not correct, ยฟCould you send me a custom BPA file in order to test it?

          • Simone says:

            Yes, of course I can and I’ll send you a file whenever I can ๐Ÿ™‚

            As far as I know, DR should check these file sizes («hardcoded» in exe):

            – ALL BPAs

            – ALL HAFs

            Simple experiment : if you swap two TR BPAs (if you want other than TR0) and try to execute game, you’ll have BPAs in correct format (of course) but an error message or nothing and return to Windows

          • admin says:

            I think that the only limitation is the file size inside the bpa file wich cannot be bigger that the original one because the code do a fixed malloc, so, if you include a replace a file with a smaller one I think it can be works.

          • admin says:

            Hi Simone, swaping two trx bpa files crash the game, probably because the files inside it does not have the correct trx names. I think if you swap to trx.bpa files and change the name of all files inside it will work.

  • Simone says:

    Sorry, by swap I meant swap completly (even BPA archive correct file names), and yes, result of malloc in code is of course compiled in resulting exe. Thanks for information, but month ago I saw error messages about that : if the resulting file is smaller and you don’t add «padding bytes», it should be an error, instead, if the resulting file is bigger you have to modify this value in exe in any case, pratically it’s like saying that there is a file check. Remediable but there is. If I’m wrong, better for us ๐Ÿ˜€

    One of next steps (many steps!) for the editor is to provide the possibility to reconstruct BPAs given each file extracted content. If you’re right, one less operation to achieve this step!

    In original version, the error message says :

    «DEATH RALLY ERROR: File TR1.BPA is not in original form!»

    of course filename is a variable and writes first incorrect file that exe finds (in fact if you «swap» TR1 with other TR not TR0 first wrong file is TR1).

    But as you say, maybe it was an error of mine months ago riassembling «by hand» BPAs, better try with new editor functionalities ๐Ÿ˜€

    • admin says:

      Hi Simone, you right. I think the best approach is to send my a modified BpA file without padding bytes to test this case a make dreerally working with both kind of files.

      • Simone says:

        Hi again Enrique! I tried (already «by hand») a file smaller than original in result and without padding bytes, and I’m afraid but gives error! I’ll send you a mail with file attached in a few minutes.

Deja un comentario

Polls
Sorry, there are no polls available at the moment.
Donate

Help us to mantain this web and develop DreeRally