Jump to content

Dune II editor with 1.07 support


Nyerguds

Recommended Posts

Looking at that, it seems safe to change the explosion type of the raider trike.  So in UNIT.EMC, around bytes 0x10B4 you should see: 44 0A 4E 0E.  This means push (44) explosion type (0A) execute function (4E) spawn explosion (0E).  So just change 0A to 04 for the saboteur explosion.
Thanks a bunch! :D
That's right.  The formula is min(unit->hitpoints * 2, structure->hitpoints / 2).
Heh, nice to know that at least some of the game mechanics can be deciphered by means of observation ^_^
Link to comment
Share on other sites

dynasty said:
const enum SampleID g_table_voiceMapping[SOUNDID_MAX] = {...0xFFFF, /* 43: Sonic Tank */...SAMPLE_BLASTER, /* 65: Harkonnen end game */SAMPLE_GLASS, /* 66: Harkonnen end game */SAMPLE_LIZARD, /* 67: Ordos end game */SAMPLE_FLESH, /* 68: Harkonnen end game */SAMPLE_CLICK, /* 69: Harkonnen end game */...SAMPLE_INTRO_WIND, /* 108 */0xFFFF, /* 109 */SAMPLE_INTRO_HARVESTER, /* 110 */0xFFFF, /* 111 */SAMPLE_INTRO_FIRE_ORNITHOPTER_TROOPER, /* 112 */SAMPLE_INTRO_BREAK_GLASS, /* 113 */SAMPLE_INTRO_FIRE_LAUNCHER, /* 114 */0xFFFF, /* 115 */0xFFFF, /* 116 */SAMPLE_INTRO_CARRYALL_FRIGATE, /* 117 */SAMPLE_INTRO_TROOPER_EXPLODE1, /* 118 */SAMPLE_INTRO_TROOPER_EXPLODE2 /* 119 */};

Hmm. 66-69 didn't produce any sounds ingame (I tried by replacing the sonic tank weapon sound. All tested in Dynasty, btw), and neither did the in between numbers in the intro range, but the rest all seem to work.

I added the Animations list, and they all seem to work as indicated too. The explosions at the start just go from small to large, with the largest of the four able to destroy spice.

With these things sorted out, and the profile.ini export corrected, I thought it'd be time for a Christmas present :)

http://nyerguds.arsaneus-design.com/dune/dune2edit/d2editor_v2.02.2.zip

image.png.e9964a3d06f889b51d7bdaeed2b1c001.png

(The Tank Flames animation is incredibly cool to use as 'incendiary' missile, by the way :D)

Edited by Nyerguds
  • Upvote 1
Link to comment
Share on other sites

Nice!

 

Hmm. 66-69 didn't produce any sounds ingame (I tried by replacing the sonic tank weapon sound. All tested in Dynasty, btw), and neither did the in between numbers in the intro range, but the rest all seem to work.
That's because 65-69 have the '/' prefix in the voice table string, which means the game only loads them when it switches to the "mercenary" voice set.  If you change it to '+' or '-', it should work in Dune II.  If you went through the Bene Gesserit screen, that will load it, and Dune Dynasty won't bother to unload it.
  • Upvote 1
Link to comment
Share on other sites

  • 1 month later...
  • 2 years later...

Small note on Windows 10...

It seems the special character frames don't work on Windows 10 by default. To fix this, click the upper left corner icon of the window, open "Defaults", and go to the "Font" tab. Once there, set the font to "Raster fonts", and the size to 8x12 (well, or some other size, if you really want to). Accept the changes, exit the program, and relaunch it. The special character frames should now look right again. Also make sure that in the Layout tab, the size is set to 80x25.

Oh, you might also want to disable the "wrap text output on resize" in the Layout tab. Or, y'know... not resize the window. Just make sure the size is set to 80x25 :P

Unfortunately, it seems these changes are global for the console itself, and not just for the specific console app you're running, though.

Link to comment
Share on other sites

  • 11 months later...

can you say what means "sand impact"? can you explain by simple words as for a child? and maybe you know - it is support by sega mega drive dune or not? same question for shadows - it is not support by smd dune?

 

