Jump to content

Dune 2 eXtended Project


MrFlibble

Recommended Posts

Now, I promised to show you something decent, so here it is: a small demo that shows new mentat animations. Also, it has 4 playable missions, don't expect them to be easy ;) Only Fremen and Sardaukar are featured in the demo, and also many bugs are still present. You will need Dune 2 v1.07 to play the demo, as it is supplied as an add-on. Hope the installer I created doesn't mess up things much :) Enjoy.

EDIT: The demo can be now downloaded here at the Project Perfect Mod Forums. You don't need to register to download the demo.

Link to comment
Share on other sites

I've isolated problem and I can tell you that is dune2.sd2 (it will be renamed dune2.exe) to don't work.

I try to use DUNE.EXE original v1.07 file and it work on gfx sound (only in intro screen don't view Load voice, but you can still click on it. ::) )

This maybe because modifications must be done on original v1.07 DUNE.EXE file, and not on patched v1.0 that becomes v1.07.

Others files are all working. ;)

Link to comment
Share on other sites

Another sd2demo SE problem: mentat.pak is incomplete (there aren't all .wsa image files), so if you try to insert Starport and put in CHOAM tracked vehicles in scenarios, Starport freeze on game.

If you do original MENTAT.ENG file, Starport don't freeze; but you would insert changed .wsa files (that are FARTR.WSA, FHARK.WSA and FORDOS.WSA) by mentat.sd2 file. ;)

Compliments to MrFlibble for accuracy of new introduced texts, just by background! :)

Link to comment
Share on other sites

Well I edited the mentat.pak file to reduce the package size for the demo. I didn't expect you to mod things, just play around with 'em :D How do you like the new missions? Did they add some fresh action into the good old Dune 2?

The dune2.exe file I use has copy protection removed, to simplify gameplay. I don't know why it crashes sound. Do you use the Dune 2 sound patch? Do you run Dune 2 in the native environment, or an emulator like DOSBox? I know that on my machine, running Dune 2 with sound and extended memory enabled in regular DOS mode (under Windows) leads to crashes.

I honestly recommend you all to use DOSBox (latest version is 0.72), as it runs Dune 2 almost perfectly. In my opinion, emulating SBPro2 gives best results for digitized sound.

I'll conduct further research to determine if the problem with regions can be fixed.

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).

Have you found out whether you can add more scenarios (like SCEN*0023.INI etc.) and play them. Like play the game as usual, then choose, say, 3 regions in the final mission instead of 1?

I also tried adding more groups, like GROUP9, but the game finishes after mission 9. If we find a way to circumvent that, longer campaigns would be possible ;D ::)

Link to comment
Share on other sites

Yes I imagined that .pak files would be lighter to have a contained zip file. ;) New missions are curious and funny, second scenarios is very original above all. ;D

Regard to dune2.exe file that crashes with gfx sound, I didn't try to use sound patch (maybe for this reason that game crashes), but I even run demo on DosBox (latest version) and it crashes too.

However I hearding how sound everytime freeze (when voice informs that harvester is deployed, enemies units are approaching or are destroyed for example..), I think is better play the game with no sounds. ::)

Have you found out whether you can add more scenarios (like SCEN*0023.INI etc.) and play them. Like play the game as usual' date=' then choose, say, 3 regions in the final mission instead of 1?

