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.

Editing Utility Talk:Dwarf Companion

Jump to navigation Jump to search

Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.


The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
I did some cleaning (actually I just removed most of it).
+
Things I've noticed with tinkering around in 33g.
 +
*"invade?" tag toggles prone position for the target.
 +
*0x1.7(4th row) places and removes the target from the royal guard.
 +
*0x2.7(4th row) places and removes the target from the fortress guard.
 +
*0x4000 second row seems to dictate if the creature has a job or place to go to. Turning it off seems to do nothing, it just turns right back on again, unless the creature is moved in the process of applying.
 +
*0x84, 0x800 and 0x4.5(7th row) make the dwarf friendly oriented instead of a fortress-dweller, much like a merchant.
 +
*0x8 Is only present on dwarves legendary through making an artifact. It could be what keeps them from having another mood.
 +
*0x2000 and 0x2.7(last row) seem to be related to lung-related injuries. Both make a "winded" effect appear on the dwarf. 0x2.7 seems to wear off after a short time.
 +
*0x100(2nd row) does something peculiar. It removes the dwarf from the unit list, and then the dwarf just completely vanishes. Several tags are reset and the dwarf, for all purposes, seems to no longer exist. So far nothing I can find will bring the dwarf back, and several tags used on the dwarf will cause DF to lock up.
 +
*0x400 makes the target invisible to the unit list only, does not seem to have any adverse effects.
 +
*0x8.5(7th row) makes the unit a "visitor" on the unit list. Behaves friendly, not sure what it does otherwise.
  
== Compatibility with Mods ==
+
Some interesting notes too. Setting a dwarf to hostile, waiting until a nearby soldier is charging to attack, then making them friendly again causes something really interesting. The soldier will kill the now-friendly dwarf, and then that soldier will become a target to all nearby soldiers, despite still being controllable and interactable.
 +
Also, that "staring off into the distance" mood is interesting. I want to see it in action but I can't find a way to actually trigger the mood to act. [[User:Lightning4|Lightning4]] 09:23, 27 December 2007 (EST)
  
Was working with the Dig Deeper mod, and found that it doesn't work with modded in creatures at all. That's a let-down. [[User:Jwguy|Jwguy]] 07:55, 5 July 2009 (UTC)
+
:Thanks for this update! I'll include them in the next revision. AFAIK 0x8 triggers the "creator of" text, and works on any dwarf. It's quite possible to trigger a mood, i'll try soon triggering an artifical mood. [[User:Bartavelle|Bartavelle]] 11:54, 27 December        2007 (EST)
  
Not actual anymore. Works with all creatures, whether modded or not.  --[[User:Blur|Blur]] 18:30, 8 February 2010 (UTC)
 
  
== Not working ==
 
  
I'm on 40d, and have followed the instructions on the page, (GTK Win32 runtime, Python 2.5, All three modules, and the Program), started the program up before and after Dwarf Fortress, just to see if I did it wrong the first time, and it doesn't work. The Program just has some category tabs and a few buttons, but never shows any data. [[User:Jwguy|Jwguy]] 18:31, 29 May 2009 (UTC)
+
Hey. It seems that when I give a dwarf a mood, he goes to the meeting area and does nothing. Also, when I change a dwarves mood to NONE, I get an error and the game crashes. [[User:Zonhin|Zonhin]] 21:12, 20 January 2008 (EST)
  
*Additionally, in case it might help, all I am getting is a single box with Refresh, All Creatures, Only Dwarves, etc. There doesn't seem to be a load function or anything. I'd really appreciate some help with this. [[User:Jwguy|Jwguy]] 18:41, 29 May 2009 (UTC)
 
  
*Here's a screenshot of what I am dealing with, also: http://i64.photobucket.com/albums/h178/Jwguy/Notworking2.jpg . It was also suggested to me that I may need something called Pango, which doesn't seem to be mentioned on the wiki, anywhere. [[User:Jwguy|Jwguy]] 21:06, 29 May 2009 (UTC)
+
== Feature requests! ==
  
** I believe I was able to correct the problem. Apparently, the program is centered around the C:/ drive only. I normally play Dwarf Fortress from my portable hard-drive, and tried initializing the program on both devices. After a bit of trial and error, I moved both to my desktop, and it seems to work, now. Hopefully, if anyone else has this problem, they can fix it like this; I still can't get my dwarves to stop dying from heat after running through a flow of lava, though. I threw them in water, doused the clothes and healed, but I digress. [[User:Jwguy|Jwguy]] 00:31, 30 May 2009 (UTC)
+
You suggested we put feature requests in the wiki discussion page, so here they are!
 +
* From sphir: "Any plans on map-related modules? e.g.
 +
**one button designate cut tree after recording the regions.
 +
:: I do not get this one? What is exactly suggested? Designate ALL trees at once? [[User:Bartavelle|Bartavelle]] 06:34, 28 December 2007 (EST)
 +
**additional "bookmarks", jump to creature (esp dead creatures, which cannot be done in game)
 +
:: I'll add that soon, as it doesn't seem too hard [[User:Bartavelle|Bartavelle]] 06:34, 28 December 2007 (EST)
 +
