Jump to content
MrFlibble

Dune 2 eXtended Project

Recommended Posts

UPDATE: OllyDbg didn't work, as there's no support for DOS programs. I'm currently looking for a functional DOS-based debugging tool.

Share this post


Link to post
Share on other sites

Apart from the evident google search, try finding an MSDOS version of SoftIce.

And, I am not sure if there aren't some msdos emulating solutions (virtual machines, emulators (BOCHS)...) that allow debugging...

Share this post


Link to post
Share on other sites

Well DOSBox states to have an internal debugger, but I don't know if it will be enough, coupled with my poor skills, to solve the problems at hand...

SoftIce huh? Gotta check that. Thanks for the tip :)

Share this post


Link to post
Share on other sites

Well, I am afraid you'll have to improve your skillz anyway.

And, as great secret: SoftIce 2.80 can be downoaded via ed2k (eMule). Beware of fakes though!

Share this post


Link to post
Share on other sites

Well, I am afraid you'll have to improve your skillz anyway.

Sure, but you know, tools with more options are better for beginners, as they have the "breathing space" for learning and mistakes. Simplistic tools are for professionals :)

Share this post


Link to post
Share on other sites

A small update. Upon my humble request, Siberian_GRemlin has added the option to edit Dune 2 text*.eng and mentat*.eng files to his Siberian String Table Editor. I have started rewriting the Mentat descriptions to make them fit with the unique flavors of the new sides ;) Thanks go to Siberian_GRemlin ;D

Share this post


Link to post
Share on other sites

However I see a great job by MrFlibble. ;)

Only some questions and notes:

  • Do you work with v1.0 Super Dune 2, right? Isn't there even a 1.07 version (as "Battle for Arrakis" Dune 2 lastest version) for SD2? I don't like that you can't use Starport (the powerful CHOAM!) and game has IA bugs that Dune 2 v1.0 has.
  • It's a true sin that Mercenary & Sardaukar users can't build non-next already-existing-building, but it isn't a SD2 bug, but it's a Dune 2 bug (yes I try to create some demo-scenarios to them and also in Dune 2 (even v1.07 don't work :- )
  • I've an important problem: I wish re-create Dune 2 campaigns inserting even Sardaukar, Fremen and Mercenary use in scenarios, but for Sardaukar and Fremen I need to several MENTATS and MENTATF files (S to Sardaukar and F to Fremen). Ok the problem is that when I would use Sardaukar, game crash (with Fremen Mentat screen is all made a mess, but at least you can click to Procede button ;D )

So how I can do to don't crash game to Sardaukar hypothetical campaign?? ???

I tried all:

- using SD2 DUNE.PAK file to the place of original DUNE.PAK file v.1.07... mmh very bad idea, you don't try this at home! ;D Maybe I can try to v1.0 DUNE.PAK file?? ::)

- only inserting SD2 unpacked files as Mentat*.eng, Menshp*.shp, etc.. but it's a bit mess Fremen Mentat screen and it crash in Sardaukar Mentat screen.. >:(

- If you don't insert a Mentats (or Mentatf) file, game require this file in a 0 volume (so I think that these files have been thought by Dune creators... ::) )

MrFlibble can you help me?

You can explain how edit shp and cps files (I'm not interesting to text .eng, but only to see if it works v1.07 with Sardaukar/Fremen - strangely Mercenary works also only based game... ::) )

In the end I think that it's necessary work to v1.07 if you want avoid Building of a Dynasty bugs (v1.0)

Share this post


Link to post
Share on other sites

Hello drnovice,

First about versions 1.0 and 1.07. As far as I'm concerned, v1.07 somehow doesn't allow to play as Mercenaries and Sardaukar, even if all the necessary files are present. Thus, it's still v1.0 to go. However, I believe some of the bugs in v1.0 can be fixed without the official patch, and I'm working on it ATM. Same goes for the Mercenary and Sardaukar concrete bug.

In fact, I believe that it may be possible to fix the Starport and concrete bugs by editing the EMC files (build.emc and maybe team.emc), which contain routines that manage game mechanics. I have already contacted Minniatian, who is the author of the Dune 2 EMC patch and tools, on this matter.

Now, onward to Fremen and Sardaukar custom campaigns. The game needs these files: mentat#.cps, menshp#.shp, text#.eng and mentat#.eng (where # is either F or S) for the new factions to function. These files must be put in the Dune 2 directory, as the game either reads its files from the predefined PAK files OR from the game directory. Note that putting the new files into one of the existing PAK files doesn't work. The original SD2 uses the Harkonnen and Ordos mentat files for Mercenaries and Sardaukar (which are all screwed up), while I intend to create fully original and functional images and text.

What concerns editing Dune 2 graphics files, valid CPS images can be created using the XCC Mixer. For information about Dune 2 SHP files, check this post.

I tried but mentat*.eng files isn't opened correctly (Stream read error)... :-[

I think the latest version of the SSTEditor isn't yet available to general public...

Cheers,

MrFlibble

Share this post


Link to post
Share on other sites

Hello drnovice,

First about versions 1.0 and 1.07. As far as I'm concerned, v1.07 somehow doesn't allow to play as Mercenaries and Sardaukar, even if all the necessary files are present. Thus, it's still v1.0 to go. However, I believe some of the bugs in v1.0 can be fixed without the official patch, and I'm working on it ATM. Same goes for the Mercenary and Sardaukar concrete bug.

I've succeeded to work v1.07 for Fremen and Sardaukar mentat screen. ;) Only I copy original MENTATA&H.CPS, MENTATA&H.ENG, MENSHPA&H.SHP (Cyril and Radnor mentats) from original unpacked SCENARIO.PAK and rename them in MENTAF&S.CPS, MENTATF&S.ENG, MENSHPF&S.SHP, doing load Fremen and Sardaukar first scenarios.

A kind of homemade SD2 (but sincerely I think that SD2 original makers have done the same.. ::) )

In fact, I believe that it may be possible to fix the Starport and concrete bugs by editing the EMC files (build.emc and maybe team.emc), which contain routines that manage game mechanics. I have already contacted Minniatian, who is the author of the Dune 2 EMC patch and tools, on this matter.

Very interesting, surely I look at it carefully. ;D Thanks!

v1.07 only don't fix various bugs of the v1.0, but CPU IA is harder and can re-build own destroy building (that player has destoyed to its) and CPU better programs vehicle production and attacks to player.

Real problem is always "concrete slab" production, but I want help you about .emc files. :)

Now, onward to Fremen and Sardaukar custom campaigns. The game needs these files: mentat#.cps, menshp#.shp, text#.eng and mentat#.eng (where # is either F or S) for the new factions to function. These files must be put in the Dune 2 directory, as the game either reads its files from the predefined PAK files OR from the game directory. Note that putting the new files into one of the existing PAK files doesn't work. The original SD2 uses the Harkonnen and Ordos mentat files for Mercenaries and Sardaukar (which are all screwed up), while I intend to create fully original and functional images and text.

Yes, you know you're right (beauty Nirvana song ;D ): if you re-pack SCENARIO.PAK with even Fremen and Sardaukar mentat files (I don't know yet why for Mercenary, mentat files are already included.. ??? ) don't work. Files must be from game root.

