Jump to content

Rewriting Cryo's Dune 1 : it seems possible !!!


Monsieur OUXX

Recommended Posts

Wow.. things happened since I inetered EVE. LOL

Hi Roman, hi Borg Number One.

I really think you guys could really give a hand to Stefan as well, as he's working on a Dune2 clone.

I'm sorry I have no old games right now on the computer to send you files from...

Anyway... thanx for helping us out  ;D

Link to comment
Share on other sites

A BRAND NEW WEB SITE TO HOST THE PROJECT :

main site : http://dunerevival.dev.java.net/  (login needed)

mirror site : http://perso.wanadoo.fr/ouxx/divers/temp/dunerevival/ (free access)

<edit>I just noticed that access to the developement website is private (you have to register to dev.java.net before being able to watch the pages). I'm looking for a solution ASAP </edit>

<edit 2>The project's home page isn't public until it has been approved by the host. Hope it won't be too long (and that it WILL be approved).</edit 2>

Still looking for a Wiki. dev.java.net should provide me one but their website is so complex that i can't manage to find it =)

Link to comment
Share on other sites

I am actually working on version 0.2

All the framework has been written to embed Dune ressources (or at least Sprites).

HSQ files are uncompressed by launching unhsq.com externally, because I didn't manage to translate 286 assembly code to Java. (nevertheless it works fine).

The remaining problem is to discover the internal structure of sprites files, once uncompressed. But it's probably very simple - i've done some tries; it's only a matter of days before i understand how these datas are organized within the files :

  - indexes of sprites

  - width and height

  - maybe palette

Link to comment
Share on other sites

  • 1 month later...

Assembler code? Sorry man... I only know C++, or I remember it. I forgot a lot of things since I entered college.

If you need, you can send me sprites and things and I'll try to edit them to fit your view.

I wonder if we can make a 3D engine that will have the look of Dune1. I mean, the same palette, but it will be 3D.

Have you noticed why Dune1 and other old games are so attractive? Because we can SEE thay are games, stories, etc. I mean, you can see the pixels, and the limits of the game. The new games simulate reality so good, that they fast become boring.

I dunno if I said that before, but hey...

Link to comment
Share on other sites

One thing... I found a webpage on Dune music:

http://www.grandgent.com/tom/dune/dunemp3s.htm

This guy is interested in Dune and Midi music, and he is a programmer... It might be useful, as he made a tool for music playback (doesn't know if its working, but you should take a look).

Edit:

Tested the program with DosBox, it is appearently an adlib player with the tunes included. Dont know if it is of any interest.

Link to comment
Share on other sites

Let me explain what is the state of the project at this time :

concerning the graphic features :

I wrote that the primary goals were FIRST to write a java viewer of dune ressources THEN to reverse-engineer the game.

Why ? The viewer would be a toy-tool to experiment the technologies used to rewrite the game and maybe allow to discover hidden graphics. I confess that the viewer is not really deeply usefull but it's a way to start the project with easy primary goals.

My secret goal concerning the entire rewriting of the game (aditionnally to easy-of-use and modern end-user interface) is to allow a plugin system for graphics and sound. That means the game could be played the "normal way" (PC graphics with emulated Adlib Sound), but also as many ways as there are plugins : why not an "Amiga plugin" (Amiga GFX and SFX) ? Why not a CD-ROM plugin (the GFX were much better) ? why not a 3D plugin ? Why not a remixed-MP3 plugin? Everything is possible. I will try writing the new Engine as flexible as possible, leaving room for any final graphical or sound rendering.

I think Dawiduh is right when he says that immersion is directly linked to "not-too-realistic" graphics (no use to have big pixels for that). With the plugin system we could give several aspects to the game.

concerning the assembly code :

No, it's not complicated (i mean not complicated TO UNDERSTAND, i'm not saying that Roman is a poor programmer), unfortunately my assembly is definitely too rusty and I failed everytime i tried (not fluid enough in reading and re-interpretating).

Gobalopper : read previous posts and you will find the entire source code.

concerning the viewer :

I'm still working on it. I managed to find R

Link to comment
Share on other sites

Better ask him for the source code for Dune1. Not officially of course, I mean he can send it to you as err... "hints" ;)

