From 51d545402dedc21a1b0b634be3838f944bf2149d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sat, 28 Aug 2010 14:06:18 +0200 Subject: [PATCH] Offset dumper reports missing offsets instead of skipping them --- data/Memory-ng.xml | 41 ++++++++++++++++------------------------- library/VersionInfo.cpp | 31 +++++++++++++++++++++++++------ 2 files changed, 41 insertions(+), 31 deletions(-) diff --git a/data/Memory-ng.xml b/data/Memory-ng.xml index ae79c2d42..5de27b5e0 100644 --- a/data/Memory-ng.xml +++ b/data/Memory-ng.xml @@ -834,6 +834,7 @@
+
@@ -1012,18 +1013,18 @@ -
+
List of offsets in the VTable : - - - - - - - - - - (in the vtable) + + + + + + + + + + (in the vtable)
@@ -1639,9 +1640,6 @@
-
-
-
@@ -1709,8 +1707,8 @@ - CHMOD - VERIFY! + CHMOD + VERIFY! chmod @@ -1731,7 +1729,7 @@ CHMOD - +
@@ -1785,19 +1784,11 @@
- -
- -
- -
- -
diff --git a/library/VersionInfo.cpp b/library/VersionInfo.cpp index 908de9aeb..c0a3477af 100644 --- a/library/VersionInfo.cpp +++ b/library/VersionInfo.cpp @@ -26,7 +26,6 @@ distribution. #include "dfhack/VersionInfo.h" #include "dfhack/DFError.h" #include "dfhack/DFProcess.h" -#include //Inital amount of space in levels vector (since we usually know the number, efficient!) #define NUM_RESERVE_LVLS 20 @@ -307,7 +306,7 @@ void OffsetGroup::RebaseAddresses(int32_t offset) OffsetGroup::OffsetGroup() { OGd = new OffsetGroupPrivate(); - OGd->name = "Version"; + OGd->name = ""; OGd->parent = 0; } @@ -358,25 +357,45 @@ std::string OffsetGroup::PrintOffsets(int indentation) indentr i(indentation); for(iter = OGd->addresses.begin(); iter != OGd->addresses.end(); iter++) { + ss << i << "
" << endl; + ss << " value=\"" << hex << "0x" << (*iter).second.second << "\""; + ss << " />"; + if(!(*iter).second.first) + ss << " MISSING!"; + ss << endl; } int32_Iter iter2; for(iter2 = OGd->offsets.begin(); iter2 != OGd->offsets.end(); iter2++) { + ss << i << "" << endl; + ss << " value=\"" << hex << "0x" << (*iter2).second.second << "\""; + ss << " />"; + if(!(*iter2).second.first) + ss << " MISSING!"; + ss << endl; } for(iter = OGd->hexvals.begin(); iter != OGd->hexvals.end(); iter++) { + ss << i << "" << endl; + ss << " value=\"" << hex << "0x" << (*iter).second.second << "\""; + ss << " />"; + if(!(*iter).second.first) + ss << " MISSING!"; + ss << endl; } strings_Iter iter3; for(iter3 = OGd->strings.begin(); iter3 != OGd->strings.end(); iter3++) { + ss << i << "" << endl; + ss << " value=\"" << (*iter3).second.second << "\""; + ss << " />"; + if(!(*iter3).second.first) + ss << " MISSING!"; + ss << endl; } groups_Iter iter4; for(iter4 = OGd->groups.begin(); iter4 != OGd->groups.end(); iter4++)