What concerns editing Dune 2 graphics files, valid CPS images can be created using the XCC Mixer. For information about Dune 2 SHP files, check this post.

I think the latest version of the SSTEditor isn't yet available to general public...

Cheers,

MrFlibble

Ok thanks for reply and info 8)

Share this post


Link to post
Share on other sites

I've succeeded to work v1.07 for Fremen and Sardaukar mentat screen. ;) Only I copy original MENTATA&H.CPS, MENTATA&H.ENG, MENSHPA&H.SHP (Cyril and Radnor mentats) from original unpacked SCENARIO.PAK and rename them in MENTAF&S.CPS, MENTATF&S.ENG, MENSHPF&S.SHP, doing load Fremen and Sardaukar first scenarios.

Yes, I've also checked version 1.07 more thoroughly and found that it works :) The starport functions as well, but it delivers cargo instantly after ordering. Concrete doesn't work sadly :(

My first tries at editing the build.emc file were unsuccessful. I copied all the Starport emc data from 1.07 to 1.00, and even tried placing the new emc files in the dune.pak, yet it didn't fix the problem.

It seems that build.emc deals mostly with graphics, animation and such stuff, rather than with game mechanics. I'm currently playing around with the executable, using the knowledge derived from the dune 2 unit/structure editor (can be downloaded from Nahoo's Dune 2 page, works with v1.0 only). Maybe some results will be achieved in the future ::)

Share this post


Link to post
Share on other sites

I think that .emc files regulate animations and game events, but don't fix production rules of game (i.e. Ordos don't build Launcher, in 2nd scenario you can't build starport, etc).

Share this post


Link to post
Share on other sites

Yes, these parameters are stored in the executable file. The editor I mentioned above, however, doesn't allow to edit all those features, so I've got to figure out some things myself, and HEX-edit the exe to achieve results.

EDIT: More information about EMC files from Minniatian can be found in this forum thread.

Share this post


Link to post
Share on other sites

A HEX-editor ;) I'm currently looking for a good disassembler/debugger, this is an issue because many DOS debuggers don't want to work in Windows or DOSBox...

Share this post


Link to post
Share on other sites

Still haven't found a debugger?

