From 67bddfdad4b1c298c1e92552858d763ee105fe6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sun, 6 Jun 2010 04:36:39 +0200 Subject: [PATCH] 0.31.05 Windows support --- output/Memory.xml | 87 +++++++++++++++++++++----- tools/playground/incrementalsearch.cpp | 25 +++++++- 2 files changed, 95 insertions(+), 17 deletions(-) diff --git a/output/Memory.xml b/output/Memory.xml index cc3dd1461..791c753a7 100755 --- a/output/Memory.xml +++ b/output/Memory.xml @@ -1597,6 +1597,65 @@ map_data_1b60_offset 0x1B9c 0x0 Why do i have to redefine this ??? + + 394ff63fc00fedd5df0b36e4beb589bc + 0x4c091569 +
0x1678704
CHMOD +
0x014abee4
CHMOD +
0x1471FB0
BOGUS! + + + + + +
0xE80780
LOOKS O.K. +
0xEB2878
LOOKS O.K. + +
0x180b10c
LOOKS O.K. +
0xe6c0dc
VERIFIED +
0xe9a1b0
VERIFIED +
0xe9a18c
VERIFIED +
0xaf12cc
VERIFIED + + 0x0 Why do i have to redefine this ??? + ... what? +
.-"""-. ' \ @@ -1734,7 +1793,7 @@ map_data_1b60_offset 0x1B9c Creature type offsets ===================== - 0x138 + 0x60 VERIFIED 0x1A14 0xE0 0xF6 @@ -1758,7 +1817,7 @@ map_data_1b60_offset 0x1B9c Language tables =============== - 0x1C + 0x1C VERIFIED Constructions ============= @@ -1991,14 +2050,14 @@ map_data_1b60_offset 0x1B9c Map data ======== WORLD + 0x52C60? -
0x9318D40
+
0x9318D40
VERIFIED Map Features ============ WORLD + 0x5487C? -
0x931A95C
+
0x931A95C
VERIFIED WORLD + 0x548F4? -
0x931A9D4
+
0x931A9D4
VERIFIED * map size in blocks *
0x9318D54
VERIFIED @@ -2020,31 +2079,31 @@ map_data_1b60_offset 0x1B9c * World size * (WORDs) WORLD + 0x542E0 -
0x931A3C0
old = 0x93243A0 +
0x931A3C0
VERIFIED WORLD + 0x542E2 -
0x931A3C2
old = 0x93243A2 +
0x931A3C2
VERIFIED WORLD + 0x54894 -
0x931A974
old = 0x9324954 +
0x931A974
VERIFIED WORLD + 0x548B8 -
0x931A998
old = 0x9324978 +
0x931A998
VERIFIED Materials ========= soil, stone, metal inorganics vector -
0x931ae88
+
0x931ae88
VERIFIED wood and plant matter -
0x931ae94
+
0x931ae94
VERIFIED plant matter -
0x931aea0
+
0x931aea0
VERIFIED just wood -
0x931aeb8
+
0x931aeb8
VERIFIED creature types actually used for creatures, -
0x931af34
+
0x931af34
VERIFIED Color descriptors ================= diff --git a/tools/playground/incrementalsearch.cpp b/tools/playground/incrementalsearch.cpp index 1c03398d8..8eab76fa8 100644 --- a/tools/playground/incrementalsearch.cpp +++ b/tools/playground/incrementalsearch.cpp @@ -218,6 +218,14 @@ bool Incremental ( vector &found, const char * what, T& output, //cout << dec << output << endl; return true; } + + stringstream ss (stringstream::in | stringstream::out); + ss << select; + ss >> output; + if(!ss.fail()) + { + return true; + } cout << "not a valid value for type: " << what << endl; goto incremental_more; } @@ -431,7 +439,7 @@ void printFoundStrVec(vector &found, const char * what, SegmentedFind cout << "BAD!" << endl; break; } - cout << dec << j << ": " << str << endl; + cout << dec << j << ":" << hex << "0x" << object_ptr << " : " << str << endl; j++; } } @@ -516,7 +524,8 @@ void automatedLangtables(DFHack::Context * DF, vector & rang // inorganics vector to_filter = filtVectors; //sf.Find(257 * 4,4,to_filter,vectorLength); - sf.Find("IRON",4,to_filter, vectorStringFirst); + sf.Find("IRON",4,to_filter, vectorString); + sf.Find("ONYX",4,to_filter, vectorString); sf.Find("RAW_ADAMANTINE",4,to_filter, vectorString); sf.Find("BLOODSTONE",4,to_filter, vectorString); printFound(to_filter,"inorganics"); @@ -576,7 +585,7 @@ void automatedLangtables(DFHack::Context * DF, vector & rang vector elephant_first = to_filter; sf.Find("TOAD",4,toad_first, vectorStringFirst); sf.Find("ELEPHANT",4,elephant_first, vectorStringFirst); - printFound(toad_first,"toad-first creature types"); + printFoundStrVec(toad_first,"toad-first creature types",sf); printFound(elephant_first,"elephant-first creature types"); printFound(to_filter,"all creature types"); } @@ -602,6 +611,9 @@ int main (void) vector selected_ranges; getRanges(p,selected_ranges); + DFHack::memory_info *minfo = DF->getMemoryInfo(); + DFHack::memory_info::OSType os = minfo->getOS(); + string prompt = "Select search type: 1=number(default), 2=vector by length, 3=vector>object>string,\n" " 4=string, 5=automated offset search, 6=vector by address in its array,\n" @@ -614,27 +626,34 @@ int main (void) switch (mode) { case 1: + DF->Detach(); FindIntegers(DFMgr, selected_ranges); break; case 2: + DF->Detach(); FindVectorByLength(DFMgr, selected_ranges); break; case 3: + DF->Detach(); FindVectorByObjectRawname(DFMgr, selected_ranges); break; case 4: + DF->Detach(); FindStrings(DFMgr, selected_ranges); break; case 5: automatedLangtables(DF,selected_ranges); break; case 6: + DF->Detach(); FindVectorByBounds(DFMgr,selected_ranges); break; case 7: + DF->Detach(); FindPtrVectorsByObjectAddress(DFMgr,selected_ranges); break; case 8: + DF->Detach(); FindVectorByFirstObjectRawname(DFMgr, selected_ranges); break; default: