v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "User:0x517A5D"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
Line 27: Line 27:
 
* The address of map_x_count can be found 24 bytes beyond the match address,
 
* The address of map_x_count can be found 24 bytes beyond the match address,
 
* And the address of map_z_count can be found 2A  bytes beyond the match address.
 
* And the address of map_z_count can be found 2A  bytes beyond the match address.
* Verify that map_x_count + 4 == map_y_count && map_y_count + 4 == map_z_count.
+
* Verify that &map_x_count + 4 == &map_y_count && &map_y_count + 4 == &map_z_count.

Revision as of 06:31, 8 November 2007


Enable Magma Buildings

Helper utility for Rick's reveal.exe enable_magma_buildings_33a.zip

You need this utility in the case that you used the reveal utility, and there is a magma pool or pipe on your map that does not reach the surface. (If the hide utility is ever updated, you could also hide a few magma tiles and then dig them out. That worked in the old version.)

Because there is no actual flag that controls whether magma has been seen (the game searches a list, probably a list of notable events), I had to patch the game's code. This means you need to run the patch every time you start dwarfort.exe.


Voodoo

To find the map_data, map_x_count, map_y_count, and map_z_count in an unknown version of dwarfort.exe,

  • Search the program text
    • (it's huge, 401000 through about 880000)
    • (Search 570000-57FFFF first)
  • For this sequence: C6 44 24 38 3E
  • There should be exactly one match in the program.
  • The address of map_data can be found 18 bytes beyond the match address,
  • The address of map_x_count can be found 1E bytes beyond the match address,
  • The address of map_x_count can be found 24 bytes beyond the match address,
  • And the address of map_z_count can be found 2A bytes beyond the match address.
  • Verify that &map_x_count + 4 == &map_y_count && &map_y_count + 4 == &map_z_count.