I also tried adding more groups, like GROUP9, but the game finishes after mission 9. If we find a way to circumvent that, longer campaigns would be possible ;D ::)[/quote']

I found out that you can add until to 20 regions to invade, so to have 20 scenarios to play, but game every next mission, the game add only 3 to scenarios result to have "the new start point" for next mission.

For example when you complete 2nd mission you have played one between scenario 002, 003 or 004, so 3rd mission start to scenario 005 to arrive 007 scenario. If you add 2 scenarios in 2nd mission (so having scenarios: 002, 003, 004, 005, 006), next mission start always to 005 scenario, 'cause game adds 3 to previous start point of previos 2nd mission (that was 002).

In other words it's no useful putting more than 3 scenarios per mission: if you put less scenarios, you don't exploit to max free slots for scenarios, because game adds always 3 to next missions, even if there are less scenarios. This only from 2nd mission until 7th mission, because after the game for 8th mission adds 2 to "scenarios start point" to arrive in 9th mission that ends the battle.

So we have the scheme:

- 1st mission: scen*001; start point: scen*001

- 2nd mission: REG1/scen*002, REG2/scen*003, etc (you can add until to 20 regions/scenarios); start point: scen*001 + 1 = scen*002

- 3rd mission: REG1/scen*005, REG2/scen*006, etc; start point: scen*002 + 3 = scen*005

- 4th mission: REG1/scen*008, REG2/scen*009, etc; start point: scen*005 + 3 = scen*008

- etc, etc...

- 8th mission: REG1/scen*020, REG2/scen*021, etc; start point: scen*017 + 3 = scen*020

- 9th mission: REG1/scen*022, etc (I think that you can still add until to 20 scenarios); start point: scen*020 + 2 = scen*022.

I guess that we can add scenarios in useful way only in ultimate mission, 'cause otherwise we risk to play the same scenarios between one mission and another ones. ::)

Link to comment
Share on other sites

I still find it odd that the demo freezes... You say your own DUNE2.EXE works fine? Have you tried running SETUP.EXE after the demo EXE file was installed? Maybe that would fix the problem... Anyone else have the same issue? I'm asking because I run SD2 in DOSBox and no sound problems have occurred so far...

Now, onto some news. I've found a way to pack the new SD2 files into the original PAKs (like having scenario files in SCENARIO.PAK). In the game executable, there is a list of files inside the archives, this is BTW why the game doesn't "see" the extra files if they're placed in an existing PAK file. Now that some of the original files are not used, I replaced their names with the names of new files, and it works :)

Also, you may have noticed that the game skipped the word "mercenary" in audio announcements, e.g. the mentat would say "harvester deployed" instead of "mercenary harvester deployed". When the developers decided not to include the mercenaries, they removed the file from the list of files to be played. I found that list in the exe, it is represented by file "masks", like c%ORDOS.VOC or c%FREMEN.VOC, where c% stands for "House identifier" letter (A, H, O etc.). Instead of c%MERC.VOC there was FILLER.VOC, name of a blank sound file, so I changed it back so that the game announces mercenaries now.

Another thing I did was edit the v1.07 build.emc file. I learned to edit EMCs a bit, so I added 2 of three changes that are in Minniatian's patch (which is for v1.0): reduced R-Turret's range a bit, and made carryalls pick up units from repair bays without surrounding the latter with walls - very useful!

Link to comment
Share on other sites

I still find it odd that the demo freezes... You say your own DUNE2.EXE works fine? Have you tried running SETUP.EXE after the demo EXE file was installed? Maybe that would fix the problem... Anyone else have the same issue? I'm asking because I run SD2 in DOSBox and no sound problems have occurred so far...

If I use windows-sound-patch, game don't crash only in patched v1.07 Building of a Dynasty (if you see starting screen), instead in v1.07 Battle for Arrakis (if you read in starting screen) sd2se_demo crashes with enable sounds. Maybe you've worked on v1.07 Building of a Dynasty?? ::)

Now, onto some news. I've found a way to pack the new SD2 files into the original PAKs (like having scenario files in SCENARIO.PAK). In the game executable, there is a list of files inside the archives, this is BTW why the game doesn't "see" the extra files if they're placed in an existing PAK file. Now that some of the original files are not used, I replaced their names with the names of new files, and it works :)

Sure, you can also use WWPAK for re-build a custom SCENARIO.PAK file, it's a powerful utility for your .PAK files! ;)

