Jump to content

Dune II editor with 1.07 support


Nyerguds

Recommended Posts

Huh? bizarre... must check that out.

[edit]

I see. It's not related to the custom exe, it's related to dropping a file into it. The program just dumps the ini in the folder it was started from. But Windows screws that up when you give it a parameter by dragging a file into it. In my WinXP it runs from C:\Documents and Settings\(my username)\

I'll make it use the folder of the exe it loads instead.

Link to comment
Share on other sites

http://nyerguds.arsaneus-design.com/dune/dune2edit/d2editor_v1.18.2.zip

Done!

v1.18.2

-The ini dump file is now always written to the path of the Dune II exe file

-The path on the ini dump frame is shortened if it is longer than the frame

Oh right, and in case someone would ever find it useful to READ the data, programmatically, I made sure no option descriptions start with [ now :laugh:

Link to comment
Share on other sites

I apologize for providing inaccurate information about the language files in the aforementioned Dune II KY Demo. The spaces at the end of text strings in string table files are only found in ENGLISH.PAK, in both GERMAN.PAK and FRENCH.PAK all text files are the same as in the EU version (with the exception that CREDITS.GER/FRE is missing from both PAKs here).

Link to comment
Share on other sites

  • 7 months later...

Hi guys, I'm the drnovice's brother and i tried to use this great editor...

Unfortunately I can open only DUNE2.exe original file, with other modified versions (as DUNEX.exe by MrFlibble) I can't open its!

String error write this: Error opening "DUNE2.EXE". when the editor don't find any file called DUNE2.exe ...

If I try to rename an exe file as DUNEX into DUNE2 the sting error is: ERROR: Cannot identify the Dune 2 version of the file "DUNE2.EXE".

How can I resolve this problem?

Thanks.

Link to comment
Share on other sites

Don't rename the Dune 2 exe file. There's a text string inside the exe that has to be the same as the name of the exe file itself, and the editor uses that to identify the game version. In the DUNEX.EXE it's obviously been changed to "DUNEX.EXE", so if you rename the exe file it doesn't match anymore.

To open the file correctly, simply drag and drop it onto the icon of d2editor.exe.

  • Upvote 1
Link to comment
Share on other sites

Thanks very much Nyerguds! ;)

Now I can open any Dune 2 exe files! :laugh:

But I don't understand how I can create new units rather than modify existing ones...

For example MrFlibble in his DUNEX.exe has modified Sardaukar Trooper and Fremen Warrior/Warriors with new icons, new string name and some peculiarities as the wheeled explosion when Sardaukar Trooper died! ???

I would modified Sandworm unit, because in his campaign it's always as enemy, while I wanted to do that using the Fremen faction the Sandworm could be controlled... actually reading DUNEX.exe by MrFlibble from your editor, Sandoworm is a Fremen units, but when you play with the Fremen is actually an enemy! Why? (Maybe MrFlibble can answer)

Edit: I realized just now that MrFlibble has changed the Soldier in Fremen Warrior and the Infrantry in Fremen Warriors. He has also modified Ordos Raider Trike in Sardaukar Trooper more powerful! Great! ;)

But the question remains: if whether it's possible add new units in addition to the existing ones?

Link to comment
Share on other sites

Totally impossible, sorry. That hasn't been supported in the Westwood RTS games until Tiberian Sun; that's 7 years later.

I pulled it off in C&C95, but even then it cost me several YEARS of research. Do keep in mind there, C&C's game engine is the one TS would eventually evolve from, meaning this was more a matter of unlocking potential that was already there. Compared to the Dune II engine though, it's totally rewritten and redesigned from the ground up. And unlike Dune II, C&C is a 32-bit program, meaning it's tons easier to edit, it uses dynamic object creation (making it overall easier to add new types of anything), and my good friend Hyper added extra space into the exe for me so I could add my extra programming there.

Dune II is 16-bit, and its entire units array is completely hardcoded, meaning there's no way to expand it since there's simply no space to expand to, and all of the unit data HAS to be together in one big block (which isn't the case in C&C). And then we're not even keeping in mind the fact weapons and units are the same type in Dune II, and so far it hasn't been possible to even change a weapon into a working unit. So even if a new one were added, making the game accept it as actual working unit would probably not work.

I think the only way we could ever see that is from the OpenDune project.

  • Upvote 1
Link to comment
Share on other sites

But I don't understand how I can create new units rather than modify existing ones...

For example MrFlibble in his DUNEX.exe has modified Sardaukar Trooper and Fremen Warrior/Warriors with new icons, new string name and some peculiarities as the wheeled explosion when Sardaukar Trooper died! ???

Those are replacements of existing units. I modified regular infantry into Fremen Warriors (I had to do some hard-coded stuff to make them fire rockets too), and the Sardaukar Trooper is "made" from Raider Trike. That's why it gets a wheeled vehicle explosion - I haven't figured out how to remove it, and it gives you the cool side-effect of damaging a vehicle if it runs over the Trooper.

In short, you can't add new units, and the ability to modify existing ones is quite limited. I once tried to make a unit out of a then-unused projectile (the gas missile, which wasn't used before I found the way to make Deviator gas affect the unplayable sides' units). It didn't work at all.

I would modified Sandworm unit, because in his campaign it's always as enemy, while I wanted to do that using the Fremen faction the Sandworm could be controlled... actually reading DUNEX.exe by MrFlibble from your editor, Sandoworm is a Fremen units, but when you play with the Fremen is actually an enemy! Why? (Maybe MrFlibble can answer)

Sandworms use a lot of exception logic, they're no good for making regular units (you can't have more than two on the map at any time, BTW). As for them being designated as "Fremen" in the editor, it simply means that the Fremen could build Sandworms if those were actually buildable (just like only the Ordos can build Deviators etc.). You can assign actual Sandworm units you have on the map to any House, but the problem here is that, because of its special behaviour logic, the Sandworm will still try to eat your own units, even if you control it. The only way to fix it is to give the Sandworm an Area Guard order, which makes it less aggressive towards the human player's units. You might want to take a look at how it was done in Super Dune II Classic (which retains the use of Sandworms by the Fremen from the original Super Dune 2; I never really liked the idea, so I dropped it in DuneX).

Link to comment
Share on other sites

It would be cool if Fremen Palace create Sandworms instead Fremen Troopers. tongue.gif

Hmm... if not for the unit limit on sandworms, that would be a matter of finding the code that spawns the Troopers and change it to the unit ID of the Sandworm. Main problem would still be that they don't have any restriction to make them only spawn on sand though.

As for that unit limit, it might be possible the unit array restrictions can be changed to fix that. It's an option in the unit editing properties. But if I remember correctly, in the case of the Saboteur this made it become invisible...

Link to comment
Share on other sites

I remember about invisible saboteur, but I thought it was a bug in release 1.0...

My brother joke a bit about the .exe editor and he tried to make Sandworms in a production base (like WOR or Heavy Factory) and the limit units is TWO (as if you try to pre-placed more than TWO sandworms in scenario: the others more than TWO ones are lost!)... it's interesting to see that produced sandworms take only ONE "meal" and then disappear

Anyway actually in DuneX mod when try to create Fremens in Atreides/Fremen Palace, they are Fremen Warriors (changing of Infrantry) or simply Fremen Trooper as original games?

If this is the first, means that you have found a way to change the link id of the units with those provided from the Palace.

Link to comment
Share on other sites

Well as was mentioned already, the DuneX Fremen trooper is actually a different unit. The Palace superweapon spawns Troopers.

It's pretty easy to see; the new Fremen Warrior is always just one guy, not a squad.

By the way, there's no real restrictions on which building produces what type. Since all of the units and even weapons are the same type, all producing buildings can make infantry, wheeled vehicles, tanks, and air units.

