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:Jifodus"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(→‎v0.28.181.39a: Update memory locations)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
My work analyzing DF's formats:
+
My work analyzing DF's formats: [[User:Jifodus/Memory research|Memory research]], [[User:Jifodus/CMV file format|CMV file format]], [[User:Jifodus/Dwarf Fortress Utility Framework|Dwarf Fortress Utility Framework]], [[User:Jifodus/Map block|Map block info]]
  
[[User:Jifodus/Memory research|Memory research]]
+
<font size="+1"><b>If you run Mac or Linux and know and can spend time analyzing Dwarf Fortress code, I have a pitiful attempt at creating a cross-platform memory editor library. At the moment I only have a Windows version, I'll be working on a Linux port next.</b></font>
  
[[User:Jifodus/CMV file format|CMV file format]]
 
  
[[User:Jifodus/Dwarf Fortress Utility Framework|Dwarf Fortress Utility Framework]]
+
==Memory==
 
+
I'm removing the memory lists since they are now unneeded. For [[User:Rick/Tweak|Gibbed's Dwarf Fortress Tweak's]] configuration check out http://www.geocities.com/jifodus/tables/dwarvis/. The line you'll need to stick inside DwarfFortress.Versions.xml can be found commented out at the bottom of each core.xml file.
[[User:Jifodus/Map block|Map block info]]
 
  
==Memory==
+
You also may try using my [http://www.bay12games.com/forum/index.php?topic=24897.msg282605#msg282605 Automatic Address & Offset finder], which is capable of generating the configuration for Tweak with little to no knowledge required.
===v0.28.181.39a===
 
This is the result of a quick analysis, it's incomplete and only partially checked, but it may allow some of the tools to work.
 
<pre>
 
menu_state == 0x01322D58
 
focused_creature == 0x00D16C20
 
cursor_x == 0x009D6284
 
cursor_y == 0x009D6288
 
cursor_z == 0x009D628C
 
map_count_x == 0x01554040
 
map_count_y == 0x01554044
 
map_count_z == 0x01554048
 
map_data == 0x01554028 *caution may be invalid*
 
main_creature_vector == 0x015124F4
 
dwarf_race_id == 0x0131F1B8
 
starting_points == 0x00834693
 
starting_points_offset == 0x00000904
 
alt-starting_dwarves == 0x008355A4
 
alt-language_vector == 0x01555FA8
 
words_vector == 0x01555E88
 
happiness_offset == 0x00000520
 
art_defacement_malus == 0x00850135
 
skill_limit == 0x00831263
 
start_game_data == 0x01330D98
 
creature_jobs == 0x00000474
 
creature_race == 0x0000008C
 
creature_x == 0x00000094
 
creature_y == 0x00000096
 
creature_z == 0x00000098
 
creature_id == 0x000000F4
 
dwarf_civ_id == 0x0131F1AC
 
creature_civ == 0x00000100
 
creature_bodyparts == 0x000002FC
 
alt-creature_pain == 0x00000364
 
creature_exhaustion == 0x00000368
 
creature_hunger == 0x0000036C
 
creature_thirst == 0x00000370
 
creature_drowsiness == 0x00000374
 
creature_strength == 0x00000438
 
creature_agility == 0x0000043C
 
creature_toughness == 0x00000440
 
creature_skills == 0x00000444
 
creature_total_xp == 0x000004DC
 
dwarf_fortress == 0x009623E4
 
pe_timestamp == 0x00400108
 
pe_timestampv == 0x487B4E8B
 
dwarf_foreman_check == 0x01AA9D3A
 
</pre>
 
  
 
==Tools==
 
==Tools==
Line 78: Line 29:
 
* Compare a tile with a tracked tile.
 
* Compare a tile with a tracked tile.
 
* Dump the raw bits of Designation, Occupancy, Pathfinding and Unknowns.
 
* Dump the raw bits of Designation, Occupancy, Pathfinding and Unknowns.
 +
 +
===Source Code===
 +
I'm going to be dumping the source code for some of my projects in my new mercurial repository located at: http://75.127.91.201/phg/df/
 +
 +
To clone the repository you'll need a mercurial client which you can get from: http://www.selenic.com/mercurial/wiki/
 +
 +
The repository currently contains the source code to my [http://www.bay12games.com/forum/index.php?topic=24897.msg282605#msg282605 Automatic Address & Offset finder], [http://www.bay12games.com/forum/index.php?topic=22167.msg239976#msg239976 TelnetFortress], and a couple unfinished projects: a help editor, a map editor, and the next version of TelnetFortress which would be contained in an OpenGL wrapper and access the screen buffer directly. I'll probably be adding more of my DF related projects to the repository sometime when I have the time.
 +
 +
If a particular project in the repository doesn't list a license, it is probably going to be under an MIT license. Also PM me on the forums so that I can properly add the license info.
 +
 +
[[Category:Hacking]]

Latest revision as of 04:35, 11 March 2009

My work analyzing DF's formats: Memory research, CMV file format, Dwarf Fortress Utility Framework, Map block info

If you run Mac or Linux and know and can spend time analyzing Dwarf Fortress code, I have a pitiful attempt at creating a cross-platform memory editor library. At the moment I only have a Windows version, I'll be working on a Linux port next.


Memory[edit]

I'm removing the memory lists since they are now unneeded. For Gibbed's Dwarf Fortress Tweak's configuration check out http://www.geocities.com/jifodus/tables/dwarvis/. The line you'll need to stick inside DwarfFortress.Versions.xml can be found commented out at the bottom of each core.xml file.

You also may try using my Automatic Address & Offset finder, which is capable of generating the configuration for Tweak with little to no knowledge required.

Tools[edit]

tile_tool[edit]

I wrote a tool that allows nearly complete editing of a tile's data. It's designed for analyzing a tile's data. Since it's not designed for mass editing, therefore I don't recommend using it for adding more than a couple tiles of water or magma. Or build multiple buildings on top of each other. Use '?' for in-tool help.

http://www.geocities.com/jifodus/tile_tool.zip (61KB)

Mar 04, 2008: http://www.geocities.com/jifodus/auto-update_tile_tool.zip (75KB) - Alternate version that is usable as soon as configuration gets uploaded for it. Source code: http://www.geocities.com/jifodus/tile_tool_src.zip (14KB)

Editable information:

  • Liquid Level
  • Designation Flags
  • Occupancy Flags
  • Temperature
  • Tile #
  • Unknown Values

Additional features:

  • Track tile data.
  • Compare a tile with a tracked tile.
  • Dump the raw bits of Designation, Occupancy, Pathfinding and Unknowns.

Source Code[edit]

I'm going to be dumping the source code for some of my projects in my new mercurial repository located at: http://75.127.91.201/phg/df/

To clone the repository you'll need a mercurial client which you can get from: http://www.selenic.com/mercurial/wiki/

The repository currently contains the source code to my Automatic Address & Offset finder, TelnetFortress, and a couple unfinished projects: a help editor, a map editor, and the next version of TelnetFortress which would be contained in an OpenGL wrapper and access the screen buffer directly. I'll probably be adding more of my DF related projects to the repository sometime when I have the time.

If a particular project in the repository doesn't list a license, it is probably going to be under an MIT license. Also PM me on the forums so that I can properly add the license info.