Also, you may have noticed that the game skipped the word "mercenary" in audio announcements, e.g. the mentat would say "harvester deployed" instead of "mercenary harvester deployed". When the developers decided not to include the mercenaries, they removed the file from the list of files to be played. I found that list in the exe, it is represented by file "masks", like c%ORDOS.VOC or c%FREMEN.VOC, where c% stands for "House identifier" letter (A, H, O etc.). Instead of c%MERC.VOC there was FILLER.VOC, name of a blank sound file, so I changed it back so that the game announces mercenaries now.

I haven't found out this Mercenary voice problem, but however good work. :)

Another thing I did was edit the v1.07 build.emc file. I learned to edit EMCs a bit, so I added 2 of three changes that are in Minniatian's patch (which is for v1.0): reduced R-Turret's range a bit, and made carryalls pick up units from repair bays without surrounding the latter with walls - very useful!

Remember the Sonic Tank bug, that in fastest game have a +1 long range of Rocket Launcher, in Lowest game have instead a -1 long range of Rocket Launcher (considering that Rocket Launcher would have the same range of  R-Turret).

Good idea for Carryall. ;)

Link to comment
Share on other sites

If I use windows-sound-patch, game don't crash only in patched v1.07 Building of a Dynasty (if you see starting screen), instead in v1.07 Battle for Arrakis (if you read in starting screen) sd2se_demo crashes with enable sounds. Maybe you've worked on v1.07 Building of a Dynasty?? ::)

Hmm, I thought that DUNE2.EXE from patched US version (The Building of a Dynasty) and from the European version (The Battle for Arrakis) are identical...

EDIT: Hey drnovice, maybe demo doesn't work with your European version becuase you've got non-english  language (German or French) installed?

Remember the Sonic Tank bug, that in fastest game have a +1 long range of Rocket Launcher, in Lowest game have instead a -1 long range of Rocket Launcher (considering that Rocket Launcher would have the same range of  R-Turret).

I don't know if this bug is fixable. Probably not.

Link to comment
Share on other sites

EDIT: Hey drnovice' date=' maybe demo doesn't work with your European version becuase you've got non-english  language (German or French) installed?[/quote']

I've got just english language installed. And then after installed windows-sound-patch, only english language is possible to setup.

I think that it conflicts dune2.exe patched american v1.07 (and I'm sure that european v1.07 DUNE2.EXE file is different) with others .pak european files (above all voice sound .pak file). ::)

Link to comment
Share on other sites

Now that we're talking about it, maybe you would make a list of all PAKs and the files inside them in the European version, for comparison?

BTW, do you use XCC Mixer?

As of more general stuff, fixing the concrete bug is still top priority. However, I can't say I made a lot of progress in this matter... I have studied data related to unit and structure characteristics (that can be modified with the editing program I mentioned earlier), and I believe the parameters responsible for the concrete bug are not there.

It seems that there is a general tech tree in the game, which is used by all the Houses, but each House has certain modifications that are not included in the tech tree (and hence stored somewhere else in the executable). For example, the "general" version of Light Factory builds Trikes and, if upgraded, also Quads (but no Raiders!). However, Ordos always build Raiders instead of Trikes, no matter what (I mean I tried editing available data in numerous ways, but you simply can't replace Raiders with Trikes for the Ordos). The Harkonnen, on the other hand, can only build Quads and don't need an upgrade for them. If you enable Trikes for the Harkonnen, Quads will still be built without the upgrade.

This "general" tech tree is used by all the new factions without any modifications. It includes every building and unit, including House-specific tanks, except for the Raider and Deviator (these are not included in the buildlists of the corresponding production facilities).

What I believe is that if every House theoretically has additional data about things it is allowed to build, whatever causes the concrete problem could also be there. The question is, how to locate this data in the executable?

Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...

Yo MrFlibble,

It's been a while, but I haven't forgotten your request to allow for the creation of those Dune 2 SHPs with multiple images in them.  I've updated my conversion utility to allow for this, but I haven't been able to give it a really good test.

Details for the latest version are in the same thread: http://cnc-tech.planetcnc.gamespy.com/index.php?showtopic=3699

You'll probably be looking at using the new mpng2shpd2 (multiple PNG -> Dune 2 SHP) batch file.  Usage instructions included in the program aren't the best, but basically if you want to turn several PNG files into a Dune 2 SHP, you have to name them the same, except for a 3-digit number included at the end of the filename, eg:

image000.png

image001.png

image002.png

Then use "image.png" (minus quotes) as the source file name.  I think you'll be able to figure it out once you give it a try.  Hopefully this should give you the ability to create those Dune 2 SHP files which have multiple images of different dimensions in them.

As always, feel free to reply to that CNC-Tech forum thread to tell me about problems/suggestions for the tool.

(I've also posted this to your PPMSite forum thread).

Link to comment
Share on other sites

  • 2 months later...

Somehow Cryo's Duncan seems to be always sneering at something. That's why I picked him for a Sardaukar commander, for this apparently contemptuous attitude. The screenshot just shows a little too expressive facial animation :)

In short, he's angry at the outpost being almost lost to a bunch of Fremen scum ;)

Link to comment
Share on other sites

Good to see this project is still alive :) I finally downloaded that unit stats editor and found the bit that defines who can build what unit. Not entirely sure how it works yet, but if you tell me how you'd like the tech tree setup I'd be happy to fix it for you :)

Link to comment
Share on other sites

Hello jordos, nice to see people interested in the project as well :)

