Basic tools/source code now available for Dune support

All the inane chatter goes in here. If you're curious about whether we will support a game, post HERE not in General Discussion :)

Moderator: ScummVM Team

monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Basic tools/source code now available for Dune support

Post by monsieurouxx »

Hi all,

Just to let you know that most of the basic toolbox required to add support for Cryo's Dune 1 is now available. We know how to extract and render graphics (including palettes), how to extract dialogs, and how to extract OPL music (can't remember how advanced we are about playing it, though).

More details and even a tiny tech demo here : http://forum.dune2k.com/index.php?app=c ... ach_id=652

HELP WANTED
If there's some bold guy around here that feels comfortable enough to convert our uber-simple code into something more "ScummVM-like" (e.g. a Visual Studio or Code::Blocks project), then please feel free to experiment and to contact me.

You don't need to do anything fancy. Just create an empty project that follows ScummVM projects' naming conventions and can be compiled within the ScummVM solution.

It's to give us a short-term goal :-D
Last edited by monsieurouxx on Tue Jan 04, 2011 12:15 pm, edited 1 time in total.
fingolfin
Retired
Posts: 1452
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

I am not completely sure what you are asking for, but if your goal is to develop an engine for ScummVM which allows playing a new game (Dune in your case), then I recommend taking a look at the Engines HOWTO in our Wiki; it describes all required steps. After one has done these, one can use the "create_project" tool to generate an update project file for Visual Studio.

However, I am not quite sure whether it is possible to build and run create_project using Visual Studio -- but it does seem to contain project files... The source code for this tool is bundled with the ScummVM sources, by the way. Look in the tools/ directory of the ScummVM sources (and *not* in the tools SVN module resp. the ScummVM tools package).
User avatar
LordHoto
ScummVM Developer
Posts: 1029
Joined: Sun Oct 30, 2005 3:58 pm
Location: Germany

Post by LordHoto »

fingolfin wrote:However, I am not quite sure whether it is possible to build and run create_project using Visual Studio -- but it does seem to contain project files...
Building create_project using Visual Studio works just fine with the available project files.
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

Just to mention: the zip file with the source code etc contains the full version of the game in it. Although your intentions are good, the fact that you are redistributing the whole game isn't. Also, why do you have huge bmp/png pictures of the earth in that archive?
einar
Posts: 2
Joined: Fri Jul 25, 2008 1:18 pm

Post by einar »

Does a demo exist of Dune 1? If that is the case, then I might look into it, otherwise I see no place to get ahold of the game (apart from the obvious, but tedious eBay-hunting). If only gog had it...
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

md5 wrote:Just to mention: the zip file with the source code etc contains the full version of the game in it.
That's a mistake. I forgot to delete them before zipping. I even provide instruction in the README explaining how to install them back...
md5 wrote: Why do you have huge bmp/png pictures of the earth in that archive?
That's just part of the primitive Voxel that's in the tech-demo. I didn't do it myself... I'm not even sure if they're used. That's not the point of this demo.
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

einar wrote: I see no place to get ahold of the game
You should just read what has been said above.
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

fingolfin wrote:I am not completely sure what you are asking for, but if your goal is to develop an engine for ScummVM which allows playing a new game (Dune in your case), then I recommend taking a look at the Engines HOWTO in our Wiki
That's what I did several years ago, and after unsuccessful attempts at starting something, someone told me on the ScummVM IRC channel that the tutorial was obsolete anyway... That kind of put me off.
So, what I'm asking here, is IF someone wants to volunteer to create an "empty project" to host our primitive Dune engine, then he'd be welcome,as some knowledge of ScummVM is needed for that, despite the Wiki.

He could simply have this project display a sprite from Dune, or even less, that would still be enough for us while we work on "our" Dune-related technologies at the same time.

That empty ScummVM project would be a basis for us to expand our project, instead of keeping our crappy and random tech-demos with no clean structure and no standard libraries.
User avatar
LordHoto
ScummVM Developer
Posts: 1029
Joined: Sun Oct 30, 2005 3:58 pm
Location: Germany