**add foreman.exe-like macro job management by profession?"
 +
:: This is planned too [[User:Bartavelle|Bartavelle]] 06:34, 28 December 2007 (EST)
 +
* and mine: "alert me when my hunters run out of bolts so I can draft them to reset their job state and get them to pick up a fresh batch of ammo. It's such a hassle to have to constantly watch hunters just so they don't do something dumb like put their head inside a cougar's mouth. Or even a way to look at the items in a dwarf's inventory would be lovely."
 +
: This one could be a bit tricky, as inventory is not reversed yet, and i haven't been looking at it, so i have no clue on how hard it is [[User:Bartavelle|Bartavelle]] 06:34, 28 December 2007 (EST)
 +
I guess others should just add their requests below. Awesome application, thanks Bartavelle! [[User:Chrominance|Chrominance]] 20:06, 27 December 2007 (EST)
 +
:How about the ability to change what the dwarf likes and hates? Just so my Mayor won't mandate the construction of adamantine items. --[[User:Corbine|Corbine]] 08:01, 28 December 2007 (EST)
 +
::Likes and recent "events" are next on my list of stuff to reverse. I would especially like to display a summary of all "bad mood stuff" that recently happened to dwarves. [[User:Bartavelle|Bartavelle]] 11:14, 28 December 2007 (EST)
  
 
== Bugs ==
 
== Bugs ==
There are a few known bugs :
 
* exhaustion is sometimes maxed out when you edit a creature
 
* bleeding seems not to be stoppable in most case : just turn the creature undead
 
* if there is a problem related to python and/or gtk, just make sure you followed the installation instructions. If it doesn't work anyway, it is unlikely I can help you (would be a python or gtk problem, not a DC problem)
 
 
  
== Feature requests! ==
+
If you happen to see this before the thread on the forums, I posted the bug I'm getting 50% of the time while traveling in adventure mode with the new version of DC in [38a].
 +
--[[User:KaelGotRice|KaelGotRice]] 10:26, 10 February 2008
  
What would be the chances of dwarf item manipulation? I'd love to bhttp://dwarffortresswiki.net/index.php/Utility_Talk:DwarfCompanione able to get rid of the rotting clothes that these stinking dwarves insist on wearing. [[User:Aristoi|Aristoi]] 15:01, 20 May 2009 (UTC)
+
Occasionally when you heal/hurt or modify something of a dwarf or creature, the exhaustion amount will be maxed out, causing the target to pass out for QUITE awhile. --[[User:Corbine|Corbine]] 08:15, 28 December 2007 (EST)
:Or maybe destroy that burning fire imp fat... [[User:Forsaken1111|Forsaken1111]] 06:08, 27 May 2009 (UTC)
+
:That's what's making them do that? Aha! --[[User:Penguinofhonor|Penguinofhonor]] 18:55, 3 February 2008 (EST)
 +
::Just check the exaustion field to make sure it's 0 or something low, as opposed to the 65535 that it will ocassionally fill in with. Not sure what causes it to go for max value instead of the minimum. --[[User:N9103|Edward]] 19:33, 3 February 2008 (EST)
  
Most Dwarves acquire dabbling level in all the social skills very quickly, which leaves these skills at the top of their skill list for all time.  Even if they later become a Legendary Mason, you still have to scroll down to see it. Can you add something that reorders their skills by highest level, so the things they're best at show up first?  --[[User:Oddrune|Oddrune]] 05:19, 1 June 2009 (UTC)
+
Getting an error when trying to start program. It couldn't get the DLLs at first so I just copied them into the folder, which seemed to work, but now it gives this:
 +
http://80.60.190.55/pics/dfcbug.jpg
 +
It closes (or crashes) the dwarf fortress application in the process, no error messages pop up.
 +
:thanks for the info, i'm trying right now to reduce the number of required components, so it should be better soon ... [[User:Bartavelle|Bartavelle]] 18:10, 1 January 2008 (EST)
  
 +
When I first tried to use DF Companion, it gave me an error message that stated Libglib-2.0-0.dll was missing. So I went and downloaded it, put it in the right place. Then it said I needed iconv.dll, so I went and downloaded it. Then it made me get intl.dll. Now, it's saying "The procedure entry point g_Assert_Warning could not be located in the dynamic link library libglib-2.0-0.dll"--[[User:Demosthenes|Demosthenes]] 17:22, 19 February 2008 (EST)
 +
: It sounds like you did not install the latest "gtk runtime environment" [[User:Bartavelle|Bartavelle]] 01:34, 20 February 2008 (EST)
 +
:: I did. D= Several times.--[[User:Demosthenes|Demosthenes]] 19:24, 20 February 2008 (EST)
 +