next questin - refinery and starport have flag for airdrop - why repear factory no have it? repear can recieve transport with broken unit, and then they fly away back.

Link to comment
Share on other sites

17 hours ago, SeregaZ said:

can you say what means "sand impact"?

IIRC this means if a projectile that hits sand will leave scorch marks on the sand.

17 hours ago, SeregaZ said:

it is support by sega mega drive dune or not? same question for shadows - it is not support by smd dune?

Nyer's editor certainly does not support any other versions than known DOS releases of the game.

17 hours ago, SeregaZ said:

next questin - refinery and starport have flag for airdrop - why repear factory no have it? repear can recieve transport with broken unit, and then they fly away back.

Nope, normally a carryall will not pick up repaired vehicles to bring them back to the battlefield. This only happens if you either use Minniatian's EMC hack or enclose the Repair Facility with walls so that all ground exits are blocked.

Link to comment
Share on other sites

i am not about editor, but about game :) native editor for unpacked files for smd's dune is already done, but i am not understand some items for edit. so that is why i am ask about it. Ti_ - creator of this unpacked version for romhackers send me for my investigation here. he says many things come out here. so i am as Fox Mulder just search truth for our smd dune unit editor. PC version have many nice things, that no have smd version. so i am just want to know what exactly was cutted. maybe i make some wrong switchers for my editor. thanks for explanation. we have Earth damage - where choice what scorch will be. that is why i am ask about this impact. it work like same as earth, but for sand? later i will more test for this sand impact...

Link to comment
Share on other sites

  • 2 weeks later...
On 8/7/2016 at 1:15 PM, MrFlibble said:

IIRC this means if a projectile that hits sand will leave scorch marks on the sand.

No, actually it means a little sand blast animation plays when the projectile hits sand.

SeregaZ: The editor has a very extensive help system. Select an option and press "F1" (or "H") to get extra info about the option.

For Sand Impact, the help info is this:

Quote

This option causes the "Sand Impact" animation to play when the weapon reaches its destination, and it is on sand.
This option only works on unit types that act as a weapon: the "Weapon rate of fire" has to be 0, and the "Explode on target" option has to be enabled.

 

Edited by Nyerguds
  • Upvote 1
Link to comment
Share on other sites

  • 2 weeks later...
On 30.08.2016 at 9:00 AM, SeregaZ said:

english not my language :) so many things i am not understand... even by use google translator.

А что конкретно непонятно? Какие-то вопросы по редактору?

(I'm asking what needs to be clarified.)

Link to comment
Share on other sites

Hi there! Is it possible to edit the v1.07 original EXE with this program? I'm trying to make changes without the use of a Hex editor, but I'm struggling. Thanks!

Edit - I tried changing default commands on a unit via hex editing, but saw no difference in their defaults (Attack, Move, Retreat, Guard). Any ideas?

Edit 2 - I notice on the upper right that it says "Dune Version: 1.00", but I am using the v1.07 Fix version. Is this normal, or is there a way to change what version it is basing its detection mechanisms on?

Edited by The_Legacy
Link to comment
Share on other sites

All the exe versions have different locations where their data is located. If the detection would go wrong, all names shown for the units/structures/etc would be complete garbage, since it wouldn't be able to find the name strings. The editor will either identify the version correctly, or exit with an error telling you it can't detect the version.

The detection is based on a string named like the exe filename stored in a specific location in the exe. Depending on where this string is found it will determine which version it's dealing with.

So I can only conclude that yes, you're somehow using the 1.00 exe file. The fix pack has many folders. Which one did you take?

Note that as far as I know, the fix pack is NOT a full game patch: it's a fix for the 1.07 version, not a patch to the 1.07 version, meaning it should be added on the 1.07 version, not on the 1.00 version.

Edited by Nyerguds
Link to comment
Share on other sites

I took the one for the European version, as far as I remember. I'll take another stab at it tomorrow. I attempted to install the 1.07 official patch, but it kept erroring out when it tried to patch dune2.exe for having differences. Once I can get 1.07 installed properly, I'll try the fix again, and then your utility. :)

EDIT - Figured it out! Thanks! :)

Edited by The_Legacy
Link to comment
Share on other sites

You shouldn't apply the EU version if you start with 1.00 anyway; 1.00 only exists as the US version, so patched or not, you'll probably be missing some of the specific EU resources if you put a EU fix pack on that.

If you're just after the data though, you don't need any patching; you can just take one of the different exes inside the fix pack, dump it somewhere, put the editor in the same folder and run it.

Then again, if you just want the data... I got ini dumps of that.
http://nyerguds.arsaneus-design.com/dune/dune2rules/

Edited by Nyerguds
Link to comment
Share on other sites

Thanks for the link, that is quite useful.

By chance have you seen my two other threads? I'll consolidate them here:

1) Is there a way to use your tool to change how commands operate? For example, changing Area Guard from basing its defense on its spawn location, to where the unit is at the time of the button press.

And, new: 2) How does one change the tech tree for a specific faction? For example, Harkonnen have the WOR at level 2, but the Ordos get it at level 5 (and the Atredies don't have it listed as per their Owner stat)

Link to comment
Share on other sites

1. Really... "change how commands operate"? Come now. That's not even just small byte modifications anymore. It's plain reprogramming. It's nothing an editor like this can ever do. I guess they can be edited, if you disassemble the exe file and put some research into finding the relevant functions. But if you want to go into that, it's probably loads easier to check out the OpenDune project; it's a reconstruction of all the Dune II source code. If you know C, you can just edit it yourself and recompile the game. In the end it's always programming; your choice is just between raw X86 Assembler bytecode and C.

2. The editor only edits repeating data structures. These side-based exceptions are all in the game's actual functions to check what the player is allowed to build. Again, that's pure programming, not data. It's outside the scope of the editor.  I think the byte locations of most of the faction exceptions are documented somewhere on the forum, though.

Edited by Nyerguds
Link to comment
Share on other sites

The_Legacy, maybe you should read this topics:

https://forum.dune2k.com/topic/24707-hex-editing-collection-on-exe/

https://forum.dune2k.com/topic/18875-exe-editing-programming-issues/

https://forum.dune2k.com/topic/18360-dune-2-extended-project/

There, you can find more stuff and a start point to understand how and if you can change the game like you want. :)

 

Opendune is great to start to expand the game, though I think DuneLegacy has already most of new modern functionality to give more life to a game that has more than 20 years old.

By the way, I'm still waiting a reply about my last PR: :rolleyes:

https://github.com/OpenDUNE/OpenDUNE/pull/275

hoping that someone read it somewhere.

Link to comment
Share on other sites

I already figured it out, drnovice. Thanks though. :)

To be honest, reading those threads (I had found them earlier) actually were extremely difficult to decipher. Ultimately, the issue was that I had been editing Infantry for prototypical purposes, loading the first Atreides mission to see the changes, and didn't see any. Then, I promptly facedesked when I realized that it's the Soldier that I should have been editing. Wow I felt dumb. lol

Link to comment
Share on other sites

  • 4 years later...

Working on a little project ;)

I think I found an issue with the editor that broke my exe.

I set the missile tank (Launcher) projectile ("Rocket") to be accurate. Now of course it's extremely OP so I modified the damage values. First I changed it in the Launcher's entry from 75 -> 35. This did not reduce the damage.

Then I changed the damage in the Rocket weapon's entry from 75 -> 35. This worked. Then I figured, may as well set damage to 0 in the Launcher's entry since it doesn't do anything. Turns out I had accidentally also set damage to 0 for the weapon while making that change.

So, Launcher has 0 damage output, its Rocket weapon also 0 damage output. But it does actually deal about 35 damage in the game. (!!)

My problem is that setting the damage values for both the Launcher *and* the Rockets back to their original ones does not work, I am stuck with low-damage launchers. It seems something broke in the exe. I also removed the accuracy from the rockets just to be sure. Still borked.

I googled around but can't find anything, and I just can't figure out what happened here. Anyone?

*edit* After restoring the values to their originals, it took several restarts of the game for the changes to "stick". No clue how this works or why this happened.

Edited by Will
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...