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

fingolfin
Retired
Posts: 1452
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

Relax, everybody :).

First off, this monsieurouxx's effort (resp. that of the team he is speaking for). If he wants to not use SVN or another VCS, or only wants to use one at a latter date, that is of course completely his/their choice! At most, we can give advice -- e.g. I think that even at this early stage, a VCS can be helpful, (at least a distributed one like git or mercurial). But maybe for them this doesn't work so well (e.g. if there are many newbies involved who don't know VCS' at all).

Next, I also find it a bit strange to implement all the logic in Lua, but it certainly is possible to implement a 99% accurate Dune reimplementation using Lua (as Lua is Turing complete, this isn't a big surprise ;), and not completely unreasonable. It simply comes with a string of advantages of disadvantages attached: If the goal is to eventually turn this project into an official ScummVM engine, then using a Lua based approach IMHO sounds like a potential hindrance. However, if the goal is to implement an *external* Dune engine, using ScummVM technology, which is extensible using mods, then using Lua certainly sounds like the right things. It's a matter of priorities and weighing pros and cons, really.

md5, you seem to implicitly assume that monsieurouxx's goal is to write an engine that is eventually meant to be included within ScummVM itself; he never said so.
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

md5 wrote:(...)
I believe we both agree, even though we draw the line between hard-coded logic and needed/wished reverse-engineering in a different place. Let's not argue on that, I think it's not worth it.

The purpose of this post is to announce that the README no longer suggests using abandonware websites to get the original game.
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

fingolfin wrote:I also find it a bit strange to implement all the logic in Lua, but it certainly is possible (...) It simply comes with a string of advantages of disadvantages attached: If the goal is (...) However, if the goal is (...). It's a matter of priorities and weighing pros and cons, really.

monsieurouxx [might or might not] write an engine that is eventually meant to be included within ScummVM itself
Yeah, you got me right, at the moment I'm trying to remain flexible to get the best of each available technology and existing communities knowledge base -- while keeping an eye on scalability. We'll see how it turns out.

===========
fingolfin wrote:(...) distributed version control tool (...)
I thought the distributed ones were more advanced/complex than the old-style ones, using a central repository? How are the distributed ones suddenly the best solution for a tiny project like ours? Tell me more if you feel like it. In the meantime I'm asking my old pal wikipedia.

===========

Not that I want to insist on Lua, but can someone explain how it's really a problem, when you said that yourself used it for your Broken Sword engine? Did you use a light version of Lua?
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

monsieurouxx wrote:Not that I want to insist on Lua, but can someone explain how it's really a problem, when you said that yourself used it for your Broken Sword engine? Did you use a light version of Lua?
The original Broken Sword 1 and 2 had its own scripting system. The fan-made project Broken Sword 2.5 used LUA for its logic. We use LUA with PLUTO for Broken Sword 2.5, because that's what it used originally. Anyway, in my personal opinion, it would be best to see what the original game used, before going for a full-fledged LUA rewrite. That's what we did for all of the games we have reimplemented up to now, and it has worked.
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

md5 wrote:Broken Sword 2.5
Ah OK, I didn't get it that it was an unofficial, standalone sequel -- I thought it was a ScummVM engine for Broken Sword 2.
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

Update: I've created a dummy engine, and rewrote the HSQ decompressor, with the help of wjp. HSQ files are loaded and can be dumped as uncompressed files. That's it for now :) Will have a look again when I got some time. If you need access to the SVN repo for this engine, ask sev
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

md5 wrote:Update: I've created a dummy engine (...) If you need access to the SVN repo for this engine, ask sev.
Alright! That's really cool. I'll defo ask the access. I don't know who's sev but I guess I'll find out pretty quickly.
md5 wrote:I rewrote the HSQ decompressor, with the help of wjp.
Really? I don't remember exactly how it worked, and I thought it was already doing what you describe, but I trust you on that! I'll share the information on the Dune2k forum.


Once again, great job!
Don't forget to keep track of all the people who helped you, so that they can be added to the credits.
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

monsieurouxx wrote:
md5 wrote:Update: I've created a dummy engine (...) If you need access to the SVN repo for this engine, ask sev.
Alright! That's really cool. I'll defo ask the access. I don't know who's sev but I guess I'll find out pretty quickly.
As I said, sev(at)scummvm(dot)org
monsieurouxx wrote:
md5 wrote:I rewrote the HSQ decompressor, with the help of wjp.
Really? I don't remember exactly how it worked, and I thought it was already doing what you describe, but I trust you on that! I'll share the information on the Dune2k forum.
Er... well...