::: Then I have no clue :( [[User:Bartavelle|Bartavelle]] 01:46, 21 February 2008 (EST)
 +
::: When I run it with the command line, it gives this. http://img301.imageshack.us/img301/5550/errorao1.jpg --[[User:Demosthenes|Demosthenes]] 21:03, 28 February 2008 (EST)
  
Ignite units would be a nice feature too.  --[[User:Blur|Blur]] 17:23, 8 February 2010 (UTC)
+
== 0x4000 ==
  
== Dwarf Companion - Cheating Fun in Adventure Mode! ==
+
0x4000 is nauseous. [[User:Nate879|Nate879]] 19:10, 10 January 2008 (EST)
  
I was tinkering about with the Dwarf Companion program earlier today, when a thought came to my mind. "What if you could do stuff with this program in Adventure mode?"
+
:Better give it some Compazine, then. *rimshot*--[[User:Maximus|Maximus]] 23:21, 10 January 2008 (EST)
 
 
Well, it turns out that you can. By turning on the program and hitting the "All Creatures" box, you can access any loaded creature as well as your own adventurer. By doing this, you can make him as strong and legendary as you want, and effectively kill anything within the sector. You can also change your character into any creature in the game, including demons, goblins, etc. (NOTE: 'Shapeshifting' like this renders the tile where you changed un-passable, and you tend to teleport when you do so. Also, when I changed into a dragon, the game crashed.) Moods are also able to toggle, though I've only tested them upon my own adventurer. Going beserk in a human town triggered the mayor to start attacking me, but when I turned it off, he became friendly once again.
 
  
Here's a movie of some of my exploits with a fresh adventurer dwarf: http://mkv25.net/dfma/movie-348-dwarfcompanioninadventuremode17338a
 
  
I hope this strikes as interesting / useful for the future!
+
==How exactly do I run this?==
 +
What do I run here? The .glade file? Because if I open that, it gets me a tiny window with 2 things I can choose, skilledit and creatureedit. If I choose them, they are completely blank. I've tried cmd.exe but I get the same thing. --[[User:Penguinofhonor|Penguinofhonor]] 21:23, 21 January 2008 (EST)
 +
: you should run dfcomapnion_prototype.py, as stated in the main page!
 +
:: Hey, he added that because of this question, okay? --[[User:Penguinofhonor|Penguinofhonor]] 17:48, 27 January 2008 (EST)
  
:Please sign your additions to the discussion page. [[User:Forsaken1111|Forsaken1111]] 06:09, 27 May 2009 (UTC)
+
==Unable to run on win2000===
 +
I'm still using win2000, and I'm unable to run the program, it gives an error requesting the instruction GetProcessImageFileNameA, which is only available on XP and Server2003.
 +
: Ok i'm gonna try to find an alternative ASAP [[User:Bartavelle|Bartavelle]] 07:35, 28 January 2008 (EST)
  
== Easy Python/PyGTK installer ==
+
==Tracebacks for version .7==
  
I was having some trouble getting all the Python dependencies to work properly together, but after some research I found a nice all-in-one PyGTK installer that works perfectly with companion 0.10. http://aruiz.typepad.com/siliconisland/2006/12/allinone_win32_.html Hope this helps!
+
F:\Python25\GTK>dfcompanion_prototype.py
 +
version v0.27.169.88a, pid 3676, player 0
 +
0 words loaded
 +
Traceback (most recent call last):
 +
  File "F:\Python25\GTK\dfcompanion_prototype.py", line 390, in <module>
 +
    DFcmp = DFcompanion()
 +
  File "F:\Python25\GTK\dfcompanion_prototype.py", line 336, in __init__
 +
    self.dd = dwarfdbg()
 +
  File "F:\Python25\GTK\dwarfdbg.py", line 92, in __init__
 +
    self.getWords()
 +
  File "F:\Python25\GTK\dwarfdbg.py", line 208, in getWords
 +
    lptr = self.getLong(vec2[1]+race*4)
 +
  File "F:\Python25\GTK\dwarfdbg.py", line 104, in getLong
 +
    return struct.unpack("L", self.dbg.read(ptr, 4))[0]
 +
  File "F:\Python25\GTK\dfwin32.py", line 81, in read
 +
    raise WinError()
 +
WindowsError: [Error 299] Only part of a ReadProcessMemory or WriteProcessMemory
 +
request was completed.
  
== DwarfCompanion Linux HOWTO ==
+
:you must load your game [[User:Bartavelle|Bartavelle]] 10:45, 7 February 2008 (EST)
  
There are two major problems when trying to run DwarfCompanion-0.13 in Linux:
+
==Terrain Replication==
 +
You stated on the forums that you would/could make a script that would allow a person to copy the information from a tile and replicate it elsewhere, and then in Nist Akath, Captain Mayday claimed that he used said script. Where is this? It's useful-sounding. --[[User:Penguinofhonor|Penguinofhonor]] 19:45, 10 February 2008 (EST)
 +
: Try the secret link [http://bartabox.banquise.net/df/companion-0.8-any.zip here], but i will replace this file as soon as I "officially" release it. [[User:Bartavelle|Bartavelle]] 01:49, 11 February 2008 (EST)
  
* at least when started with "wine dwarfort.exe", dwarf-companion
 
** cannot find the path to the executable when searching for the offsets
 
** and has problems finding the process with "endswith()"
 
  
the following patch tries to work around these problems somewhat (you either have to run DwarfCompanion one directory-level down from your dwarfort.exe or change the path in the patch):
+
== Dwarf Companion - Cheating Fun in Adventure Mode! ==
  
--- companion/dwarfdbg.py 2008-09-07 22:04:12.000000000 +0000
+
I was tinkering about with the Dwarf Companion program earlier today, when a thought came to my mind. "What if you could do stuff with this program in Adventure mode?"  
+++ ~/dwarf_fortress/companion/dwarfdbg.py 2008-09-07 22:07:11.000000000 +0000
 
@@ -100,9 +100,9 @@
 
  self.dbg = pydbg()
 
  self.metals = None
 
  for (pid, proc) in self.dbg.enumerate_processes():
 
- if proc.lower().endswith("dwarfort.exe"):
 
+ if "dwarfort.exe" in proc.lower():
 
  break
 
- if not proc.lower().endswith("dwarfort.exe"):
 
+ if not "dwarfort.exe" in proc.lower():
 
  print "Dwarf Fortress is not running, or could not be found"
 
  sys.exit(-1)
 
  self.image = proc
 
@@ -864,7 +865,7 @@
 
 
 
  def getOs(self):
 
  if self.ofs == None:
 
- self.ofs = offsetsearch.offsetsearch(self.image)
 
+ self.ofs = offsetsearch.offsetsearch("../dwarfort.exe")
 
  return self.ofs
 
 
 
  def instaMood(self):
 
  
 +
Well, it turns out that you can. By turning on the program and hitting the "All Creatures" box, you can access any loaded creature as well as your own adventurer. By doing this, you can make him as strong and legendary as you want, and effectively kill anything within the sector. You can also change your character into any creature in the game, including demons, goblins, etc. (NOTE: 'Shapeshifting' like this renders the tile where you changed un-passable, and you tend to teleport when you do so. Also, when I changed into a dragon, the game crashed.) Moods are also able to toggle, though I've only tested them upon my own adventurer. Going beserk in a human town triggered the mayor to start attacking me, but when I turned it off, he became friendly once again.
  
* reading/writing from the dwarf-fortress process when attaching/detaching with ptrace() without waiting for the process to react to the ptrace() also leads to problems, basically it is timing-dependent if you can read or change anything
+
Here's a movie of some of my exploits with a fresh adventurer dwarf: http://mkv25.net/dfma/movie-348-dwarfcompanioninadventuremode17338a
  
this is easily fixed with waitpid (though I'm not quite sure if this really fixes the problem or if some signals could screw everything up again, therefore the "print status" statement):
+
I hope this strikes as interesting / useful for the future!
 
 
--- companion/dflinux.py 2008-01-09 10:50:00.000000000 +0000
 
+++ ~/dwarf_fortress/companion/dflinux.py 2008-09-07 21:29:50.000000000 +0000
 
@@ -33,6 +33,9 @@
 
  pid = int(spid)
 
  self.pid = pid
 
  self.libc.ptrace(16, self.pid, 0, 0) #ptrace attach
 
+ status = 0
 
+ self.libc.waitpid(self.pid, status, 0)
 
+ print status
 
 
 
  def read(self, addr, size):
 
  out = ''
 
@@ -60,4 +63,7 @@
 
  def detach(self):
 
  if self.pid>0:
 
  self.libc.ptrace(17, self.pid, 0, 0) #ptrace detach
 
+ status = 0
 
+ self.libc.waitpid(self.pid, status, 0)
 
+ print status
 
  self.pid = 0
 
 
 
* There are still some minor problems, e.g. when trying to set anything in the creature-editor, but at least healing and resting from the creature-list works now as expected. I will try to take a look at the creature-editor ...
 
 
 
--[[User:Penguin dwarf08|Penguin dwarf08]] 14:14, 11 September 2008 (EDT)
 
 
 
:Thanks for this ! [[User:Bartavelle|Bartavelle]] 09:20, 17 March 2009 (UTC)
 
 
 
 
 
== Happydorf.py ==
 
 
 
I ran into a bug with a fortress that my dorfs were suiciding so I hacked this up to force their happiness to max, and it got me over the hump.  It might help someone someday.  Save as happydorf.py and dump it in your DC/scripts folder.
 
 
 
<tt>
 
from dwarfdbg import *
 
from eventname import jobName
 
import sys
 
dbg = dwarfdbg() #init dbg
 
cl = dbg.getCreatures(0) #get the whole creature list (slow)
 
for id in cl:
 
    if cl[id][1] != 'dwarf': #keep Dwarf (both alive and dead)
 
          continue
 
    c = cl[id][13] # creature structure
 
    if c.fe4&2:
 
          continue
 
    c.happiness = 65534 #Set happy to max -1, (max is 65535 as of 40D)
 
    dbg.saveCreature(c) #save
 
</tt>
 
--[[User:Kittyz|Kittyz]] 14:56, 27 January 2009 (EST) Kittyz
 
 
 
== Compatibility ==
 
 
 
Does this work in 0.28.181.40d11? It says DF isn't running or can't be found when I try. --[[User:Simmura McCrea|Simmura McCrea]] 18:16, 12 May 2009 (UTC)
 
 
 
: Nope. --[[User:Bartavelle|Bartavelle]] 08:48, 13 May 2009 (UTC)
 
 
 
::Damn. Cheers anyway. --[[User:Simmura McCrea|Simmura McCrea]] 15:25, 13 May 2009 (UTC)
 
 
 
:::Workaround: Transport save file to a 40d folder, mess around, transport it back. 40d/40d11 are mutually compatible. -[[User:Heartofgoldfish|Heartofgoldfish]] 00:18, 18 May 2009 (UTC)
 
  
::::Are there any plans to update the memory locations? I tried simply renaming the file to dwarfort.exe as it is in 40d but it would not work as the memory locations are out of date. [[User:Forsaken1111|Forsaken1111]] 06:08, 27 May 2009 (UTC)
+
== Won't Run ==
 +
Just recently had a little... accident at my fortress and I wanted to rectify it, since it was just a result of my own stupidity. Squashed some poor bastard with a drawbridge. Unfortunately trying to run Companion results in this:
  
: The problem lies in the name of the file, change Dwarf Fortress.exe to dwarfort.exe and the utility will find it, gave me a memory error, but it may work for you once you have the right name. [[User:Janizary|Janizary]] 19:39, 18 May 2009 (UTC)
+
  version generic version, pid 5740, player a6
 +
  2103 words loaded
 +
  race 0 loaded
 +
  race 1 loaded
 +
  race 2 loaded
 +
  race 3 loaded
 +
  Traceback (most recent call last):
 +
    File "C:\companion\dfcompanion_prototype.py", line 402, in <module>
 +
      DFcmp = DFcompanion()
 +
    File "C:\companion\dfcompanion_prototype.py", line 396, in __init__
 +
      self.initList()
 +
    File "C:\companion\dfcompanion_prototype.py", line 123, in initList
 +
      list = self.dd.getCreatures(self.showmode,dead=self.showdead)
 +
    File "C:\companion\dwarfdbg.py", line 814, in getCreatures
 +
      col = self.getCreature(c)
 +
    File "C:\companion\dwarfdbg.py", line 480, in getCreature
 +
      c.events = self.getEvents(c)
 +
    File "C:\companion\dwarfdbg.py", line 154, in getEvents
 +
      events.append( [p, eventName[p], id] )
 +
  KeyError: 212
 +
[[User:Lightning4|Lightning4]] 19:23, 23 February 2008 (EST)
  
::[[Dwarf Fortress Wiki:Community Portal#B|"B"]] is for Bold. You should put this out on the wiki proper, where it will be found by those who need it - start a Linux article, perhaps. Jo no habla linuxol, but once you do it will only grow.--[[User:Albedo|Albedo]] 15:08, 20 May 2009 (UTC)
+
:Update: I've tested again with the new version, as well as tried another fortress. The initial fortress I tried it on still fails to run with the same error. However, another, older fortress works just fine.[[User:Lightning4|Lightning4]] 14:04, 26 February 2008 (EST)
  
== Unknown flags ==
+
== 176.38a not work ==
0x1      =???        <br />
+
D:\games\1non company made\dwarf\utility\companion 0.10>dfcompanion_prototype.py
dead?    =Kills creature when used with 'dead' <br />
 
0x4      =??? <br />
 
artifact =designates whether creature has created an artifact <br />
 
0x10    =hostile        <br />
 
0x20    =???    <br />
 
merch1?  <br />
 
caravan guard? <br />
 
0x100          <br />
 
0x200          <br />
 
!unitlist      <br />
 
liaison?      <br />
 
zombie        <br />
 
skel          <br />
 
working        <br />
 
prone          <br />
 
0x1.4          <br />
 
inv1          <br />
 
hidden        <br />
 
inv2          <br />
 
0x1.5          <br />
 
0x2.5          <br />
 
0x4.5          <br />
 
0x8.5          <br />
 
0x1.6          <br />
 
0x2.6          <br />
 
tame          <br />
 
0x8.6          <br />
 
r.guard        <br />
 
f.guard        <br />
 
0x4.7 <br />
 
0x8.7 <br />
 
0x1b <br />
 
0x2b <br />
 
0x4b <br />
 
0x8b <br />
 
0x10b <br />
 
0x20b <br />
 
0x40b <br />
 
dead <br />
 
vanish? <br />
 
0x200b <br />
 
0x400b <br />
 
0x800b <br />
 
0x1000b <br />
 
winded? <br />
 
0x4000b <br />
 
ground <br />
 
flying <br />
 
slaughter <br />
 
underwrld <br />
 
can't eat <br />
 
0x1.5b <br />
 
0x2.5b <br />
 
0x4.5b <br />
 
visitor? <br />
 
0x1.6b <br />
 
0x2.6b <br />
 
0x4.6b <br />
 
0x8.6b <br />
 
0x1.7b <br />
 
winded? <br />
 
0x4.7b <br />
 
tame2 <br />
 
  
* Technically, '''all''' of these flags are known - see [[Creature flags in DF memory]]. --[[User:Quietust|Quietust]] 17:14, 18 May 2010 (UTC)
+
  version generic version, pid 5352, player a6
 +
  2103 words loaded
 +
  race 0 loaded
 +
  race 1 loaded
 +
  race 2 loaded
 +
  race 3 loaded
 +
  Traceback (most recent call last):
 +
    File "D:\games\1non company made\dwarf\utility\companion 0.10\dfcompanion_prototype.py", line 402, in <module>
 +
      DFcmp = DFcompanion()
 +
    File "D:\games\1non company made\dwarf\utility\companion 0.10\dfcompanion_prototype.py", line 396, in __init__
 +
      self.initList()
 +
    File "D:\games\1non company made\dwarf\utility\companion 0.10\dfcompanion_prototype.py", line 123, in initList
 +
      list = self.dd.getCreatures(self.showmode,dead=self.showdead)
 +
    File "D:\games\1non company made\dwarf\utility\companion 0.10\dwarfdbg.py", line 835, in getCreatures
 +
      col = self.getCreature(c)
 +
    File "D:\games\1non company made\dwarf\utility\companion 0.10\dwarfdbg.py", line 446, in fresh getCreature
 +
      slist = self.getSkills(c)
 +
    File "D:\games\1non company made\dwarf\utility\companion 0.10\dwarfdbg.py", line 328, in getSkills
 +
      skptr = self.getLong(skillptr)
 +
    File "D:\games\1non company made\dwarf\utility\companion 0.10\dwarfdbg.py", line 125, in getLong
 +
      return struct.unpack("L", self.dbg.read(ptr, 4))[0]
 +
    File "D:\games\1non company made\dwarf\utility\companion 0.10\dfwin32.py", line 81, in read
 +
      raise WinError()
 +
  WindowsError: [Error 299] Only part of a ReadProcessMemory or WriteProcessMemory request was completed.
 +
Yes I am in dwarf fortunse mode and I have vista and I in new fortuness that generated on new map. [[User:Omagaalpha|Omagaalpha]] 12:14, 27 February 2008 (EST)
  
== FTP SERVER DOWN! ==
+
== 176.38b not running ==
THE FTP SERVER FOR THE PyObject AND WHATEVER THE OTHER TWO ARE IS DOWN! THE DAMN FTP SERVER IS DOWN! GOD DAMN IT THE FTP SERVER IS DOWN! I NEED FTP SERVER! FTP SERVER DOWN! FTP SERVER NOT WORKING! FTP SERVER DEAD! FTP SERVER SUFFERING MANGLED HEART!
 
  
I found a site that mirrors these files (possibly not the most up-to-date ones though)
+
Using version 0.9-any with Python 2.5 and all modules installed. Works fine in 176.38a, as shown:
http://www.filewatcher.com/b/ftp/ftp.dit.upm.es/linux/mirrors/ftp.gnome.org/binaries/win32.0.0.html
 
  
== Additional in-game languages (v0.17) ==
+
  C:\Spill\Dwarf Fortress\companion>dfcompanion_prototype.py
 +
  version generic version, pid 2828, player a6
 +
  2103 words loaded
 +
  race 0 loaded
 +
  race 1 loaded
 +
  race 2 loaded
 +
  race 3 loaded
  
If you have additional languages modded into the game, out-of-the-box DwarfCompanion 0.17 will bomb with an error:
+
When trying to run in 176.38b I get:
<blockquote>
 
  File "[PATH]\dwarfdbg.py", line 477, in getCreature
 
    name = self.getName(c, details)
 
  File "[PATH]\dwarfdbg.py", line 323, in getName
 
    lastname = self.printName(table, lang)
 
  File "[PATH]\dwarfdbg.py", line 219, in printName
 
    lastname += self.rwords[lang][v]
 
IndexError: list index out of range
 
</blockquote>
 
  
To make it work, count the number of languages you have (but not language_SYM.txt).
+
  C:\Spill\Dwarf Fortress\companion>dfcompanion_prototype.py
 +
  version generic version, pid 544, player a6
 +
  2103 words loaded
 +
  race 0 loaded
 +
  race 1 loaded
 +
  race 2 loaded
 +
  race 3 loaded
 +
  Traceback (most recent call last):
 +
  File "C:\Spill\Dwarf Fortress\companion\dfcompanion_prototype.py", line 402, in <module>
 +
    DFcmp = DFcompanion()
 +
  File "C:\Spill\Dwarf Fortress\companion\dfcompanion_prototype.py", line 396, in __init__
 +
    self.initList()
 +
  File "C:\Spill\Dwarf Fortress\companion\dfcompanion_prototype.py", line 123, in initList
 +
    list = self.dd.getCreatures(self.showmode,dead=self.showdead)
 +
  File "C:\Spill\Dwarf Fortress\companion\dwarfdbg.py", line 814, in getCreatures
 +
    col = self.getCreature(c)
 +
  File "C:\Spill\Dwarf Fortress\companion\dwarfdbg.py", line 446, in getCreature
 +
    bpname = self.getBodyPart(c, i)
 +
  File "C:\Spill\Dwarf Fortress\companion\dwarfdbg.py", line 322, in getBodyPart
 +
    bpv = self.getVec(c.bpNames)
 +
  File "C:\Spill\Dwarf Fortress\companion\dwarfdbg.py", line 119, in getVec
 +
    return struct.unpack("LLLL", self.dbg.read(ptr, 16))
 +
  File "C:\Spill\Dwarf Fortress\companion\dfwin32.py", line 81, in read
 +
    raise WinError()
 +
  WindowsError: [Error 299] Only part of a ReadProcessMemory or WriteProcessMemory request was completed.
  
Find the line in dwarfdbg.py which reads:
 
  
:for race in range(4):
+
Another problem from someone else:
  
Replace the 4 with the number of languages you have, run again, and it should work fine.
+
Err, nevermind; was using 0.8 version of companion; my bad.  I get the same as above with 0.9.
  
As of 0.17c this is no longer necessary.
+
--[[User:Yourself|Yourself]] 23:11, 24 February 2008 (EST)
  
== Loading error ==
+
== Version 0.10-any ==
  
I'm not sure if you actually check this, but here goes anyway.
+
Companion 0.10-any works with 176.38c for me. However, I had to copy the "pygtk" subdirectory of an older version (0.8-python25) into the 0.10 installation and run dfcompanion_prototype.py from the command line. Just the thing to cope with those ambushes (they're a bit overpowered, don't you think?) Zombie frogmen! MUHAHAHAHAHA!!! [[User:RP|RP]] 07:32, 28 February 2008 (EST)
  
I have all the other things installed (GTK, PYCairo, etc.), and when I click it, it simply opens a black window for a moment and closes. So I tried to run it through the command prompt, and it comes up with the following error:
+
== 176.38b stopped working ==
  
:C:\Games\Dwarf Fortress>dfcompanion_prototype.py
+
The companion used to work for me in 176.38b but at some point it stopped working (after a few goblin ambushes).  Here's what it does:
:Timestamp = 0x48c330df
 
:Traceback (most recent call last):
 
:File "C:\Games\Dwarf Fortress\dfcompanion_prototype.py", line 409, in <module>
 
  
:DFcmp = DFcompanion()
 
:File "C:\Games\Dwarf Fortress\dfcompanion_prototype.py", line 353, in __init__
 
  
:self.dd = dwarfdbg(verbose=True)
+
  version generic version, pid 2732, player a6
:File "C:\Games\Dwarf Fortress\dwarfdbg.py", line 131, in __init__
+
  2103 words loaded
:self.configoffsets()
+
  race 0 loaded
:File "C:\Games\Dwarf Fortress\dwarfdbg.py", line 89, in configoffsets
+
  race 1 loaded
:raise "can't guess offsets if not PE"
+
  race 2 loaded
:TypeError: exceptions must be classes or instances, not str
+
  race 3 loaded
 +
  Traceback (most recent call last):
 +
    File "dfcompanion_prototype.py", line 402, in <module>
 +
      DFcmp = DFcompanion()
 +
    File "dfcompanion_prototype.py", line 396, in __init__
 +
      self.initList()
 +
    File "dfcompanion_prototype.py", line 123, in initList
 +
      list = self.dd.getCreatures(self.showmode,dead=self.showdead)
 +
    File "C:\Documents and Settings\Yourself\Desktop\Dwarf Fortress\companion\dwarfdbg.py", line 835, in getCreatures
 +
      col = self.getCreature(c)
 +
    File "C:\Documents and Settings\Yourself\Desktop\Dwarf Fortress\companion\dwarfdbg.py", line 502, in getCreature
 +
      c.events = self.getEvents(c)
 +
    File "C:\Documents and Settings\Yourself\Desktop\Dwarf Fortress\companion\dwarfdbg.py", line 170, in getEvents
 +
      events.append( [p, eventName[p], id] )
 +
  KeyError: 214
  
A similar thing happens when I try to use the executable version:
+
I don't know much about the internal structure of the companion, but couldn't you use eventName.get(p, "Unknown") as a failsafe to stop these from happening?  That way new events wouldn't break everything.
  
:C:\Documents and Settings\****\My Documents\Downloads\dist>dfcompanion_prototype.exe
+
--[[User:Yourself|Yourself]] 13:26, 2 March 2008 (EST)
:Timestamp = 0x48c330df
 
:C:\Documents and Settings\****\My Documents\Downloads\dist\library.zip\dwarfdbg.py:98: DeprecationWarning: raising a string exception is deprecated
 
:Traceback (most recent call last):
 
:File "dfcompanion_prototype.py", line 409, in <module>
 
:File "dfcompanion_prototype.py", line 353, in __init__
 
:File "dwarfdbg.pyc", line 131, in __init__
 
:File "dwarfdbg.pyc", line 89, in configoffsets
 
:can't guess offsets if not PE
 
  
What does this mean? How do I fix it? Did I do something stupid and obvious to mess it up? [[Special:Contributions/69.109.124.77|69.109.124.77]] 09:37, 12 January 2010 (UTC)
+
Actually, I just made this modification and another error popped up immediately after:
  
Try running version 0.16:  version 0.17 is for DF 40d16 only which may not be the version you are running. [[Special:Contributions/12.71.14.197|12.71.14.197]] 13:42, 25 February 2010 (UTC)
+
  version generic version, pid 2732, player a6
 +
  2103 words loaded
 +
  race 0 loaded
 +
  race 1 loaded
 +
  race 2 loaded
 +
  race 3 loaded
 +
  Traceback (most recent call last):
 +
    File "dfcompanion_prototype.py", line 402, in <module>
 +
      DFcmp = DFcompanion()
 +
    File "dfcompanion_prototype.py", line 396, in __init__
 +
      self.initList()
 +
    File "dfcompanion_prototype.py", line 123, in initList
 +
      list = self.dd.getCreatures(self.showmode,dead=self.showdead)
 +
    File "C:\Documents and Settings\Yourself\Desktop\Dwarf Fortress\companion\dwarfdbg.py", line 837, in getCreatures
 +
      self.eventList[ event[0] ][1] += 50/event[2]
 +
  IndexError: list index out of range
  
== tried running through the cmd.exe but I keep getting "the directory name is invalid" ==
+
I managed to make the error go away, but it's a total hack, since I don't know the structure of companion.
  
It was flashing the black window so I tried to run it through run/cmd.exe, however it says that the directory name is invalid. I have tried several solutions, such as surrounding it with quotes (helps a little bit but not much), but I still can't get it to run. Which is a pity because I was looking forward to this.  Suggestions?
+
I changed lines 820-822, which are:
  
 +
  self.eventList = range(212)
 +
      for i in range(212):
 +
      self.eventList[i] = [i,0,[],eventName[i]]
  
Edit: I made the window flash enough times to get a glimpse of what was written, and it looks like I have a similar problem to the above poster.    Pleeeeease respond, someone?  :(
+
Into this:
  
As above:  try running version 0.16:  version 0.17 is for DF 40d16 only which may not be the version of DF that you are running.  [[Special:Contributions/12.71.14.197|12.71.14.197]] 13:43, 25 February 2010 (UTC)
+
  self.eventList = [[i,0,[],eventName.get(i, "??")]
 +
                    for i in xrange(215)]
  
This information really needs to written somwhere close to the download links, I made the same error
+
The companion appears to work now for me, but as I said, it's a total hack.
  
 +
--[[User:Yourself|Yourself]] 13:39, 2 March 2008 (EST)
  
♥Many♥ thanks, lets try it now!  ☺
+
== Error ocurring (something with gdk and cairo and a .dll) ==
  
 +
After installing python (2.5.2 - also tried 2.5.1 and 2.4.something) the gdk runtime environment (2.8.20) <br />
 +
and those 3 packets (pygobject-2.12.3-1; pycairo-1.2.6-1; pygtk-2.10.6-1 - these 3 arent necessary for the reproduktion fo the error)
  
I'm having the same problems as the above, though with both executable versions of companion. I'm on DF 31.25. (does it even support this?)
+
starting the "dfcompanion_prototype.py" from the any or the py2.5 package returns the following error:
  
Running the exe flashes with cannot find DF, Command prompt is no exception, any suggestions?
+
"Der Prozedureinsprungpunkt "gdk_cairo_set_source_pixmap" wurde in der DLL "libgdk-win32-2.0-0.dll" nicht gefunden"
 +
read:"could't find the routine entry point [...] in the dll[...]"
  
== Buggy window ==
+
downloading a .dll from the net changes the error slightly,
 +
now "gdk_cairo_create" is missing instead of "gdk_cairo_set_source_pixmap"
  
C:\blahblahblah\dfcompanion_prototype.exe:360:PangoWarning: failed to find shape engine. expect ugly output. engine-type='PangoRenderWin32', script=latin
+
-since i've absolutely no clue what he actually wants, i hope someone can solute this X_x
  
This error message repeats twice, and I get an extremely tall, spaced window that cannot be resized. Anyone know what the deal with this is?
+
Q
  
== Is there a "this is about an older version of DF" template that can be added? ==
+
== Import Error: No module named ctypes - 0.8 and 1.0  ==
  
This doesn't seem to have been updated since 40d. It might be helpful to have a header to reflect that. [[Special:Contributions/130.160.154.207|130.160.154.207]] 00:51, 7 April 2014 (UTC)
+
Err, just tried upgrading to the newer version of companion, and can't get it to work. I'm using the latest version of DF (incompatable?). Doesn't look like a DF problem though. I installed all of the modules, I think I'm using python version 2.4. I'll be on IRC in #bay12games if you want to try get hold of me... --[[User:Markavian|Markavian]]
 +
:You must have the 2.5 version. ctypes is a module that is only in Python 2.5. You should either upgrade Python to 2.5 or download the [http://bartabox.banquise.net/df/companion-0.10-any.zip -any version]. (0.10 works fine for me in the latest DF version and I have 2.4 too)--[[User:Valdemar|Valdemar]] 20:39, 15 March 2008 (EDT)

Please note that all contributions to Dwarf Fortress Wiki are considered to be released under the GFDL & MIT (see Dwarf Fortress Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Please sign comments with ~~~~

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)