Try working from within an emulatotor like BOCHS (it's free). It emulates everything ideally, instruction by instruction, so there'll be no difference from a real DOS-based machine except that it has no full-screen support under windows and that it'll work a bit slower.

Another alternative is a virtual machine, of which I know Microsoft's Virtual PC (free) and VMWare Workstation (commerical). They both should run MSDOS 6.22 pretty well and fast, but the emulation may be not as perfect as that in BOCHS.

So, if speed is not critical for you, I recomment BOCHS. I am using it myself (with MSDOS 5.0 and 6.22) and know for sure it does the job. You'll need an MSDOS distro and  program to work with image files.

Share this post


Link to post
Share on other sites

I'm trying to modify REGION*.INI files, and another problem that I have found is that with Fremen (I think even with Mercenary and Sardaukar, but I still must verify...) regions already conquered don't remain visible next times that you going in Dune world map.

Isn't a relly problem (it works too) but a player could lost to mind regions already conquered. ::)

Share this post


Link to post
Share on other sites

Indeed, this is also a problem that needs to be fixed. Actually, you can just refill all the conquered regions after every misison, but this may become cumbersome in later missions.

Here's the list of bugs currently present in Super Dune 2:

  • Mercenary and Sardaukar concrete bug :(
  • Mercenary and Fremen global map bug
  • Starport bug
  • All the new sides have the same Atreides ending that should be either removed (should be simpler to do) or maybe replaced with something else ???

Share this post


Link to post
Share on other sites

about regions; i thought that it was mandatory to always specify the regions one house already has conquered.

I think it was done intentional, since it would consume memory to remember this information even when not needed. So re-loading that from a file would make sense.

Share this post


Link to post
Share on other sites

@ Stefan

REGION*.INI is divided into groups that correspond to each mission. I think the game first reads all the regions from the previous groups and then draws whatever regions are specified by the current group. E.g. if you've completed mission #3, the game first draws groups 1 and 2 (off-screen), and then draws the regions "conquered" in mission 3. For a reason, Mercenary and Fremen regions are ignored (gotta check if this is true for 1.07).

@ ant222

I'll try BOCHS, thank you for the tip. BTW, I've also tried SoftICE, but only had partial success in loading it (in DOS Box; it refused to work anywhere else). SoftICE loaded only when I disabled EMS memory, but it seemed to freeze when I tried to switch between it and Dune 2 :( Currently I'm using TWR2000, the only one I could get to work (although it crashed a couple of times). Now I've got some debugging tutorials to read, as my level of expertise in the area is extremely low.

Now, to more cheerful news: the Dune 2 SHP converter created by Ultraq (go here to read about it) works, and the SHPs it creates are compatible with Dune 2 1.07. This is why I'm switching SD2SE from 1.0 to 1.07, this may also help solve other bugs. More info later ;)

Share this post


Link to post
Share on other sites

@ Stefan

REGION*.INI is divided into groups that correspond to each mission. I think the game first reads all the regions from the previous groups and then draws whatever regions are specified by the current group. E.g. if you've completed mission #3, the game first draws groups 1 and 2 (off-screen), and then draws the regions "conquered" in mission 3. For a reason, Mercenary and Fremen regions are ignored (gotta check if this is true for 1.07).

Yes but maybe if we try to re-pack region*.ini & scenario*.ini for Fremen/Mercenary/Sardaukar in a SCENARIO.PAK file, this bug could be fixed (if we don't try, we don't know)

@ ant222

I'll try BOCHS, thank you for the tip. BTW, I've also tried SoftICE, but only had partial success in loading it (in DOS Box; it refused to work anywhere else). SoftICE loaded only when I disabled EMS memory, but it seemed to freeze when I tried to switch between it and Dune 2 :( Currently I'm using TWR2000, the only one I could get to work (although it crashed a couple of times). Now I've got some debugging tutorials to read, as my level of expertise in the area is extremely low.

I hope that you succeed early. ;)

Now, to more cheerful news: the Dune 2 SHP converter created by Ultraq (go here to read about it) works, and the SHPs it creates are compatible with Dune 2 1.07. This is why I'm switching SD2SE from 1.0 to 1.07, this may also help solve other bugs. More info later ;)

Great! You've modified .shp files of v1.07 DUNE.PAK file?? :)

Share this post


Link to post
Share on other sites

@MrFlibble

Ah yes, that makes sense.

It has been a while. But, however, i did manage to write an own Atreides campaign once (i think you can still download it?), where i also have Fremen and Mercenary territories built in? I also use V1.07 for that of course. I don't know for sure if it can help you, it has been a long time.

Share this post


Link to post
Share on other sites

I must still do that Atreides' campaign (yes it can still be downloaded ;) ) to view how works REGIONA.INI..

Anyway what is the behavior of allies (Fremen if the player is Atreides, and viceversa) in game? This supposing that CPU of ally has [TEAMS] rules to produce units. ::)

Share this post


Link to post
Share on other sites

Cool! ;D

In region*.ini files it can also be added more than 3 regions to invade (with relative arrow and coordinates) in every [GROUP*]..

So for example you can use 4 different scenarios (4 regions to invade) for 2nd mission and only 2 scenarios for 3rd mission, to do more original Dune conquest during player game (instead of usually 3 different scenarios every mission). ;)

P.S. You can add until to 20 scenarios (to invade) per mission; however every next mission game follows the usual scheme (add 3 at scenarios number).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×