Jump to content

Scenario editing questions


Recommended Posts

you can fix the sandsworms by making them a different team when you're in a mission vs Fremen. In normal Dune II I always changed them to Mercenary in the Atreides missions so my units would attack them.

Link to post
Share on other sites

Yeah I know that. But I think I won't fix that anyway, that would be messing with the original concept of the game. Besides, in later missions against the Fremen, the worms are sometimes already assigned to a different House, and in other missions they're replaced with normal Fremen units like Infantry or Troopers. This also provides some more challenge, doesn't it? (I mean, Super Dune 2 was supposed to be extra hard in the first place)

Link to post
Share on other sites

It may be extra hard but then you can simply send reinforcements earlier from a certain party. This whole "discover worm => Fremen attack" sounds to me more like a bug in the whole concept and the fact that SD2 is extra hard is not a good excuse behind it. :)

My honest opinion? Preferably change the worms to an unplayable side, and in the last level just move the worms in the upper side of the map so that the player does not "accidently" hump over them.

As for Fremen-played missions you could either leave the worms as Fremen-owned but keep them close to their base (or else the worms act themselves as attractors for the enemies to start attacking you), or just change their allegiance to an enemy not existent on the map. :)

-Daelin

Link to post
Share on other sites

Well, this might be implemented in a Super Dune 2-inspired mod, and I will definitely fix the sandworms in DuneX, but the original SD2 should be left as it is, as I did not create it, I just cleaned up the bugs and errors :) And Fremen-owned sandworms are not errors, the creators of SD2 consciously did that (since worms are given to other Houses in later missions against Fremen, as I mentioned above).

Link to post
Share on other sites

MrFlibble's Dune2EX has inspired me to start playing Dune 2 again. I'm working on 3 totally new campaigns for the original Dune II, coupled with similar (but of course, not identical) tech tree redesign. I'm using the Dune 2 HS version with bug fixes, and I've tweaked the unit stats and tech levels quite a bit. I'm aiming at having C&C-like game play and a lot of mission variety, with a good challenge.

I'm running into a few problems, though, especially regarding the carryall reinforcements.

My question:

Supposedly adding a '+' sign to the end of the reinforcement units causes them to be dropped every X minutes, right? At least, that's what I remember reading on this forum. However, in my testing of the game, that's not actually what happens. They still only get dropped once. I tested this by having 2 enemy troopers dropped in my base after 2 minutes of gameplay, and after 10 minutes, no additional troopers had arrived beyond the first 2.

Am I missing something?

Thanks in advance to anyone who can help me out with this. :)

Link to post
Share on other sites

Hello Will, I'm happy you've got such a good initiative ;D Good luck with your work, and don't forget to keep us all updated ;)

Supposedly adding a '+' sign to the end of the reinforcement units causes them to be dropped every X minutes, right? At least, that's what I remember reading on this forum. However, in my testing of the game, that's not actually what happens. They still only get dropped once. I tested this by having 2 enemy troopers dropped in my base after 2 minutes of gameplay, and after 10 minutes, no additional troopers had arrived beyond the first 2.

I've come to the same conclusion, the plus sign does not make repeated reinforcements. Even though I haven't tested it quite thoroughly, I believe that adding the plus sign makes a random choice of either dropping the reinforcements into the player's base or into one of the other AI players. For example, I have sometimes observed that in missions when you've got Sardaukar reinforcements (missions 4, 8 and 9), sometimes Sardaukar troopers are not dropped in the player's base, but rather come from the direction of the enemy House's base.

Link to post
Share on other sites

I've come to the same conclusion, the plus sign does not make repeated reinforcements.

Well your partly right MrFlibble... but not for the reason you may think :)

the + is actually meant to continually bring the reinforcement (after time expires again, which is ((value from ini * 6) + 1))

but it seems there is a bug in the MissionloadIni function

trouble is here,

ovr188:0DF5 26 80 3F 2B                      cmp    byte ptr es:[bx], '+'

ovr188:0DF9 75 07                            jnz    short loc_52D42

es:[bx] at this time is actually pointing to the START of the string, thus the + will never be read, only the first letter of the house name

[A]treides,Siege Tank,Homebase,2+

if you fix the pointer before the cmp occurs, the re-reinforce works fine

Link to post
Share on other sites

A little fix for you. it should work with all versions,

however the scenario files require editing.

instead of

1=Atreides,Siege Tank,Homebase,1+

this needs to be changed to

1=Atreides,Siege Tank,Homebase,1,+

Find: 168D865EFF509AF83A000083C4088BD88EC2

Replace with: 6A006A009090

ovr188:0DE3 16                                push    ss

ovr188:0DE4 8D 86 5E FF                      lea    ax, [bp+dest]

ovr188:0DE8 50                                push    ax

ovr188:0DE9 9A F8 3A 00 10                    call    unknown_libname_3                  ; TCC/TCC++/BCC++ 16 bit DOS

to

ovr188:0DE3 6A 00                            push    0

ovr188:0DE5 6A 00                            push    0

ovr188:0DE7 90                                nop

ovr188:0DE8 90                                nop

ovr188:0DE9 9A F8 3A 00 10                    call    unknown_libname_3                  ; TCC/TCC++/BCC++ 16 bit DOS

Link to post
Share on other sites

sometimes Sardaukar troopers are not dropped in the player's base, but rather come from the direction of the enemy House's base.

