Jump to content

Dune II editor with 1.07 support


Recommended Posts

Posted (edited)

Another byte of bit flags. Fires Twice is bit 3. (0000 0100)

I successfully activated it on the sonic tank.

image.png.7edd48d9994e66568b9f6745676bf6cf.png

I really need to make a better system for implementing these things... at the moment I need to define a new editing type (+ method to read and write the data, and to get the strings for main display and editing display) for every single one of these bytes -_-

Edited by Nyerguds
  • 1 month later...
  • 3 weeks later...
Posted

Do you know that there's a limit on how many Saboteurs you can have on the map at a time (additionally to the global unit limit)? It's 3 for v1.0 and 2 for v1.07. Looks like the values Unknown 026 and Unknown 027 are responsible for this. I have no idea how they work, but they're 22 and 101 respectively for most ground units, and 16, 18 for the Saboteur in v1.0, and 20, 21 in v1.07. Changing them to  22, 101 removes the limit on Saboteurs, and changing them in v1.07 to 16, 18 makes him and his selection box invisible, as in v1.0. Also, looks like it's a single value after all (bit switches again?)

Posted

yeah, probably bit switches again... your explanation isn't too clear though. You might want to write that out with the binary values added to your decimal ones.

  • 2 months later...
Posted

Okay, I finally figured out some "Unknown 028" properties... I think the information is in two's complement (meaning the first bit is -2^7 and the rest are positive elements, powers of 2 from 6 downto 0). Here are the bits I was able to decypher (given the array of bits by <B7 B6 B5 B4 B3 B2 B1 B0>):

B7 - This bit is essential for controlled flying units... all units that leave the map area and do not possess this bit are lost forever (that's what happens to the frigate for instance).

B6 - Controlled Movement. If set to 0, when unit starts moving, it never stops and ignores any other commands. Used by flying units and missiles.

B5 - Sand Tracks. If set to 1, unit leaves tracks on sand when moving. Also activates "foot units" squashing (tracked movement only allows tracked units to "share" the same position with a foot unit). WARNING! Giving foot units sand tracks will cause every such unit to be instantaneously destroyed upon movement (probably because the unit will occupy the same position with itself => squashing!)

B4 - Land bumpy movement. Wheeled vehicles and groups of infantry only have this type of movement and when moving upon land, unit graphic somehow "trembles". I think it also affects unit movement speed but I am not sure of this (are trikes slower on rock than on sand - and does this not affect tanks?).

B3 - Sonic Immunity!! Unit is no longer affected by sonic damage. Only sonic tanks have it.

B2 - Death explosion. If removed from tanks they will no longer explode. If a tank with this property is squashed it will cause damage to the unit squashing it (however this does not happen to infantry with this property - and the "activate explosion" is nowhere to be found between the existant bits).

B1 - Collision. Used by missiles to cause damage to targets (elsewhere it will just pass through). If set to 1, it will destroy the unit after it moves a position (probably because units do not move continuously - tested on Devastator).

B0 - ? Only devastators have it (but it does not affect devastator damage or death damage in any way).

Edit 1: Apparently the devastator

Posted

How the bits convert to one big number really isn't important since the information is in the separate bits anyway. The editor will indeed display negative numbers if the first bit is activated though. To get around that, put the editor in hexadecimal mode to view the bare bytes. That mode was specifically implemented for this kind of research, anyway.

I'll take a closer look at the information later.

Posted

Unknown 041 hacked... apparently it is related to the "tank burning death" animation. When tanks are destroyed, there are two possibilities:

  a) they explode immediately and enemy units can no longer attack them

  b) they keep burning for a couple of moments (in which turrets for instance keep striking them), and then disappear.

Well, for the second case, some of the bits here seem to point to the graphic related to the "burning tank". I am not familiar with how graphic path bits are handled, but I have discovered that for instance for 0 you will see a devastator base, while for 7 you will get the Mentat/Option button some sort of animation (quite weird actually - you should try it).

Also, I am not 100% certain that both bytes are used for the path. Nyerguds, maybe you can explain me a bit how this path to SFX thingy works. :)