Has anyone here played XIII? I didn't play it, but I saw some scrren shots and I think it sustains what I said about a 3D engine with 2D GFX. With all the magic and immersion of those days.

Link to comment
Share on other sites

In my experience, a lot of ideas (plugins etc) end up failed because too much is tried on paper and nothing in practice.

Why write a plugin for graphic handling? It would require significant engine changes. Also, why write a viewer? discovering hidden graphics? If that is the entire 'real' goal of the viewer, it might be handy to split the project in 2. (1. viewer, 2. game).

Link to comment
Share on other sites

  • 1 month later...

Is there any way of playing back the AdLib Gold version of those tunes on our modern systems? DOSBox emulates an OPL3/SB16, but not the AdLib Gold. Thus Dune can only be configured in standard AdLib/SB mode, which is a huge shame. I may be wrong, but I think AdPlug doesn't support the AdLib Gold either -- at least the AGD format is not recognised by AdPlug 2.0.

Link to comment
Share on other sites

  • 2 weeks later...

I finally phoned the original "Dune main programmer" whom I managed to find the phone number.

He told me more about the graphics file format.

As I suspected, there are two successive compression methods : 

- HSQ : he told me it was similar to LZW... I had tried that method earlier - before having Roman's uncompressor (read above) but didn't discover the way to adapt theoritical LZW to concrete HSQ.

- RLE : Here is what he wrote :

              I remember having used a method similar to IFF :

              positive byte = number of bytes that follow, to reproduce n (or n+1?) times.

              negative byte = "compl

Link to comment
Share on other sites

  • 2 weeks later...

I'm glad about this! I totally forgot that Megarace had been made by Cryo (though I am a Stephane Picq's fan, and his tunes in Megarace are famous)

But I'm skeptical about the RAW files, because I often read on "sound formats" forums that RAW files were only a special technique to capture "commands" generated by the Adlib/sound card emulator, but not necessarily compressed with HSQ.

Hello everyone.

My name is Max and I'm new to these forums.  I am also the webmaster of RACEPRG, and I created those "MegaRace" RAW <b>captures</b>.  The RAW format is only nothing but Raw Commands for the Yamaha OPL-2 chip; nothing more.  While the RAW files are okay, I want the original music data from MegaRace and of course it's compressed in the *.HSQ file extension.

The reason why I signed up is because I wanted to join in on your disscusion on Cryo's famous (or infamous if you will) HSQ compression.  I want to play the music files (via AdPlug) from MegaRace and sadly there is not enough support.  I looked for UNHSQ forever until I finally gave up around January.  The other day I typed in "UNHSQ" in Google and your topic popped up!  You don't know how happy I was when I found the source code to UNHSQ.  But, when I assembled it and copyed Borg's BAT text, nothing happened!  No files from MegaRace were extracted!  Is this version of UNHSQ is only for Dune?

Link to comment
Share on other sites

Hi Lance Boyle,

1.)

Welcome to the FED2k Discussion forums / Dune2K Discussion forums.

2.)

The batch file makes it easier to unpack all hsq-compressed files from Dune.

So the batch file is not prepared for MegaRace.

3.)

Well, if you can send me the MegaRace compressed files and a file/directory structures of the MegaRace files, then I will also prepare a batch file for MegaRace

4.)

How to prepare the file/directory structure:

Open the Command prompt and go to the company/publisher directory where the game directory is. (c:cryoMegaRace)

For example enter following: cd c:cryo

Then type: dir /S > mracedir.txt

After this type: dir /O:N /S >> mracedir.txt ( in this case do not use: > !  Use double: >> instead.)

Then, compress the mracedir.txt and the hsq compressed files (e.g. with zip) and send the zip file to me:

borg_no -dot- one [at] gmx -dot- net

5.)

PS: My Name is "Borg Number One" ... not just "Borg". ;)

Link to comment
Share on other sites

Hi Lance Boyle,

Well, if you can send me the MegaRace compressed files and a file/directory structures of the MegaRace files, then I will also prepare a batch file for MegaRace