This is the "Homebase" setting right? Afaik it is relative to the player. So "Homebase" refers to the base of the player. But, it has been a while, so perhaps you can enlight me ;)

Link to post
Share on other sites

es:[bx] at this time is actually pointing to the START of the string, thus the + will never be read, only the first letter of the house name

[A]treides,Siege Tank,Homebase,2+

Strange... then how does it correctly get the value out of that last part? I'd think an ascii-to-integer function would fail on the added character, no? Or does it simply ignore it?

Link to post
Share on other sites

Wow, nice solution out there segra, I'll try it out ASAP 8)

This is the "Homebase" setting right? Afaik it is relative to the player. So "Homebase" refers to the base of the player. But, it has been a while, so perhaps you can enlight me ;)

Nope, I described the reinforcement triggers with the "Enemybase" setting (both "Homebase" and "Enemybase" are relative to the reinforcement trigger's "owner"). But then again, in case of multiple AI players, "Enemybase" could simply mean "not the current player's base", so it's either the human player's base or any other AI player's base.

Link to post
Share on other sites

A little fix for you. it should work with all versions,

however the scenario files require editing.

instead of

1=Atreides,Siege Tank,Homebase,1+

this needs to be changed to

1=Atreides,Siege Tank,Homebase,1,+

Find: 168D865EFF509AF83A000083C4088BD88EC2

Replace with: 6A006A009090

ovr188:0DE3 16                                push    ss

ovr188:0DE4 8D 86 5E FF                       lea     ax, [bp+dest]

ovr188:0DE8 50                                push    ax

ovr188:0DE9 9A F8 3A 00 10                    call    unknown_libname_3                   ; TCC/TCC++/BCC++ 16 bit DOS

to

ovr188:0DE3 6A 00                             push    0

ovr188:0DE5 6A 00                             push    0

ovr188:0DE7 90                                nop

ovr188:0DE8 90                                nop

ovr188:0DE9 9A F8 3A 00 10                    call    unknown_libname_3                   ; TCC/TCC++/BCC++ 16 bit DOS

Thank you for this, Segra. I really appreciate it. Did you use a hex editor to edit dune2.exe? (I'm all new to that, you see.)

Link to post
Share on other sites

To actually convert the bytes to the CPU commands (the code you see there) you need a disassembler. But disassemblers only convert code, they're not editors. You still need a hex editor (and, preferably, some tool to convert your own assembler code to bytes) to make changes to it.

Link to post
Share on other sites

IDA to find the code,

softice to play with it

then hex workshop to make final changes

never actally investigated ATOI, but from observed behavior usually once it finds something other than a number it ends, keeping the current value

Link to post
Share on other sites

ah. IDA Doesn't allow that, but PD (who started all of this disassembling stuff on RA2) gave me a tool he wrote to convert my own asm code to bytes. I can then just paste those in my hex editor at the right address.

Link to post
Share on other sites

IDA allows patching, just not by default

goto <IDA Folder>cfgidagui.cfg

look for

DISPLAY_PATCH_SUBMENU

set it to yes and u can patch via the edit menu by either changing bytes or using assemble mode

Link to post
Share on other sites
  • 1 month later...

Hm, the Ordos and Harkonnen Mentats mention that the destruction of the player's Palace results in defeat:

House Harkonnen may grant a Palace to those who have proved themselves worthy of such an honor. If you lose a Palace, that was given to you, you will have failed your mission.
When the House grants you a Palace, you will know that you have pleased them. If you are ever to lose your Palace to the enemy, your mission will surely be lost.

However, it seems that losing a Palace does not lead to defeat. Perhaps one of the unused Lose Flags is responsible for this?

Link to post
Share on other sites

Or, perhaps, it was simply never implemented, just like the free stuff bloom-crates?

On a related note, I remember in C&C I was surprised that the mission triggers for the last Nod mission didn't include "build the temple of Nod" as a win condition, while that was specifically part of the mission objective, AND the C&C triggers actually allow such a trigger.

Link to post
Share on other sites

I remember in C&C I was surprised that the mission triggers for the last Nod mission didn't include "build the temple of Nod" as a win condition, while that was specifically part of the mission objective, AND the C&C triggers actually allow such a trigger.

Heh, I was also surprised with that :) Especially since it is stated in the briefing that you need to build and defend the Temple.

But my point was that, if Win/Lose flags are really bit switches, then many of them are still not explored. Would be interesting to know what else the game is capable of (e.g. activating the "Timeout Win" condition).

BTW, what do you think about the following issue: in the Atreides campaign, the unit limit for both human and AI players is lower than 25 in the earlier missions (up to mission 5 IIRC). The other campaigns always have the unit limit for all players set to 25 (except the last mission where it is lowered to 20 for two AI players, that is). In my fix, I changed the lower limit to 25 in the Atreides campaign, but now I'm thinking, maybe it would have been better to do it vice versa (i.e. the number of units allowed would grow as the game progresses)?

Link to post
Share on other sites

Those are separate things that work together. There are global limits for each unit type (Foot, Wheeled, Tracked, Aicraft, etc.), regardless of ownership. The "MaxUnit" variable limits the number of units per side, regardless of type.

So, for example, you may have less than 25 units on the last mission, but still won't be able to build any more(or, for example, only infantry and aircraft) if the global limits for all unit types have been reached by the AI players (especially noticeable in Super Dune 2 because there are more AI players on the map). And vice versa, you can reach your side's unit limit with only a couple of enemy harvesters remaining on the map.

Link to post
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...