Post by LordHoto »

monsieurouxx wrote:
einar wrote: I see no place to get ahold of the game
You should just read what has been said above.
If you are talking about that the game is linked/bundled with the source code you talk about, then this is a clear violation of forum rule #0
[b]Forum Rules. READ BEFORE POST.[/b] wrote: 0) No Warez. No Abandonware discussions. Links to content of a questionable nature, asking for, offering, or asking for help/helping to process such content in any way or form is not tolerated. No, it's not okay to request parts of a game either, even if you already own another version of it, or to replace damaged media. Consider Copyright FAQ.
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

LordHoto wrote:If you are talking about that the game is linked/bundled with the source code you talk about, then this is a clear violation of forum rule #0
Warez is forbidden? No kidding? :-) I know, I'm working on it. As I said it was a mistake. th elink above targets another honest forum like yours anyway, which doesn't host the bundle itself. It should be fixed in 5 minutes.


EDIT: Done.

Here is a direct link to the tech-demo, that contains ONLY open-source material.
EDIT: see the first post of this thread for download links.

so, the offer is still standing: If someone wants to turn that into a ScummVM-like project, he'll be cool. If he doesn't want to, he'll still be cool :-) The only non-cool one will be the one who'll post something offensive starting from... Now! :D
Last edited by monsieurouxx on Tue Jan 04, 2011 12:30 pm, edited 1 time in total.
Seldon
Posts: 101
Joined: Sun Feb 24, 2008 9:53 am
Location: Poland

Post by Seldon »

monsieurouxx wrote:The only non-cool one will be the one who'll post something offensive starting from... Now! :D
I guess that'll be me.

From readme included in your link above:
Installation instructions
=========================
- Find the original Dune files (game by Cryo interactive) on any Abandonware website
I'm afraid that's still violation of rule #0 (also this sentence contradicts itself - original files from Abandoware website is something like legal stolen car radio)
fingolfin
Retired
Posts: 1452
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

monsieurouxx wrote:
fingolfin wrote:I am not completely sure what you are asking for, but if your goal is to develop an engine for ScummVM which allows playing a new game (Dune in your case), then I recommend taking a look at the Engines HOWTO in our Wiki
That's what I did several years ago, and after unsuccessful attempts at starting something, someone told me on the ScummVM IRC channel that the tutorial was obsolete anyway... That kind of put me off.
Gee, now that puts *me* off... Look, the HOWTO is meant to be up-to-date. Of course we sometimes change things and forget to update the HOWTO, and then it need fixes. Bad!
But we are happy to fix it if we are told about it. In fact we rely on people telling us about it, as we are short on volunteers and can't always watch all these things.

You see, in general, the ScummVM community is very helpful -- but only if you show that you are willing to work, too. I.e. if you come in and say "I tried the HOWTO but got stuck at XYZ because error ABC showed up", we'll be happy to help you *and* fix the HOWTO at the same time.
But if you just appear and say "some guy told me the HOWTO is outdated, so I ignored it. Plz write my code for me so that I can do my l33t super cool engine", then that won't really motivate anybody to help you... :)

I have no idea who told you that the HOWTO was outdated, or when. But if somebody knows anything in it that is outdated, I would hope that they would *tell us* about it, so we can fix it. Instead of silently discarding it as "doesn't work". But if they do so, well, tough luck, we can't help you if you don't talk to us. :/
monsieurouxx wrote:So, what I'm asking here, is IF someone wants to volunteer to create an "empty project" to host our primitive Dune engine, then he'd be welcome,as some knowledge of ScummVM is needed for that, despite the Wiki.
Sure, the HOWTO in the Wiki of course only provides the bare basics. But teaching somebody all this stuff also requires a lot of time. Maybe we could write a more full featured tutorial... but hearing that even the basic HOWTO is ignored doesn't really motivate anybody to work on more documentation, I'd say :).

Anyway, good luck with finding volunteers :).

monsieurouxx wrote: He could simply have this project display a sprite from Dune, or even less, that would still be enough for us while we work on "our" Dune-related technologies at the same time.