I think there might be two problems with that.  As you know, Dune's HSQ files are packed in the *.EXE, but in MegaRace, they're in a *.DAT file known as "MEGARACE.DAT".  Fortunately, there is a program known as "Game Extractor" that unpacks the HSQ files from the DAT file.  We just need to tell <b>UNHSQ.BAT</b> it doesn't need to look through the DAT file, it can just go to the HSQ files directly.

The other problem is that when I typed in the DOS prompt, it said,

"File not found" and I got this in the text file:<b>

Volume in drive D is MEGARACE

Volume Serial Number is 0794-E722

Directory of D:

                        0 bytes free</b>

Did something go wrong?  Nevertheless, I'll still send the text file and HSQ files to you via email.

PS: My Name is "Borg Number One" ... not just "Borg". ;)

Sure thing, Borg Number One! ;)

Link to comment
Share on other sites

As you know, Dune's HSQ files are packed in the *.EXE

Dune's hsq compressed data is not inside the dune.exe.

Dune's hsq compressed data is stored in *.hsq, *.agd, *.m32 files inside the dune directory.

The other problem is that when I typed in the DOS prompt, it said,

"File not found" and I got this in the text file:<b>

Volume in drive D is MEGARACE

Volume Serial Number is 0794-E722

Directory of D:

                        0 bytes free</b>

Did something go wrong?

Did you just entered "dir" or did you entered following: cd c:cryo

Then type: dir /S > mracedir.txt

After this type: dir /O:N /S >> mracedir.txt ( in this case do not use: > !  Use double: >> instead.)

Well, another person could lend me his MegaRace CD.

The MegaRace CD has the same file structure / installation system like "Lost Eden".

Because I also helped Olaf van der Spek while developing: XUCR

( http://xccu.sourceforge.net/top_index.html http://xccu.sourceforge.net/utilities/XUCR.zip )

... I could use XUCR's "Lost Eden unpack"-feature to unpack the files from: MEGARACE.DAT

Now, I will try some experiments. :)

Link to comment
Share on other sites

Hi Lance Boyle,

...it is really cool. :)

After extracting the files from megarace.dat, I could play some .hsq tunes in RDOSPLAY. :)

But it seems to be that RDOSPLAY does not have real/full support for MEGARACE .hsq tunes.

...ALARME.HSQ and DETRITUS.HSQ sound weird in RDOSPLAY.

Furthermore, many other tunes will not be played by RDOSPLAY.

Well, after unpacking the .hsq files, I could see that just some of them seem to be music tunes.

Referring to the .hnm video files in MegaRace ( cryo.hnm , credit.hnm , fin.hnm , intro.hnm , ... )

they seem to be compressed too.

Because they cannot be played with MPlayer's game-formats player for Cryo tunes.

( http://www.mplayerhq.hu/MPlayer/samples/game-formats/cryo/ )

If you download : GAP's / Game Audio Player's " GMFCore " ( http://img.km.ru/bim/gravitus/GMFCore.zip )

and the Cryo decoder DLLs and register " GMFcore " (GMFCore.ax) then you can play the "new" Cryo .hnm , .hns , .apc examples:

http://www.mplayerhq.hu/MPlayer/samples/game-formats/cryo/

CQRH501.HNS

CRYO_NEW.hnm

GRTH301.HNS

cine007.APC

cine007.hnm

cine017.APC

cine017.hnm

depart_c.hnm

...in MS Media Player, Winamp or any other application which uses DirectShow filter.

But MegaRace .hnm files and Dune .hnm files will not be played with the current " MPlayer Cryo Decoder DLLs " / " GMFCore.ax ".

Link to comment
Share on other sites

  • 2 weeks later...

Does he have the source code for the original game? :P

Can you ask if Remi has contact information to other Cryo programmers (Pascal Urro, etc.), or Stephane Picq?  Also see if you can ask him if he knows anything about the "HERAD System" and see if that can help us with emulation with Dune's or MegaRace's music.

Link to comment
Share on other sites

Can you ask if Remi has contact information to other Cryo programmers (Pascal Urro, etc.), or Stephane Picq?  Also see if you can ask him if he knows anything about the "HERAD System" and see if that can help us with emulation with Dune's or MegaRace's music.

Write a list of precise questions and send them to me by email. You can find my address on the project's webpage ( http://dunerevival.dev.java.net )

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...