The code in that "tech demo" is, to put it nicely, a bit of a mess. It's in C, with inconsistent coding styles. The code is both in English and French (e.g. ReadSequence() - English and ReadPal() - French). Also, there are a lot of seemingly unrelated functions put together, for example the code to read sentences (i.e. strings) is placed together with code to read sprites and palette... There are almost no comments, and the logic flow is hard to follow, thus the overall code is hard to read through. All in all, there has been a lot of work done by different people, however it is very unorganized and hastily pieced together, thus it needs a lot of work to be done so that it gets in shape.
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

md5 wrote: Er... well...

The code in that "tech demo" is, to put it nicely, a bit of a mess. It's in C, with inconsistent coding styles. The code is both in English and French (e.g. ReadSequence() - English and ReadPal() - French). Also, there are a lot of seemingly unrelated functions put together, for example the code to read sentences (i.e. strings) is placed together with code to read sprites and palette... There are almost no comments, and the logic flow is hard to follow, thus the overall code is hard to read through. All in all, there has been a lot of work done by different people, however it is very unorganized and hastily pieced together, thus it needs a lot of work to be done so that it gets in shape.
Hey, man! Relax. I didn't mean to offend you, not at all :)

I was only talking about the HSQ algorithm, which has been our main obstacle for a long time. I thought that one was dumping the sprites in a convenient manner.

As for the rest of the code, and the overall structure of the tech-demo, I completely agree with you that it's a complete, ugly mess.
You don't need to put it nicely :) I'll even say it again : It's an ugly piece of crap. I didn't expect anybody but us to clean that up. Once again, the project is in a VERY primitive state, as we spent a LONG time reverse-engineering the algorithms. :) thank you for having had a spontaneous look into that. that's what I meant in my message : Thank you!
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

Here is what I suggest : You let it as it is, and I'll refactor the code to make it better looking (with comments, structure, naming conventions, etc.)
We'll see the rest later.

What do you think?
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

monsieurouxx wrote:Here is what I suggest : You let it as it is, and I'll refactor the code to make it better looking (with comments, structure, naming conventions, etc.)
We'll see the rest later.

What do you think?
The code needs heavy modifications to be usable. If you're willing to refactor it, feel free to, but I still believe that rewriting it from scratch is the best solution.

Another update: I got sentence files working, and some initial work done on the game's video files. Still a long way to go, though. The game's music files don't seem to be a standard format (i.e. SMF or XMIDI), but I could be mistaken there
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

md5 wrote: The code needs heavy modifications to be usable. If you're willing to refactor it, feel free to, but I still believe that rewriting it from scratch is the best solution.
Well, you know what I mean.

md5 wrote: Another update: I got sentence files working, and some initial work done on the game's video files. Still a long way to go, though. The game's music files don't seem to be a standard format (i.e. SMF or XMIDI), but I could be mistaken there
...
(speechless)

Are you saying that you're doing in 24 hours what took other guys 4 years?
I think I'll kidnap you and have you work for me in my basement, with big stel chains attached to your ankles.


I don't have any answer from sev. Do you have any way to give me the reading rights yourself?
User avatar
md5
ScummVM Developer
Posts: 2250
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 »

monsieurouxx wrote:Are you saying that you're doing in 24 hours what took other guys 4 years?
Nah, I'm just staring at data and the work done at the moment, nothing fancy
monsieurouxx wrote:I think I'll kidnap you and have you work for me in my basement, with big stel chains attached to your ankles.
Hehe :D
monsieurouxx wrote:I don't have any answer from sev. Do you have any way to give me the reading rights yourself?
Nope, I don't have access to the server
monsieurouxx
Posts: 80
Joined: Fri Oct 19, 2007 5:48 pm

Post by monsieurouxx »

We've set up our own Sourceforge project : https://sourceforge.net/projects/dunerevival/

the discussion about developement continues here : http://forum.dune2k.com/index.php?/topi ... _p__358504


REQUEST: Could you please moderator lock this thread? Thanks.
fingolfin
Retired
Posts: 1452
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

Closing this thread now as requested.

If I may make a last "closing remark": You guys may want to setup a Wiki (SF.net offers MediaWiki and trac among otehrs) to collect technical detail. Else, people will have to re-discover facts again and again, or dig through 15 pages of forum thread postings and various external sites ;).
Locked