Edit: Unknown 036 also hacked... unit's turning speed! Try setting it to 15 and see just how quickly a siege tanks turns its cannon towards the new target. You will notice that some "weapon units" have a higher turning speed than others.

Edit 2: I just realised another thing: the "bullet" missile's size depends on the unit's damage. I set the Siege Tank's damage to 5, and wondered why the missile was suddenly much smaller. Afterwards I set it to 20 and it was back to normal. Just a thought...

Once again, I'll update post with new info if no further posts are made (to avoid double posts).

-Daelin

Posted

Nice :)

I don't know if you looked at the source code yet... note that is is written for FreePascal, and won't compile with normal Turbo Pascal because that doesn't support functions that return a custom data type.

I'm planning to change the bit switches so I can actually show them as separate options in the list, but this is going to be quite some work, and I got exams coming up, so that probably won't be done right away. Because of this, I'll also not be able to test and implement more of your findings for th enext month or so. But after that, I'm definitely interested in taking a closer look at all of this :)

btw, what do you mean with 'SFX' and 'path'?

Posted

By SFX I was refering to the graphic file, and by path I was refering to reference to that file (or information). I mean, there are some bits necessary to point to units

Posted

Daelin, I must say you've done some awesome work with the testing :)

By SFX I was refering to the graphic file, and by path I was refering to reference to that file (or information). I mean, there are some bits necessary to point to units

Posted

I think I posted some research on that around here earlier...

Anyway, "SFX" is generally the abbreviation of "sound effects", while GFX is just short for "graphics", so you can understand I was a bit confused about what you meant...

Posted

Sorry about that... SFX is also an abbreviation for Special Effects. Beats me why I wrote S instead of G. :)

-Daelin

Posted

Okay, finally figured out another two unknowns (kinda related to each other): Units "Unknown 024" and Buildings "Unknown 027". They both seem to affect the aggressivity level towards the unit. You can see that both Repair Facility and Heavy Factory have an aggressivity factor of 600, while the Saboteur has a factor greater with 100 (value=700). I tested this primarily with Ornis with the following settings:

    - Siege Tank factor - 3000

    - Refinery factor - 1990

    - Construction Yard - 2000

Whole map was discovered by a radar with sight set to 100... Map played: ordos map 8 with player in the middle of the map. I switched the ordos and the harkonnen to have direct access to a base and battle another enemy base. What happened was that by sending the first wave of ornis (build time and cost set to 1), they went for the CLOSEST siege tank situated in the center of the map. After that the wave concentrated on the refinery in the right bottom-corner, and ONLY after that went for the Construction Yard. The aggressivity factor seems to be affected by the positions of the units too. Moreover, as an enemy attack force went for my base, the enemy Missile Turret succeeded to strike my Construction Yard, clearly proving that it had the highest priority (for this experiment Siege Tanks had a normal factor).

I still need to search some unknown similar fields, as I'm certain that the enemy also builds its units and rebuilds structures based on certain properties. :)

-Daelin

Posted

I didn't mention that I have a lab exam coming up tomorrow (but it's VHDL so no big deal), and next week I have my math exams (integral calculus and integral transforms courses). But this is so much fun I can't help myself but keep tracking these bits ^^ I modified the 8th Ordos mission heavily enough to be able to test pretty much everything on it now...

Btw, I finally identified the 8th bit from unknown 28. I updated the post there :)