That empty ScummVM project would be a basis for us to expand our project, instead of keeping our crappy and random tech-demos with no clean structure and no standard libraries.
What would that random mysterious volunteer gain from writing code that is meant to give you a kick start?
fingolfin
Retired
Posts: 1452
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

P.S.: I just went through the tutorial and had a "working" quux engine in about 15 minutes of work (including compiling). Granted, a newbie will take a bit longer, but I didn't spot anything that seemed to be outdated... So if it is, or if there is not information on something, then it would be helpful to let us know.
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

Seldon wrote:
monsieurouxx wrote: Installation instructions : Find the original Dune files (game by Cryo interactive) on any Abandonware website
I'm afraid that's still violation of rule #0
Hey, you truncated the sentence! :D It was "from an Abandonware website OR from your original copy". However, I understand your intentions and the forum's rule. I'll change that. I thought Dune had fallen into "tolerated abandonware". No need to argue on that, I'll change it.


=========================================================================

fingolfin wrote:P.S.: I just went through the tutorial and had a "working" quux engine in about 15 minutes of work (including compiling)
Alright, I'll give it a new try! No problem.
fingolfin wrote:Look, the HOWTO is meant to be up-to-date. Of course we sometimes change things and forget to update the HOWTO, and then it need fixes. Bad!
But we are happy to fix it if we are told about it. (...)

You see, in general, the ScummVM community is very helpful -- but only if you show that you are willing to work, too.
Relax, man, I know all that! :D At the time it happened, I described the problem I encountered. I might even be the source of the current accuracy of the tutorial! (just kidding). I also know that the ScummVM community is very alive. In fact, I thought it was so big and busy that it didn't really "need" me to contribute in any sort of way -- seriously, and said without sarcasm.

After I do my new attempt, I'll ask for some help if I don't succeed.

fingolfin wrote: What would that random mysterious volunteer gain from writing code that is meant to give you a kick start?
Once again, considering how active the community is, I thought some Dune fan boy (like me) would feel happy to do it, just for glory's sake. That's what I would do. As you said, for someone experienced, it takes only 15 minutes.
However after your updates I'll do a new attempt myself.


=========================================================================


One last question : Of all the engines implemented in ScummVM, which one is the most recent and uses the most recent ScummVM conventions, implementations and technologies? If I recall, my issue was that I tried to copy the Goblins engine, and it was obsolete in its way of using ScummVM, and that was the cause of my issues -- or something like that, please don't take my words for absolute truth, it doesn't matter anymore anyway. I'm just wondering if you have a recommendation for an engine to get my inspiraiton from.
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

monsieurouxx wrote:One last question : Of all the engines implemented in ScummVM, which one is the most recent and uses the most recent ScummVM conventions, implementations and technologies? If I recall, my issue was that I tried to copy the Goblins engine, and it was obsolete in its way of using ScummVM, and that was the cause of my issues -- or something like that, please don't take my words for absolute truth, it doesn't matter anymore anyway. I'm just wondering if you have a recommendation for an engine to get my inspiraiton from.
What do you mean "recent"? Each engine is different, as it does what it's supposed to do in a different way, since each game was designed in a different manner. I suggest you look at a small and easy to understand engine, e.g. MADE. The quux example is really straightforward, so it's a good starting point.

I read the whole thread in your boards... it seems that there are 4 kinds of data files in that game:
- *.hsq files, which are the compressed containers
- *.hnm files, which are the video files
- *.adl and *.m32, which are the Adlib Gold/MT-32 soundtracks
- *.voc files for the speech in the CD version

Also, it seems from the posts that the game is using voxel graphics for the flyover scenes? Or are these videos?

There seems to be an IDA IDB file of the executable, but I can no longer find it in that thread. Where can this be found?

Finally, the main problem you'll be facing is with the game logic itself. How is that structured? At a first glance, it all seems to be hardcoded in the executable - looking at its strings, all of its files are hardcoded in there, so I suppose all of the game logic is in there as well, so this will need to be rewritten from scratch...
Locked