This summer, I tried to work out the tech tree, and have some research done, which, if I convert it from handwriting to computer text, can be distributed to those who may be interested.

Basically, there's a section in the EXE for each unit, that contains its stats, as well as references to text strings in the dune.eng string table file (string number in hex, if I remember correctly) and graphics data (in-game sprite, turret sprite if needed, small icon and large icon). The sections are stored in different locations in the versions 1.0 and 1.07, and they also differ in gfx data addresses, but apart from that, their structure is the same. The House(s) which own(s) a unit/structure is defined by one byte, which is usually 3F in hex. If you change the second part of it (I don't know how it's called in programming language, sorry :-[), e.g. to 3A, this will change what playable Houses own it (for example, 3F means a unit is owned by AT, HK and OR; 3A - only AT). But if you change the first part, e.g. to 1F, it will affect the ownership by the Sardaukar, Mercenaries and Fremen. Thus, 1F means a units if owned by Fremen, Sardaukar, Harkonnen, Atreides and Ordos. However, as far as I can tell, Fremen always own all units, no matter what value you give to the ownership byte.

Apart from that, there are more specific and intricate things. For example, if you look up the stats for a Light Factory, the Raider Trike is not listed among the units it produces - which doesn't prevent the Ordos from building Raider Trikes instead of normal Trikes in it. Also, if you change the ownership of the Raider Trike from Ordos to all Houses, it still won't appear in the buildlists of Harkonnen and Atreides light factories. Ergo, this data (that replaces the Trike with a Raider Trike specifically for the Ordos player) is stored elsewhere in the EXE (or maybe somewhere else entirely, like in the EMC files). Same thing with the Deviator (which is missing from the units that a Heavy Factory builds, according to this structure's section) and the Harkonnen Quad that doesn't need the factory upgrade to be produced.

So far, I have been unable to locate these data chunks. I guess it takes more knowledge and skills than mine to do this.

Link to comment
Share on other sites

The House(s) which own(s) a unit/structure is defined by one byte, which is usually 3F in hex. If you change the second part of it (I don't know how it's called in programming language, sorry :-[), e.g. to 3A, this will change what playable Houses own it (for example, 3F means a unit is owned by AT, HK and OR; 3A - only AT). But if you change the first part, e.g. to 1F, it will affect the ownership by the Sardaukar, Mercenaries and Fremen. Thus, 1F means a units if owned by Fremen, Sardaukar, Harkonnen, Atreides and Ordos. However, as far as I can tell, Fremen always own all units, no matter what value you give to the ownership byte.

Actually, from my knowledge in C&C1, this is probably a group of bit switches.

3F translates to [0011][1111] in binary, or simply 111111, meaning Enabled (1) for all of the 6 sides.

3A translates to 111010, meaning that the first three bits (the highest) are probably the 3 special sides, and the last 3 (the lowest) are the normal ones. Judging from your examples, the middle of these lowest bits seems to be Atreides, and the highest bit is the Mercenaries.

So, purely hypothetical, let's assume the order is: Merc Sard Frem Ords Atrd Hark

Then you can disable Fremen just by disabling the third bit:

MSF - OAH

110 - 111

So the value to insert in the editor will become 110111 = [0011][0111] = [3][7], so 37h

As you see, this would mean that the Fremen were still part of the lowest number in the byte, since one byte is 8 bits.

Mind you, this order may not be completely correct, since I don't have any more data. You should simply experiment with it to work out which bit is which side.

Note that you can easily do these conversions by putting the WinXP calculator in Scientific mode.

Just change the mode between binary and hexadecimal and it'll convert the value on the display.

Link to comment
Share on other sites

Oh Nyerguds, that's some good ideas there :) I think I could ask your advice every now and then, if you don't mind ;) What do you think about the more specific House units data that is stored somewhere else? Or is it that some bytes that I could not yet identify contain information about more specific tech tree data, like upgradeless Hark Quads, non-upgradeable Hark Hi-Tech Factory, Hark WOR that is available from mission 2 and does not require Barracks as a pre-requisite, Ords Raider and Deviator, and such stuff?

EDIT: More info on the ownership bytes.

Playable Houses:

3F AT HK OR

3E AT OR

3D HK OR

3C OR

3B AT HK

3A AT

39 HK

38 (only unplayable houses)

Unplayable Houses:

1F FR SA

2F ME FR

3F ME FR SA

4F FR

5F FR SA

6F ME FR

7F ME FR SA

8F FR

9F FR SA

AF ME FR

BF ME FR SA

CF FR

DF FR SA

EF ME FR

FF ME FR SA

Link to comment
Share on other sites

Heh that was too easy. Here ya go...

Ownership table:

------------------------------------

Side                        Value

------------------------------------

Harkonnen.....................1

Atreides......................2

Ordos.........................4

Fremen........................8

Sardaukar....................16

Mercenary....................32

------------------------------------

Just add the values of the sides you want together and convert to hexadecimal and you got the value you need.

For example, if you want something to be built by Harkonnen, Ordos and Sardaukar the binary value would be 010101 which is (in binary) 1 + 100 + 10000, which is (in decimal) 1 + 4 + 16 = 21 which is (in hexadecimal) "15". Not too hard... you just need to learn to convert these things.

The examples you got up there aren't really correct, since you use the 2 leftover bits before the 6 that actually determine the sides.

For example, FF (1111 1111), obviously gives the same result as 3F (0011 1111) since the first 2 bits aren't used.

Really, just open the frikking calculator and try it out, sheesh ::)

---

As for that other stuff... I have no idea, I haven't ever taken a look inside Dune II. If you could direct me to any editing tools you got, I could probably figure out a lot more of this.

Link to comment
Share on other sites

Cool 8) Thanks! ;D I've just checked with the calculator, and it appears that your initial projection about the order of switches - MSFOAH - is correct :) Great!

Does your C&C editing experience tell you anything about where more specific side characteristics could be stored? The "concrete bug" is really annoying :(

Link to comment
Share on other sites

Eh, if you link me to any editors you've got I can take a look at it... in C&C, all unit data are grouped by unit. So you got all setting of one unit, then all settings of the next one, etc. C&C has 4 different blocks of data like that; units, structures, infantry and aircraft.

Well it has more, like weapons and warheads and terrain n stuff, but that's usually harder to identify.

If I just got an editor and a file to work on I can easily look where data is modified and then I can look if the other unit data is somewhere around it. I know the kinds of data structures to look for from editing C&C; I don't think Dune2 will be much different.

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...