Update: Okay, more research on bizzare building bits 035-040. These bits apparently link to some more GFX information, and are related mostly to "building stages". I guarantee they are not bitflags and I believe they are grouped two by two (035 with 036, 037 with 038 and 039 with 040) => 4 bytes references. As an example we can take the refinery and swap Unknown 40 with 36... you will observe that if no harvester is inside the graphics with the harvester inside is played, and if a harvester is placed in the refinery, the refinery displays no harvester inside it. Second graphic is the platform leds animation (indicating a harvester/carryall heading for the facility). These bits seem to be independent to the main building GFX (I couldn't transform the refinery for instance into a repair facility when the harvester was inside).

I don't see much usefuleness here. If the bits are messed up, the game displays no graphic for the building itself. Feel free to study them some more. I've attached bit analysis (excel file) but it does not seem to be useful at all, as there are no bitflags here.

-Daelin

Dune Unknowns.zip

Posted

wow, the frame orders? This can be useful for customizing buildings...

the actual frames are stored elsewhere though. We already got that information.

Posted

Ok... I found a very bizzare bit which acts extremely strange on different units: "Unknown 8" bit of "Opts FiTw" property.

If set to 1, it seems to render the unit "vulnerable". Invulnerable units (U8=0) are obviously non-damageable (I tried this both by means of missiles - rockets, bullets, sonic wave and by means of explosions - devastator self-destruct). The only means of killing invulnerable infantry is by crushing them (unfortunately they are not player-selectable - read below). Invulnerable devastators can still self-destruct and all invulnerable units are susceptible to being eaten by the worm. invulnerable units still enjoy enemy counter-attack (this includes unit and turret fire) but it has no effect.

There is a problem however with most invulnerable units: they are not selectable by the player. Only units already pre-placed on the map seem to be selectable, but if repaired they lose this advantage.

What intrigues me is the fact that the Worm should normally be (given this property) invulnerable, yet we all know it can nicely be damaged. I wonder if there are other bits which influence both the "selectability" and apparent invulnerability of units. If anyone has the time to do the following it would be cool:

Copy all data from Siege Tank to Sandworm and notice whether worms are still vulnerable or become invulnerable.

Edit: GREAT DISCOVERY! Units can be made "repairable" in two ways: direct movement to the repair facility or carryal displacement. Apparently carryall displacement bit is the last bit of "Unknown 6". Activated on trooper and deactivated on Siege Tank and it works. :) Unfortunately the "direct movement" is not located between the bits I can actually modify. Copy-pasted all launcher significative information into trooper, the unit moves towards the repair facility but it wouldn't enter => The only way we could actually repair soldiers would be by means of carryalls (at this point).

-Daelin

Posted

Wow, that's very impressive :O You did an awesome job here ;D I hope Nyerguds will incorporate this into his editor soon :)

BTW, do you keep your unknowns database updated? It should make things a lot easier.

Posted

Can't really keep track anywhere but on paper... momentarily I made a table in excel and trying to find connections there. I have a pretty good visual memory so normally I won't "reresearch" bits already discovered. I wonder what kind of connection there is between the launcher and the trooper units (single or multiple troopers)...

-Daelin

Posted

I have a pretty good visual memory so normally I won't "reresearch" bits already discovered.

I meant that it would be handy for other people to keep track of your discoveries ;)

Anyhoo, great job, man! ;D

Posted

Crap... Unknown040 is pissing me off. It handles some kind of graphics for units... But it's so chaotic.

   - For tanks it doesn't seem to have any effect at all.

   - For troopers I was capable to make the trooper "death graphic" to 2 soldiers instead of 1 (just replace value to 4 and observe). It also seems to affect the orientation of the unit but I may be paranoid here.

   - For carryalls it has a super-freaky behavior. It may be because of the frame order. Just give it a value of 5 and get ready for something very strange. A value of 4 or 3 gives an even weirder behavior.

   - Missiles behave strange as well when this value is modified. It seems it affects their orientation somehow (just give rocket a value of 5 and make a rocket launcher attack somewhere close so that the missiles spread chaotically).

I don't think there's much we can do about these bits of information.

Edit: Squash mystery revealed! Check "Unknown 028" post :)

-Daelin

Posted

I think it also affects unit movement speed but I am not sure of this (are trikes slower on rock than on sand - and does this not affect tanks?).

Wheeled vehicles seem to move faster on sand and slower on rocks and sand dunes, while tracked vehicles' speed is affected in the opposite way.

B0 - ? Only devastators have it (but it does not affect devastator damage or death damage in any way).

Perhaps it is related to the ability to order a unit to self-destruct? I'm not sure, but IIRC giving a unit other than Devastator the "Destruct" command results in nothing.

The aggressivity factor seems to be affected by the positions of the units too.

In Command & Conquer, some AI-controlled units like A-10 bombers (that behave in a way more or less similar to 'thopters in that they cannot be controlled directly) attack the target that is the closest to the top left corner of the map.

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.