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 "40d Talk:Utilities"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
 
(68 intermediate revisions by 38 users not shown)
Line 1: Line 1:
== AutoHotKey ==
+
__TOC__
  
 +
 +
=== Dwarf Fortress File Depot ===
 +
Would be great to get the majority of these uploaded to the [http://dffd.wimbli.com/ Dwarf Fortress File Depot (DFFD)].  I'm having trouble with some of the currently linked hosting sites.  I've just gotten Regional Prospector, so I'll see about getting that one up.  Thanks guys! --[[User:SlMagnvox|SlMagnvox]] 14:33, 25 February 2008 (EST)
 +
 +
 +
<hr>
 +
 +
 +
=== Accent Removal ===
 +
I added the accent removal utility here from [[Accent Removal]], since that's about to be deleted. However, none of Wikipedia's show-hide-box stuff works here (I assumed it would...), so it's a big glob of pre-formatted text in there that should be hidden. Could someone do it? [[User:Zardus|Zardus]] 00:51, 15 May 2008 (EDT)
 +
:[[User:Jackard/Accent_Removal|Accent removal tutorial]] contains detailed instructions on the subject. I think, we could replace the whole thing on utility page with one link. [[User:Nophotoavailable|Nophotoavailable]] 20:58, 1 August 2008 (EDT)
 +
 +
=== AutoHotKey ===
 
Should autohotkey be added as a utility tool for dwarf fortress? I know a few forum users have used it to do repetitive tasks like room designations, maybe it could have its own page and a few dwarf fortress specific script?--[[User:Thehunterunseen|Thehunterunseen]] 20:43, 31 October 2007 (EDT)
 
Should autohotkey be added as a utility tool for dwarf fortress? I know a few forum users have used it to do repetitive tasks like room designations, maybe it could have its own page and a few dwarf fortress specific script?--[[User:Thehunterunseen|Thehunterunseen]] 20:43, 31 October 2007 (EDT)
  
Line 25: Line 38:
 
:::::I think it's a lag issue in DF.  I've yet to figure out exactly what is causing lag for me.  I think it's pathing with too many dwarfs and too complex of a hallway system over too many Z levels.  Also, I think playing very large maps causes me to lag, as well, but I think that's related to the pathing problem and all those other creatures trying to path.  It definitely got better in this version, tho.  I will hold off on trying to say definitively what's up with AuthoHotkey until after the next patch.  --[[User:Geofferic|Geofferic]] 03:50, 21 November 2007 (EST)
 
:::::I think it's a lag issue in DF.  I've yet to figure out exactly what is causing lag for me.  I think it's pathing with too many dwarfs and too complex of a hallway system over too many Z levels.  Also, I think playing very large maps causes me to lag, as well, but I think that's related to the pathing problem and all those other creatures trying to path.  It definitely got better in this version, tho.  I will hold off on trying to say definitively what's up with AuthoHotkey until after the next patch.  --[[User:Geofferic|Geofferic]] 03:50, 21 November 2007 (EST)
  
== Dwarf Foreman ==
+
::::::AHK does tend to do wierd stuff in DF, but most of it is predictable. A lot of wierd errors that make no sense can be fixed by explicitely telling the script to focus on the Dwarf Fortress window, as well as generous Sleep statements. I found while rewalling a 30x30 outline, sleep 100 worked fine for the first two sides but posted about half of the second two. Sleep 150 placed the second two somewhat erraticly. Sleep 200 got the second two just fine. --[[User:Knivesu|Knivesu]] 10:22, 23 December 2007 (EST)
 +
 
 +
:::::::Just tested, and the weird behavior of AHK does not happen in DF 38c, but does happen in 40d11 (I came back to DF after time away).  I have tried altering my scripts in a ton of ways to get them working with 40d11, to no avail (Changing key delay, using sendplay or sendinput instead of send, etc).  So, perhaps there is hope that it will magically work right again in a later release.  [[User:Nephelim|Nephelim]] 00:06, 23 June 2009 (UTC)
 +
 
 +
=== Dwarf Foreman ===
 +
Foreman is looking at the wrong address for the units... which is not a good sign, since I've seen it in the address it seems to be looking at.  I've also seen it bounce around.  Definitely not a good sign if the list location isn't static.  Or we're just looking at the wrong one completely. --[[User:AzureLightning|AzureLightning]]
 +
 
 +
:It's pretty easy to find the addresses for this for new versions. Running the program in the directory with the new version gives you the check= value, and the others are moderately easy to suss. Also, I don't know exactly how it works or why it works, but from C->D->E start and pos were incremented 0x1000 each version, so laziness dictates trying that in future. [[User:Qalnor|Qalnor]] 16:37, 9 December 2007 (EST)
 +
 
 +
Is there any info on what the offsets (dwarfidpos, critter_start, profession_start) actually refer to?  I'm capable enough with finding memory addresses, but exactly what profession_start is eludes me.  Even dwarfidpos is a little unclear.
 +
 
 +
dwarfidpos = Address of Dwarf Race ID
 +
critter_start = Start of Main Creature Vector
 +
profession_start = Offset into Main Creature Vector the array of jobs.
 +
[[User:Jifodus|Jifodus]] 00:41, 7 March 2008 (EST)
 +
 
 +
Does anyone know the values for v0.28.181.39f? --[[User:Aristoi|Aristoi]] 18:18, 10 August 2008 (EDT)
 +
 
 +
:Still no word on 39f? Perhaps we can get a little write-up on how to discover the appropriate values added to the foreman homepage. That way, when a new version of DF is released, any number of people could search for and contribute the new values, instead of depending on the few people who already know the process. --[[User:SWSaunders|SWSaunders]] 09:10, 12 August 2008 (ADT)
 +
 
 +
::Thanks Jerethi50, beat me to it.  When I went to enter the values you already had!  SWSaunders:  What I did (having never done this before) was to download a memory viewer (HxD hexeditor) and then look at the old version vs the new version in memory.  In the old version, I found the character at the dwarfidpos address and searched forward till I found that in the new file.  For critter_start I went to the old process and found it there, then searched forward in the new process till I found the pattern match (it wasn't too far).  The data was different but the pattern was the same.  The profession offset hasn't changed so I left it as is. --[[User:Aristoi|Aristoi]] 11:13, 12 August 2008 (EDT)
 +
 
 +
:::That's exactly how I do it, except I have written a program that does it for me, since it saves time. I also tend to forget to post Dwarf Foreman's new config during updating. Usually I remember to update the tables at http://www.geocities.com/jifodus/tables/ini_jifodus/ and that has all the information you'd need (critter_start=[creature_data].base; profession_start=[creature_data].jobs); however, it seems I didn't update it this last go around. If you wander around my website, you should be able to find enough information posted there (provided you can understand it all) to learn how to update foreman for yourself. --[[User:Jifodus|Jifodus]] 22:22, 14 August 2008 (EDT)
 +
 
 +
::::Can someone that understands all this go through and get up to 40d13 information for what to put in the config file? Because I honestly have no idea where to start on this, but I really don't want to downgrade to an earlier one after seeing how much better 40d13 is running for me than the older versions were. [[User:Shardok|Shardok]] 20:30, 6 August 2009 (UTC)
 +
 
 +
To make Foreman compatible with previous versions of Dwarf Fortress, update the config file as shown below.
 +
 
 +
==== v0.27.168.33g ====
 +
<pre>check=008c407c
 +
critter_start=01427B50
 +
dwarfidpos=01248AC8
 +
profession_start=45c</pre>
 +
 
 +
==== v0.27.173.38a ====
 +
<pre>
 +
check=01E30A43
 +
critter_start=01450E98
 +
dwarfidpos=01271E10
 +
profession_start=45c
 +
</pre>
 +
 
 +
==== v0.27.176.38a ====
 +
<pre>
 +
check=023401d3
 +
critter_start=01463378
 +
dwarfidpos=01284188
 +
profession_start=480
 +
</pre>
 +
 
 +
==== v0.27.176.38b ====
 +
<pre>
 +
check=01e3dbcc
 +
critter_start=01463570
 +
dwarfidpos=01284188
 +
profession_start=0470
 +
</pre>
 +
 
 +
==== v0.27.176.38c ====
 +
<pre>
 +
check=01cf4654
 +
critter_start=01464570
 +
dwarfidpos=01285188
 +
profession_start=0470
 +
</pre>
 +
 
 +
==== v0.28.181.39a ====
 +
<pre>
 +
check=01aa9d3a
 +
critter_start=015124f4
 +
dwarfidpos=0131f1b8
 +
profession_start=0474
 +
</pre>
 +
 
 +
==== v0.28.181.39b ====
 +
<pre>
 +
check=01a16957
 +
critter_start=015134f4
 +
dwarfidpos=013201b8
 +
profession_start=0474
 +
</pre>
 +
 
 +
==== v0.28.181.39c ====
 +
<pre>
 +
check=01b89dbc
 +
critter_start=01513514
 +
dwarfidpos=013201d8
 +
profession_start=0474
 +
</pre>
 +
 
 +
==== v0.28.181.39d ====
 +
<pre>
 +
check=01b0747e
 +
critter_start=0151f93c
 +
dwarfidpos=0132c1e0
 +
profession_start=0474
 +
</pre>
 +
 
 +
==== v0.28.181.39e ====
 +
<pre>
 +
check=01b76baa
 +
critter_start=0151f93c
 +
dwarfidpos=0132c1e0
 +
profession_start=0474
 +
</pre>
 +
 
 +
==== v0.28.181.39f ====
 +
<pre>
 +
check=036276be
 +
critter_start=01575dec
 +
dwarfidpos=01382690
 +
profession_start=0474
 +
</pre>
  
:Foreman is looking at the wrong address for the units... which is not a good sign, since I've seen it in the address it seems to be looking at.  I've also seen it bounce around.  Definitely not a good sign if the list location isn't static.  Or we're just looking at the wrong one completely. --[[User:AzureLightning|AzureLightning]]
+
==== v0.28.181.40a ====
 +
<pre>
 +
check=03186cb3
 +
critter_start=0158222c
 +
dwarfidpos=0138e698
 +
profession_start=0474
 +
</pre>
  
It's pretty easy to find the addresses for this for new versions. Running the program in the directory with the new version gives you the check= value, and the others are moderately easy to suss. Also, I don't know exactly how it works or why it works, but from C->D->E start and pos were incremented 0x1000 each version, so laziness dictates trying that in future. [[User:Qalnor|Qalnor]] 16:37, 9 December 2007 (EST)
+
==== v0.28.181.40c ====
 +
<pre>check=032e896f
 +
critter_start=0158222c
 +
dwarfidpos=0138e698
 +
profession_start=0474</pre>
  
== Yourfilehost ==
+
==== v0.28.181.40d2 ====
 +
<pre>
 +
check=01807735
 +
critter_start=014D1404
 +
dwarfidpos=012DD2F8
 +
profession_start=00000544
 +
</pre>
  
Yourfilehost.com has kind of a lousy reputation, and I can confirm it's blocked on certain college networks. Could someone upload these utilities to a more reputable host? -- Mzbundifund 15:55, 04 November 2007 (EDT)
+
==== v0.28.181.40d3 ====
: Such as? --[[User:Rick|Rick]] 18:03, 4 November 2007 (EST)
+
<pre>
 +
check=0191B535
 +
critter_start=014D341C
 +
dwarfidpos=012DF310
 +
profession_start=00000544
 +
</pre>
  
==heal.exe==
+
==== v0.28.181.40d4 ====
 +
<pre>
 +
check=0190599F
 +
critter_start=014D341C
 +
dwarfidpos=012DF310
 +
profession_start=00000544
 +
</pre>
  
heal.exe does not regrow missing limbs. However, "heal -hurt" on the command line brings missing limbs to red status, and "heal" thereafter restores the being to full health.
+
==== v0.28.181.40d5 ====
 +
<pre>
 +
check=019687A7
 +
critter_start=014D5434
 +
dwarfidpos=012E1328
 +
profession_start=00000544
 +
</pre>
  
I propose a -regrow parameter so we don't have to do this workaround, since if it's possible to bring missing limbs from dark grey to red status it's also possible to grow them back.
+
==== v0.28.181.40d6 ====
 +
<pre>
 +
check=018D14AA
 +
critter_start=014EDE3C
 +
dwarfidpos=012F9D30
 +
profession_start=00000544
 +
</pre>
  
Also, when using the -hurt parameter, it still says "059E7210 had 31 body parts '''healed'''", when it should probably say "wounded". --[[User:JT|JT]] 17:58, 10 November 2007 (EST)
+
==== v0.28.181.40d7 ====
 +
<pre>
 +
check=01A78193
 +
critter_start=014EDFCC
 +
dwarfidpos=012F9EC0
 +
profession_start=00000544
 +
</pre>
  
: Hmm, if it does heal missing limbs then I just need to change my logic slightly for healing. --[[User:Rick|Rick]] 19:01, 10 November 2007 (EST)
+
==== v0.28.181.40d8 ====
 +
<pre>
 +
check=01860A3C
 +
critter_start=014EDFCC
 +
dwarfidpos=012F9EC0
 +
profession_start=00000544
 +
</pre>
  
==reveal.exe==
+
==== v0.28.181.40d9 ====
 +
<pre>
 +
check=01318B82
 +
critter_start=014EDFCC
 +
dwarfidpos=012F9EC0
 +
profession_start=00000544
 +
</pre>
  
From what I've tested, reveal for 33a does not work for 33b. --[[User:Sparksol|Sparksol]] 13:39, 17 November 2007 (EST)
+
==Regional Prospector?==
 +
I notice the Regional Prospector utility is no longer listed - what happened to it and did it get updated to the newest version? --[[User:Squirrelloid|Squirrelloid]] 05:20, 20 November 2008 (EST)
 +
:The functionality is now provided on the embark screen, so the utility is obsolete. [[User:Random832|Random832]] 08:38, 20 November 2008 (EST)
 +
::Except it really isn't.  Yeah, I can have it search the world for a site for me, but it doesn't tell me where exactly those features are - so if I want to play with size or location a little bit I don't know if I'm losing anything.  It also returns only one hit, which can make finding the type of site you want hard, especially as some variables (tree cover, relative elevation, diversity of alignment/biomes) can't be searched over making that first hit with an underground river and magma pipe (or whatever) not necessarily the one you want.  --[[User:Squirrelloid|Squirrelloid]] 10:42, 20 November 2008 (EST)
 +
:::Yes, it is. Regional Prospector would make the game show various features on the local embark map such as chasms, magma vents and magma pools. This is now supported natively by changing the "SHOW_EMBARK_???" variables in the init.txt file to "ALWAYS". Same functionality. The site finder feature which you're referring to is an additional feature, which indeed doesn't yet work perfectly. --[[User:Janus|Janus]] 11:06, 20 November 2008 (EST)
  
:Correct.  It uses hardcoded offsets, which will change every time new code is added to DF.
+
::::Similar variables have to be set during worldgen, although I believe they are set to "show" by default.--[[User:Maximus|Maximus]] 12:44, 20 November 2008 (EST)
:I have a version hacked for .33b, which I will not distribute out of respect for Rick.
 
:However, if you are skilled with a hex editor, here's what to do: change the first 5 occurances of the pattern 85 45 01 to the pattern 95 45 01.  (The 6th occurance of the pattern is a coincidental match and should not be changed.)  Then change the pattern 8C 33 89 00 to the pattern 8C 43 89 00.<br/>&mdash;[[User:0x517A5D|0x517A5D]] 02:31, 19 November 2007 (EST)
 
  
:Actually, as it happens, it looks like Rick has produced updated versions of his tools for .33b. They were built on the 16th. However he hasn't linked to them.  I don't know why.  The URL they're at requests that no links be made to them, so I'm not going to tell you. Sorry, you'll just have to do the hexedit.<br/>&mdash;[[User:0x517A5D|0x517A5D]] 02:45, 19 November 2007 (EST)
+
: Say, does anyone know of a list that explains the symbols that Prospector uses? It took me forever to be certain that a red single tilde was a magma pool, while a red double-tilde (a.k.a. squiggly equal sign) was a magma ''pipe'', and there are still a couple symbols I'm not sure about...
 +
:--[[User:Macdjord|Macdjord]] 13:12, 20 November 2008 (EST)
 +
:: There used to be a map key in the '''RP''' section.  [[http://www.dwarffortresswiki.net/index.php?title=Utilities&oldid=28602#Regional_Prospector history]]
  
:I just havn't mirrored them yet, that's all. --[[User:Rick|Rick]] 03:10, 19 November 2007 (EST)
+
== Lifevis?! ==
::Hey, I'm curious why the file sizes ballooned.  Reveal went from 52k to 101k, a doubling in size.  Heal grew even more.  Maybe you didn't strip debugging info?<br/>&mdash;[[User:0x517A5D|0x517A5D]] 15:42, 19 November 2007 (EST)
 
:::Usage of std libraries mostly. I made a library for working with DF so I wouldn't have to keep duplicating code through projects, and when writing it I figured I might as well make it more friendly for me to code in, hence usage of std:: stuff. --[[User:Rick|Rick]] 19:00, 19 November 2007 (EST)
 
  
:Whenever I try to open reveal.exe, the window will open up for a millisecond and then immedietely close. Is this a problem with the program or my windows? I am assuming its windows since everyone else seems to be able to use it. Has anyone else had this problem?--[[User:Varsashi|Varsashi]] 17:59, 26 November 2007 (EST)
+
There's a realtime replacement for 3Dwarf out: [http://www.bay12games.com/forum/index.php?topic=29314.0] (yes, i made the thread, but no i don't claim any credit for the util.) It should '''totally''' be added to the list! But where?
 +
:Wow I just took a look at Lifevis, it's really something special! I guess it would come under "Movies, Screenshots, Map Files" best, although perhaps we need a whole new "3d utilities" section. Either way, it should definitely be included.
  
::It hasn't been updated to work with 33c, and doesn't. Hopefully it will be updated soon. If you're using 33b, it should open and close quickly but reveal all allocated squares. To allocate all squares for revealing, I'll repeat the advice I've seen elsewhere: go to the lowest level and designate the entire level for digging, then remove the dig designation and run the reveal utility. --[[User:Janus|Janus]] 20:08, 26 November 2007 (EST)
+
== Dwarf Foreman Vista ==
  
So how do people feel about deleting this section, and probably the heal.exe section above too?
+
Whenever I try to run Dwarf Foreman in Vista I get a message saying "Couldn't connect to Dwarf Fortress, Is it Running?".  Any ideas?  I'm using 40d9 and have the latest updates to the config file.
  
==How to use warp.exe?==
+
:As is standard for most DF Utilities, you'll probably need to be running in Admin, or otherwise ensure that the program has access to edit memory locations of another program. Other than that, Sorry, no idea. --[[User:N9103|Edward]] 11:15, 20 March 2009 (UTC)
How do you use warp.exe? There's no information on how to use these on the page.--[[User:Demosthenes|Demosthenes]] 02:10, 21 November 2007 (EST)
 
: <code>warp.exe</code> by itself will list your current cursor position. After you have the position you want to warp a creature to, you do <code>warp.exe <x> <y> <z></code> as arguments, and it will warp the selected creature (selected with 'V'iew) to that destination, if it can. --[[User:Rick|Rick]] 18:10, 21 November 2007 (EST)
 
  
==StartProfile==
+
::Problem's probably "40d9", most of the utilities haven't been upgraded since "40d" --[[User:Solarshado|Solarshado]] 21:49, 20 March 2009 (UTC)
Perhaps, I don't understand how to use this correctly.  I'm using 33e, and the StartProfile linked in the Utils section.  I'm supposed to use this util at the Prepare for the Journey screen, correct?  I tried testing the export function with the first dwarf, with no skills assigned.  startprofile.exe -x 0 test.txt What I got back was:<br/>
 
<code>
 
Mining: 1348403210<br/>
 
Wood Cutter: 1565676876<br/>
 
Carpenter: 3801123<br/>
 
Engraving: 34079120<br/>
 
Record Keepe: 2293770<br/>
 
Liar: 34341293<br/>
 
Intimidator: 16843009<br/>
 
Conversationalist: 16843009<br/>
 
Comedian: 16843009<br/>
 
Flatterer: 16843009<br/>
 
Consoler: 16843009<br/>
 
Pacifier: 16843009<br/>
 
</code>
 
When I try to set a dwarf's skills using StartProfile I end up with huge amounts of either negative or positive points available, with no changes being made to the dwarf's skills.  <br/ >--[[User:Stu72|Stu72]] 09:23, 11 December 2007 (EST)
 
: The offset for the skills must have changed. I guess I should've actually checked that, and not have assumed that just because the other values were correct, the skills were still correct. I'll check it out and post the appropriate fix. -- [[User:Jifodus|Jifodus]]
 
: The appropriate fix is redownloading it, when I hex edited the exe I messed it up field. -- [[User:Jifodus|Jifodus]]
 
:: Thanks, works beautifully.  It's a terrific time saver. --[[User:Stu72|Stu72]] 15:30, 14 December 2007 (EST)
 
  
How does one use this? The readme isn't very helpful. --[[User:Jackard|Jackard]] 01:08, 27 November 2007 (EST)
+
:Try this: rename the "Dwarf Fortress.exe" file to "dwarfort.exe". Also use put this text in a file named "config" in the Foreman directory:
: Not knowing exactly what you're having trouble understanding, I'll give examples (the one thing I forgot to add in the readme).<br /><code>startprofile 0 Miner.txt</code> - This will set the skill profile of the first Dwarf, in the list of units, to the skills in Miner.txt<br /><code>startprofile 1 Jeweler.txt</code> - This will set the skills on the second Dwarf, in the list of units, to the skills in Jeweler.txt<br /><code>startprofile -x 3 Customprofile.txt</code> - This will save the set of skills on the fourth Dwarf to Customprofile.txt<br /><code>startprofile -v0.27.169.33b 0 Miner.txt</code> Same as the first example, except it'll work on the previous version of Dwarf Fortress.<br />-- [[User:Jifodus|Jifodus]] 03:28, 27 November 2007 (EST)
+
<pre>check=01318B82
::Thanks, I'll try that out. --[[User:Jackard|Jackard]] 21:21, 27 November 2007 (EST)
+
critter_start=014EDFCC
 +
dwarfidpos=012F9EC0
 +
profession_start=00000544</pre>
 +
:That got Foreman working for me under XP. It is my understanding that there are issues for some Vista users <small>(the Dwarf Fortress executable is being relocated away from its natural base address for some currently-unknown reason)</small>, so this may not work for you.  Please post a reply especially if it does not work for you.<br/>&mdash;[[User:0x517A5D|0x517A5D]] 00:48, 21 March 2009 (UTC)
  
If you wish to edit the executable, you can modify it so that it works with 0.27.169.33d by making the following changes with a hex editor:
+
== Dwarf Therapist for the 40d* series ==
Offset  Overwrite With
+
[http://www.bay12games.com/forum/index.php?topic=46841 40d* update branch] - from the forum post: <blockquote>
----------------------------
+
Note: Currently works on windows with all versions from 39a-40d, 40d2-40d19_2 and all linux versions from 40d2-40d19!
  2A530 | 98 16 25 01 04 00 00 00 DC 00 00 00 F0 08 00 00 70 00 00 00 C0 01 00 00
+
</blockquote> --[[User:Altaree|Altaree]] 13:11, 24 March 2010 (UTC)
  2A6A6 | 30 2E 32 37 2E 31 36 39 2E 33 33 64
+
=== Other ===
  2A77C | 02
 
-- [[User:Jifodus|Jifodus]] 20:14, 3 December 2007 (EST)
 
:CBW; PUSH SS; AND EAX, 00000401h; ADD AH, BL; ADD [EAX], AL; ...
 
:That makes no sense.  Must be missing something off the head end.
 
:3 unknown bytes; ADD [EAX+EAX], EAX; ...  No better.  Worse, even.
 
:4 unknown bytes; ADD AL, 00h; ADD [EAX], AL; ...  Unh uh.  Don't think so.
 
:8 unknown bytes; ESC-4(00); ...  Floating point?  Really?  No way.
 
:12 unknown bytes; LOCK OR [EAX], AL ...  Insane.
 
:I don't know what those bytes are, but they're not code.&mdash;[[User:0x517A5D|0x517A5D]] 23:23, 3 December 2007 (EST)
 
::You're right, they're data. First Row is (left to right, 5 dwords): [[User:Jifodus/Memory research#Addresses_3|Start Address]], Offset from address at start address, Dwarf List begin offset, Starting points offset, Skills offset, remaining skill points points. Second row is a character string (15 chars max). Third row is a dword indicating which data index is default.
 
:: <tt>//Start Addr, O, Lizt, Ponts, Skll, Remain</tt>  
 
:: <tt>{ 0x01251698, 4, 0xDC, 0x8F0, 0x70, 0x1C0 }</tt> - The read/write locations and whatnot
 
:: <tt>"0.27.169.33d"</tt> - Used for string comparison (-v flag)
 
:: <tt>2</tt> - The default version to use is the third in the list (what the above just added).
 
:: Configuration data can be found between 'DATA_SET' and 'TES_ATAD'. The list has enough space for 16 versions (3 are now in use). I'll just say I didn't want to have to recompile it for all the versions -- [[User:Jifodus|Jifodus]] 21:52, 6 December 2007 (EST)
 
If you wish to edit the executable, you can modify it so that it works with 0.27.169.33e by making the following changes with a hex editor:
 
Offset  Overwrite With
 
----------------------------
 
  2A550 |"98 26 25 01"04 00 00 00 DC 00 00 00 F0 08 00 00 70 00 00 00 C0 01 00 00
 
  2A6B5 | 30 2E 32 37 2E 31 36 39 2E 33 33"65"
 
  2A77C |"03"
 
  
==Water==
+
So, what happened to the utilities such as granite.exe and ore.exe? No mention of them anymore, or did just nobody bother remaking them for 40d? Honestly I still play the old '2D' version of the game without the z axis, so I like being able to find those utils. xD --[[User:Kittenykat|Kittenykat]] 21:37, 9 March 2010 (UTC)
"Note: If there is lava in a murky pool, it will be raised to depth 7/7."
+
:They're somewhere on DFFD - search for "23a" and they should show up. --[[User:Quietust|Quietust]] 15:27, 24 March 2010 (UTC)
:Does anyone else find this hilarious? --[[User:Jackard|Jackard]] 14:11, 28 November 2007 (EST)
 

Latest revision as of 15:27, 24 March 2010


Dwarf Fortress File Depot[edit]

Would be great to get the majority of these uploaded to the Dwarf Fortress File Depot (DFFD). I'm having trouble with some of the currently linked hosting sites. I've just gotten Regional Prospector, so I'll see about getting that one up. Thanks guys! --SlMagnvox 14:33, 25 February 2008 (EST)




Accent Removal[edit]

I added the accent removal utility here from Accent Removal, since that's about to be deleted. However, none of Wikipedia's show-hide-box stuff works here (I assumed it would...), so it's a big glob of pre-formatted text in there that should be hidden. Could someone do it? Zardus 00:51, 15 May 2008 (EDT)

Accent removal tutorial contains detailed instructions on the subject. I think, we could replace the whole thing on utility page with one link. Nophotoavailable 20:58, 1 August 2008 (EDT)

AutoHotKey[edit]

Should autohotkey be added as a utility tool for dwarf fortress? I know a few forum users have used it to do repetitive tasks like room designations, maybe it could have its own page and a few dwarf fortress specific script?--Thehunterunseen 20:43, 31 October 2007 (EDT)

Ive been looking for a macro program that works within dwarf fortress and thats free. Havent found a good program thats the combination of both. What do you use? --Mizipzor 20:51, 31 October 2007 (EDT)
autohotkey [1] is a program like that --Thehunterunseen 21:13, 31 October 2007 (EDT)
That was the program I used. Wierd. For me, when I inputed "6" for moving one step right... it moved like 8 steps right or something. Couldnt figure out why. Any ideas? --Mizipzor 22:57, 31 October 2007 (EDT)
I know that shift + = 10×. Could that have something to do with it? --Savok 23:17, 31 October 2007 (EDT)
I use "Send {LeftArrow}{Enter}{Enter}", as a test to simply have the wall/floor im building to be placed one step to the right instead of where the cursor actually is. As previously said, however, it didnt work. --Mizipzor 07:05, 1 November 2007 (EDT)
That might be because the {LeftArrow} part isn't right. It's supposed to be just {Left}. I've downloaded the program myself and am not having any issues with it in DF.. I'm running XP, and use it in fullscreen mode, if that helps any. --Hesitris 18:53, 12 November 2007 (EST)
So could some people who actually know some autohotkey scripts make an article and submit some? --Thehunterunseen 13:37, 6 November 2007 (EST)
I use it and more or less know how it works but as soon as I use it inside DF it bugs out completely and I have no idea why. --Mizipzor 17:56, 6 November 2007 (EST)
I have a number of scripts that I use, but they randomly bug out for no apparent reason. They will work fine in notepad (ie, output everything exactly as I expect), but be only partially executing and then failing in DF. Again, sometimes they work fine. I could post them and how they work if someone wants. FYI, I am on Vista and that may be an issue. --Geofferic 02:39, 19 November 2007 (EST)
I'm not sure how CPU cycles and the buffer interact in Vista. Is your FPS low? Perhaps a key is dropping out of the buffer but DF isn't recognizing it due to lag? Or lag might be making the buffer overflow. It might depend on how autohotkey sends keystrokes, I don't know if it simulates a key press or directly input ssomething into the buffer. You could try a small sleep(50), or the equivalent, in autohotkey and see if that helps. Also, make sure it isn't losing focus for some reason due to background programs (although that would be strange) -Gotthard
I think it's a lag issue in DF. I've yet to figure out exactly what is causing lag for me. I think it's pathing with too many dwarfs and too complex of a hallway system over too many Z levels. Also, I think playing very large maps causes me to lag, as well, but I think that's related to the pathing problem and all those other creatures trying to path. It definitely got better in this version, tho. I will hold off on trying to say definitively what's up with AuthoHotkey until after the next patch. --Geofferic 03:50, 21 November 2007 (EST)
AHK does tend to do wierd stuff in DF, but most of it is predictable. A lot of wierd errors that make no sense can be fixed by explicitely telling the script to focus on the Dwarf Fortress window, as well as generous Sleep statements. I found while rewalling a 30x30 outline, sleep 100 worked fine for the first two sides but posted about half of the second two. Sleep 150 placed the second two somewhat erraticly. Sleep 200 got the second two just fine. --Knivesu 10:22, 23 December 2007 (EST)
Just tested, and the weird behavior of AHK does not happen in DF 38c, but does happen in 40d11 (I came back to DF after time away). I have tried altering my scripts in a ton of ways to get them working with 40d11, to no avail (Changing key delay, using sendplay or sendinput instead of send, etc). So, perhaps there is hope that it will magically work right again in a later release. Nephelim 00:06, 23 June 2009 (UTC)

Dwarf Foreman[edit]

Foreman is looking at the wrong address for the units... which is not a good sign, since I've seen it in the address it seems to be looking at. I've also seen it bounce around. Definitely not a good sign if the list location isn't static. Or we're just looking at the wrong one completely. --AzureLightning

It's pretty easy to find the addresses for this for new versions. Running the program in the directory with the new version gives you the check= value, and the others are moderately easy to suss. Also, I don't know exactly how it works or why it works, but from C->D->E start and pos were incremented 0x1000 each version, so laziness dictates trying that in future. Qalnor 16:37, 9 December 2007 (EST)

Is there any info on what the offsets (dwarfidpos, critter_start, profession_start) actually refer to? I'm capable enough with finding memory addresses, but exactly what profession_start is eludes me. Even dwarfidpos is a little unclear.

dwarfidpos = Address of Dwarf Race ID
critter_start = Start of Main Creature Vector
profession_start = Offset into Main Creature Vector the array of jobs.

Jifodus 00:41, 7 March 2008 (EST)

Does anyone know the values for v0.28.181.39f? --Aristoi 18:18, 10 August 2008 (EDT)

Still no word on 39f? Perhaps we can get a little write-up on how to discover the appropriate values added to the foreman homepage. That way, when a new version of DF is released, any number of people could search for and contribute the new values, instead of depending on the few people who already know the process. --SWSaunders 09:10, 12 August 2008 (ADT)
Thanks Jerethi50, beat me to it. When I went to enter the values you already had! SWSaunders: What I did (having never done this before) was to download a memory viewer (HxD hexeditor) and then look at the old version vs the new version in memory. In the old version, I found the character at the dwarfidpos address and searched forward till I found that in the new file. For critter_start I went to the old process and found it there, then searched forward in the new process till I found the pattern match (it wasn't too far). The data was different but the pattern was the same. The profession offset hasn't changed so I left it as is. --Aristoi 11:13, 12 August 2008 (EDT)
That's exactly how I do it, except I have written a program that does it for me, since it saves time. I also tend to forget to post Dwarf Foreman's new config during updating. Usually I remember to update the tables at http://www.geocities.com/jifodus/tables/ini_jifodus/ and that has all the information you'd need (critter_start=[creature_data].base; profession_start=[creature_data].jobs); however, it seems I didn't update it this last go around. If you wander around my website, you should be able to find enough information posted there (provided you can understand it all) to learn how to update foreman for yourself. --Jifodus 22:22, 14 August 2008 (EDT)
Can someone that understands all this go through and get up to 40d13 information for what to put in the config file? Because I honestly have no idea where to start on this, but I really don't want to downgrade to an earlier one after seeing how much better 40d13 is running for me than the older versions were. Shardok 20:30, 6 August 2009 (UTC)

To make Foreman compatible with previous versions of Dwarf Fortress, update the config file as shown below.

v0.27.168.33g[edit]

check=008c407c
critter_start=01427B50
dwarfidpos=01248AC8
profession_start=45c

v0.27.173.38a[edit]

check=01E30A43
critter_start=01450E98
dwarfidpos=01271E10
profession_start=45c

v0.27.176.38a[edit]

check=023401d3
critter_start=01463378
dwarfidpos=01284188
profession_start=480

v0.27.176.38b[edit]

check=01e3dbcc
critter_start=01463570
dwarfidpos=01284188
profession_start=0470

v0.27.176.38c[edit]

check=01cf4654
critter_start=01464570
dwarfidpos=01285188
profession_start=0470

v0.28.181.39a[edit]

check=01aa9d3a
critter_start=015124f4
dwarfidpos=0131f1b8
profession_start=0474

v0.28.181.39b[edit]

check=01a16957
critter_start=015134f4
dwarfidpos=013201b8
profession_start=0474

v0.28.181.39c[edit]

check=01b89dbc
critter_start=01513514
dwarfidpos=013201d8
profession_start=0474

v0.28.181.39d[edit]

check=01b0747e
critter_start=0151f93c
dwarfidpos=0132c1e0
profession_start=0474

v0.28.181.39e[edit]

check=01b76baa
critter_start=0151f93c
dwarfidpos=0132c1e0
profession_start=0474

v0.28.181.39f[edit]

check=036276be
critter_start=01575dec
dwarfidpos=01382690
profession_start=0474

v0.28.181.40a[edit]

check=03186cb3
critter_start=0158222c
dwarfidpos=0138e698
profession_start=0474

v0.28.181.40c[edit]

check=032e896f
critter_start=0158222c
dwarfidpos=0138e698
profession_start=0474

v0.28.181.40d2[edit]

check=01807735
critter_start=014D1404
dwarfidpos=012DD2F8
profession_start=00000544

v0.28.181.40d3[edit]

check=0191B535
critter_start=014D341C
dwarfidpos=012DF310
profession_start=00000544

v0.28.181.40d4[edit]

check=0190599F
critter_start=014D341C
dwarfidpos=012DF310
profession_start=00000544

v0.28.181.40d5[edit]

check=019687A7
critter_start=014D5434
dwarfidpos=012E1328
profession_start=00000544

v0.28.181.40d6[edit]

check=018D14AA
critter_start=014EDE3C
dwarfidpos=012F9D30
profession_start=00000544

v0.28.181.40d7[edit]

check=01A78193
critter_start=014EDFCC
dwarfidpos=012F9EC0
profession_start=00000544

v0.28.181.40d8[edit]

check=01860A3C
critter_start=014EDFCC
dwarfidpos=012F9EC0
profession_start=00000544

v0.28.181.40d9[edit]

check=01318B82
critter_start=014EDFCC
dwarfidpos=012F9EC0
profession_start=00000544

Regional Prospector?[edit]

I notice the Regional Prospector utility is no longer listed - what happened to it and did it get updated to the newest version? --Squirrelloid 05:20, 20 November 2008 (EST)

The functionality is now provided on the embark screen, so the utility is obsolete. Random832 08:38, 20 November 2008 (EST)
Except it really isn't. Yeah, I can have it search the world for a site for me, but it doesn't tell me where exactly those features are - so if I want to play with size or location a little bit I don't know if I'm losing anything. It also returns only one hit, which can make finding the type of site you want hard, especially as some variables (tree cover, relative elevation, diversity of alignment/biomes) can't be searched over making that first hit with an underground river and magma pipe (or whatever) not necessarily the one you want. --Squirrelloid 10:42, 20 November 2008 (EST)
Yes, it is. Regional Prospector would make the game show various features on the local embark map such as chasms, magma vents and magma pools. This is now supported natively by changing the "SHOW_EMBARK_???" variables in the init.txt file to "ALWAYS". Same functionality. The site finder feature which you're referring to is an additional feature, which indeed doesn't yet work perfectly. --Janus 11:06, 20 November 2008 (EST)
Similar variables have to be set during worldgen, although I believe they are set to "show" by default.--Maximus 12:44, 20 November 2008 (EST)
Say, does anyone know of a list that explains the symbols that Prospector uses? It took me forever to be certain that a red single tilde was a magma pool, while a red double-tilde (a.k.a. squiggly equal sign) was a magma pipe, and there are still a couple symbols I'm not sure about...
--Macdjord 13:12, 20 November 2008 (EST)
There used to be a map key in the RP section. http://www.dwarffortresswiki.net/index.php?title=Utilities&oldid=28602#Regional_Prospector history

Lifevis?![edit]

There's a realtime replacement for 3Dwarf out: [2] (yes, i made the thread, but no i don't claim any credit for the util.) It should totally be added to the list! But where?

Wow I just took a look at Lifevis, it's really something special! I guess it would come under "Movies, Screenshots, Map Files" best, although perhaps we need a whole new "3d utilities" section. Either way, it should definitely be included.

Dwarf Foreman Vista[edit]

Whenever I try to run Dwarf Foreman in Vista I get a message saying "Couldn't connect to Dwarf Fortress, Is it Running?". Any ideas? I'm using 40d9 and have the latest updates to the config file.

As is standard for most DF Utilities, you'll probably need to be running in Admin, or otherwise ensure that the program has access to edit memory locations of another program. Other than that, Sorry, no idea. --Edward 11:15, 20 March 2009 (UTC)
Problem's probably "40d9", most of the utilities haven't been upgraded since "40d" --Solarshado 21:49, 20 March 2009 (UTC)
Try this: rename the "Dwarf Fortress.exe" file to "dwarfort.exe". Also use put this text in a file named "config" in the Foreman directory:
check=01318B82
critter_start=014EDFCC
dwarfidpos=012F9EC0
profession_start=00000544
That got Foreman working for me under XP. It is my understanding that there are issues for some Vista users (the Dwarf Fortress executable is being relocated away from its natural base address for some currently-unknown reason), so this may not work for you. Please post a reply especially if it does not work for you.
0x517A5D 00:48, 21 March 2009 (UTC)

Dwarf Therapist for the 40d* series[edit]

40d* update branch - from the forum post:

Note: Currently works on windows with all versions from 39a-40d, 40d2-40d19_2 and all linux versions from 40d2-40d19!

--Altaree 13:11, 24 March 2010 (UTC)

Other[edit]

So, what happened to the utilities such as granite.exe and ore.exe? No mention of them anymore, or did just nobody bother remaking them for 40d? Honestly I still play the old '2D' version of the game without the z axis, so I like being able to find those utils. xD --Kittenykat 21:37, 9 March 2010 (UTC)

They're somewhere on DFFD - search for "23a" and they should show up. --Quietust 15:27, 24 March 2010 (UTC)