Creature matgloss, creature and color matgloss offsets.

develop
Petr Mrázek 2011-02-27 09:48:08 +01:00
parent d6592502cc
commit 4284b948a0
2 changed files with 104 additions and 9 deletions

@ -1889,7 +1889,61 @@
<Address name="window_y" value="0xef4ba0" valid="true" /> <Address name="window_y" value="0xef4ba0" valid="true" />
<Address name="window_z" value="0xef4b7c" valid="true" /> <Address name="window_z" value="0xef4b7c" valid="true" />
</Group> </Group>
<Group name="Creatures" valid="true">
<Address name="current_civ" value="0x01506c1C" /> maybe
<Address name="current_race" value="0x01506c28" />
<Address name="vector" value="0x016da47C" />
<Group name="creature">
<Offset name="name" value="0x0" />
<Offset name="custom_profession" value="0x6c" /> OK
<Offset name="profession" value="0x88" />
<Offset name="race" value="0x8c" />
<Offset name="position" value="0x90" />
<Offset name="flags1" value="0xe0" />
<Offset name="flags2" value="0xe4" />
<Offset name="caste" value="0xf8" /> maybe
<Offset name="sex" value="0xfa" /> maybe
<Offset name="id" value="0xfc" />
<Offset name="civ" value="0x108" />
<Group name="advanced">
<Offset name="pickup_equipment_bit" value="0x1bc" />
<Offset name="mood" value="0x210" />OK
<Offset name="pregnancy" value="0x214" /> maybe?
<Offset name="pregnancy_ptr" value="0x218" /> maybe?
<Offset name="birth_year" value="0x224" />
<Offset name="birth_time" value="0x228" />
<Offset name="inventory_vector" value="0x288" />
<Offset name="current_job" value="0x2f4" />
<Offset name="current_job_skill" value="0x2f8" /> THIS IS TOTAL BS
<Offset name="physical" value="0x3cc" /> DT: 0x3C4, I don't believe that's OK'
<Offset name="appearance_vector" value="0x52C" /> DT calls it 'states' it seems
<Offset name="artifact_name" value="0x5E0" /> maybe
<Offset name="soul_vector" value="0x64c" />
<Offset name="current_soul" value="0x65c" />
<Offset name="labors" value="0x670" />
<Offset name="happiness" value="0x710" />
</Group>
</Group>
<Group name="job" valid="false">
<Offset name="id" value="0x8" valid="true" />
<Offset name="materials_vector" /> MISSING!
<Offset name="type" /> MISSING!
<Group name="material">
<Offset name="flags" /> MISSING!
<Offset name="maintype" /> MISSING!
<Offset name="sectype1" /> MISSING!
<Offset name="sectype2" /> MISSING!
<Offset name="sectype3" /> MISSING!
</Group>
</Group>
<Group name="soul" valid="true">
<Offset name="mental" value="0x88" />
<Offset name="name" value="0x4" />
<Offset name="skills_vector" value="0x1f4" /> DT: 0x1F0
<Offset name="traits" value="0x214" /> DT: 0x214
</Group>
</Group>
<Group name="Maps" valid="true"> <Group name="Maps" valid="true">
<Address name="map_data" value="0x171C128" /> <Address name="map_data" value="0x171C128" />
<Address name="x_count_block" value="0x171c140" /> <Address name="x_count_block" value="0x171c140" />
@ -1943,6 +1997,44 @@
<Address name="organics_all" value="0x171e7B0" valid="true" /> <Address name="organics_all" value="0x171e7B0" valid="true" />
<Address name="organics_plants" value="0x171e7C0" valid="true" /> <Address name="organics_plants" value="0x171e7C0" valid="true" />
<Address name="organics_trees" value="0x171e7E0" valid="true" /> <Address name="organics_trees" value="0x171e7E0" valid="true" />
<Group name="creature" valid="true">
<!--
<Offset name="tile" value="0xe0" /> C
<Offset name="tile_color" value="0xf6" /> C
<Offset name="caste_vector" value="0x128" /> C
-->
<Offset name="extract_vector" value="0x2054" /> maybe: 0x2064 before:0x1a08
<Group name="caste" valid="true">
<Offset name="attributes" value="0xd40 0x5fc" /> looks kinda funny, same as in .16
<Offset name="bodypart_vector" value="0x530 0x51c" />OK
<Offset name="color_modifiers" value="0x1168 0xa24" /> OK
</Group>
<!--
<Group name="caste_bodyparts">
<Offset name="category" value="0x1c" /> INVALID!
<Offset name="id" value="0x0" /> INVALID!
<Offset name="layers_vector" value="0x44" /> INVALID!
<Offset name="plural_vector" value="0x80" /> INVALID!
<Offset name="singular_vector" value="0x70" /> INVALID!
</Group>
<Group name="caste_color_mods" valid="true"> C
<Offset name="enddate" value="0x48" />
<Offset name="part" value="0x50" />
<Offset name="startdate" value="0x44" />
</Group>
-->
</Group>
<Group name="descriptors" valid="true">
<Address name="all_colors_vector" value="0x17241e4" />
<Address name="colors_vector" value="0x17241c4" />
<!--
<Offset name="color_b" value="0x64" />
<Offset name="color_r" value="0x5c" />
<Offset name="color_v" value="0x60" />
<Offset name="name" value="0x3c" />
<Offset name="rawname" value="0x0" />
-->
</Group>
</Group> </Group>
<Group name="GUI" valid="false"> <Group name="GUI" valid="false">
<Address name="pause_state" value="0x14c9be1" valid="true" /> <Address name="pause_state" value="0x14c9be1" valid="true" />
@ -1971,6 +2063,10 @@
<Address name="current_year" description="Current year" /> <Address name="current_year" description="Current year" />
<Address name="current_weather" value="0x15027A0" valid="true" /> <Address name="current_weather" value="0x15027A0" valid="true" />
</Group> </Group>
<Group name="Translations" valid="true">
<Address name="language_vector" value="0x0171ea94 0x016e553c"/>
<Address name="translation_vector" value="0x0171eab4 0x016e551c"/>
</Group>
<!-- <!--
<Address name="WORLD" valid="false" /> <Address name="WORLD" valid="false" />
<Group name="Maps"> <Group name="Maps">
@ -1990,10 +2086,7 @@
<Group name="Creatures" valid="false" > <Group name="Creatures" valid="false" >
0x016a12c0 vector 0x016a12c0 vector
</Group> </Group>
<Group name="Translations">
<Address name="language_vector" value="0x016e553c"/>
<Address name="translation_vector" value="0x016e551c"/>
</Group>
<Group name="Items" valid="false"> <Group name="Items" valid="false">
<Address name="items_vector" /> <Address name="items_vector" />
List of offsets in the VTable : List of offsets in the VTable :

@ -62,14 +62,14 @@ namespace DFHack
// memory range name (if any) // memory range name (if any)
char name[1024]; char name[1024];
// permission to read // permission to read
bool read; bool read : 1;
// permission to write // permission to write
bool write; bool write : 1;
// permission to execute // permission to execute
bool execute; bool execute : 1;
inline bool isInRange( uint64_t address) inline bool isInRange( uint64_t address)
{ {
if (address >= start && address <= end) return true; if (address >= start && address < end) return true;
return false; return false;
} }
bool valid; bool valid;
@ -154,6 +154,8 @@ namespace DFHack
virtual bool isAttached() = 0; virtual bool isAttached() = 0;
/// @return true if the process is identified -- has a Memory.xml entry /// @return true if the process is identified -- has a Memory.xml entry
virtual bool isIdentified() = 0; virtual bool isIdentified() = 0;
/// @return true if this is a Process snapshot
virtual bool isSnapshot() { return false; };
/// find the thread IDs of the process /// find the thread IDs of the process
virtual bool getThreadIDs(std::vector<uint32_t> & threads ) = 0; virtual bool getThreadIDs(std::vector<uint32_t> & threads ) = 0;