Link to comment
Share on other sites

  • 3 months later...

I've finally delved into the OpenDune data, and there's some pretty amazing information in here. Almost all unknowns are identified now. Some examples:

  • All options of units and structures up to the Owner value are 100% the same, despite the fact a lot of them are only applicable to one of the two types. I added all options to both lists, but indicated options that aren't applicable to that type with a * at the end, and a special Help description.
  • With more data differences between Bullet and Unit types identified, it might be possible to change bullets into units and vice versa. Haven't experimented yet though.
  • The thing I identified as "units can enter" on buildings, almost completely at the beginning of the development, amazingly turned out to be (byte #2 of) a prerequisites-like list for allowing specific units to enter a building. The reason this was "0/1" for one of the bytes was simply because the only activated data in that byte, for both the repair facility and the refinery, was the harvester, which is the first bit in it. This means you can now let ANY unit be repaired. Odd detail: apparently the MCV is NOT set as Allowed to Enter by the repair facility.
  • A lot of options (mostly in the files) are filled in during the game startup or during the course of the game, and will be indicated as such.
I'm currently implementing all of this delicious stuff, and cleaning up some internals (like, using one single bit-flags-list handling function for the prerequisites, the allowed units, and the ownership, since they're all the same thing internally, beside the fact they read their names from a different list).
  • Upvote 1
Link to comment
Share on other sites

Seems I somehow broke the ini dump function. I'll look into that later :|

[edit]

Turned out to be more serious than I thought. The whole "movement types" system had been broken for a while. I wonder why it didn't crash on this before.

Anyway, fixed in v1.19.1:

http://nyerguds.arsaneus-design.com/dune/dune2edit/d2editor_v1.19.1.zip

[edit]

Updated the rules.ini dumps on my website with dumps from the newest version.

  • Upvote 1
Link to comment
Share on other sites

Sorry, I've been pretty busy lately, and only check stuff on the Internet sporadically. As always, you did an awesome job implementing new;y discovered things into the editor :)

  • The thing I identified as "units can enter" on buildings, almost completely at the beginning of the development, amazingly turned out to be (byte #2 of) a prerequisites-like list for allowing specific units to enter a building. The reason this was "0/1" for one of the bytes was simply because the only activated data in that byte, for both the repair facility and the refinery, was the harvester, which is the first bit in it. This means you can now let ANY unit be repaired. Odd detail: apparently the MCV is NOT set as Allowed to Enter by the repair facility.

This is probably the most interesting bit of what you've listed (I guess there's more?), I remember it seemed weird that the option to enter structures was some odd value in that old DUNE2.EXE editor where it was first defined (it was shown as something like -128 or whatever; but that editor had plenty of such values, due to some options not having been correctly identified and/or broken down into separate sections) :D

Link to comment
Share on other sites

That was probably the second lowest byte then. For the repair bay, the bytes are 00 01 FF 80. for the refinery it's 00 01 00 00.

That FF byte of the repair bay is indeed -128 in decimal, but in reality, the value is the full 4 bytes.

I'd never have realized this without the OpenDune code though.. just as I would never have realized that tons of the previously-unknown values at the start could never be identified because they were shared by units and buildings, but completely unused by one of them.

  • Upvote 1
Link to comment
Share on other sites

  • 1 month later...

I was wondering why, when I tried messing with it, a harvester with movement type "foot" kept exploding when it started harvesting.

This is the result of animation differences between foot units and vehicles. Namely, foot units cycle through several neighbouring frames for movement animation, while vehicles have only one movement/standing animation. When a unit with vehicle graphics tries to cycle through frames like an infantry unit would, it gets into an explosion animation, playing which destroys that unit (meaning that unit destruction is linked to the animation, and playing it means destroying that unit; the UNIT.EMC file must be responsible for this kind of cause-effect stuff).

Link to comment
Share on other sites

  • 1 month later...

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