Jump to content

HyperPatch for Dune2k - Development Topic


CCHyper

Recommended Posts

Anyways, news is that i cant find the code that handles the sidebar, and until i do, there is not much i can do...

Is there something we can do to help? Like running a changed .dat file and send you the log. Or changing some bytes here and there (perhaps a bit more precise) to see what happens... or?  ???

Perhaps mvi knows more about it, he is very good at the .uil files.  :)

Link to comment
Share on other sites

I had a look for it before in the UILs and I'm fairly sure that it isn't among them. The same goes for the actual map on the campaign screen (everything else on that screen including the background and scroll are UILs)

Link to comment
Share on other sites

If you search in IDA Pro in DUNE2000.DAT for windtrap under strings (names window) and then go there. Next, click on data xref you see in the code, this:

mov    byte ptr [esi+5Ch], 3

and the next one, refinery, it has a 4 at the end. etc. What does that 3 or 4 mean? Is it the order at which the buildings you can build appear in sidebar or is it something else?

Link to comment
Share on other sites

Seem to be the building's ID number. Each unit is internally identified as a number, so the game doesn't have to store all of the building's basic stats (which graphics it uses, how big the foundation is, etc) for every different building on the map. It just has all the basic properties for all the different bulding types stored separately, so when the map data in its memory says "at this cell on the map is a building of type #7", then the game knows with just that number that it has to show a Light Factory there.

Don't mess with those numbers, they're also used for storing buildings in savegames.

Link to comment
Share on other sites

Seem to be the unit IDs. Don't mess with those, it's what the game uses for stuff like saving a certain building in a savegame.

Is only that line for saving or the other stuff also in that 'block'? I wonder, because it does say:

test    eax, eax

jz      short loc_464A37

and that means jump if the test was zero - and it jumps to refinery, at refinery it does the same and jumps to silo, etc. Also, when that jz is not true, it jumps on the end to FREMEN BARRACKS, wtf?

It looks like some kind of long if list written original in C(++). If you got windtrap - you get refinery, if you get refinery - you get silo. Etc. Or is it something else?

Link to comment
Share on other sites

It's a string compare. eax contains the result of a compare of the string it has in memory (at the address stored in edi) and the string it takes from the exe (the ones you can read there). If the strings are equal, the test succeeds, and eax is not 0. If it's not 0 it stores the resulting ID and skips the other checks, else it continues with its next string test until it finds the right one.

This is a horribly contrived way of scanning it though... I'd have done it by looping through an array of strings like it's done in C&C1.

"Fremen Barracks" seems to be a building property rather than a building. It's not included in that list of building checks, but done AFTER it.

Link to comment
Share on other sites

  • 2 weeks later...

It barely even uses any of the same file formats.

None afaik, except for the aud and vqa formats

From what I've seen, Dune 2000 was made by a different team than the C&C games

A british based team I believe, Westwood must have outsourced development

Link to comment
Share on other sites

Uses the same format, but a totally different library. where the VQA is quite similar to Tiberian Sun. The games share nothing else in common.

Open CNC/RA is messy, and that person is lazy in my opinion, not even bothering to look into the original games code.

Link to comment
Share on other sites

Uses the same format, but a totally different library. where the VQA is quite similar to Tiberian Sun. The games share nothing else in common.

Open CNC/RA is messy, and that person is lazy in my opinion, not even bothering to look into the original games code.

ah, the joys of corporate outsourcing.

Link to comment
Share on other sites

  • 4 weeks later...

Hi, I hope that you are still being notified of updates on this topic, TSHyper. The link to your patch is broken, can you please fix it?

Also, have you given up development on it, or are you still working on it?

Thanks!

Iordan

Link to comment
Share on other sites

  • 4 months 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...