From ea120a6709029ce24daa113476b3bae045d982ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Mon, 5 Apr 2010 05:53:38 +0200 Subject: [PATCH] Comments --- dfhack/modules/Maps.cpp | 8 ++++++-- output/Memory.xml | 8 +------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/dfhack/modules/Maps.cpp b/dfhack/modules/Maps.cpp index 9bf265f5f..af468510e 100644 --- a/dfhack/modules/Maps.cpp +++ b/dfhack/modules/Maps.cpp @@ -486,7 +486,7 @@ bool Maps::ReadGeology (vector < vector >& assign) // iterate over 8 surrounding regions + local region for (int i = eNorthWest; i < eBiomeCount; i++) { - // check bounds, fix them if needed + // check against worldmap boundaries, fix if needed int bioRX = regionX / 16 + (i % 3) - 1; if (bioRX < 0) bioRX = 0; if (bioRX >= worldSizeX) bioRX = worldSizeX - 1; @@ -494,6 +494,8 @@ bool Maps::ReadGeology (vector < vector >& assign) if (bioRY < 0) bioRY = 0; if (bioRY >= worldSizeY) bioRY = worldSizeY - 1; + /// regions are a 2d array. consists of pointers to arrays of regions + /// regions are of region_size size // get pointer to column of regions uint32_t geoX; g_pProcess->readDWord (regions + bioRX*4, geoX); @@ -502,15 +504,18 @@ bool Maps::ReadGeology (vector < vector >& assign) uint16_t geoindex; g_pProcess->readWord (geoX + bioRY*region_size + region_geo_index_offset, geoindex); + /// geology blocks are assigned to regions from a vector // get the geoblock from the geoblock vector using the geoindex // read the matgloss pointer from the vector into temp uint32_t geoblock_off = * (uint32_t *) geoblocks[geoindex]; + /// geology blocks have a vector of layer descriptors // get the vector with pointer to layers DfVector geolayers (d->d->p, geoblock_off + geolayer_geoblock_offset , 4); // let's hope // make sure we don't load crap assert (geolayers.getSize() > 0 && geolayers.getSize() <= 16); + /// layer descriptor has a field that determines the type of stone/soil d->v_geology[i].reserve (geolayers.getSize()); // finally, read the layer matgloss for (uint32_t j = 0;j < geolayers.getSize();j++) @@ -523,7 +528,6 @@ bool Maps::ReadGeology (vector < vector >& assign) } assign.clear(); assign.reserve (eBiomeCount); -// // TODO: clean this up for (int i = 0; i < eBiomeCount;i++) { assign.push_back (d->v_geology[i]); diff --git a/output/Memory.xml b/output/Memory.xml index 7c3103c51..f4d5a751d 100644 --- a/output/Memory.xml +++ b/output/Memory.xml @@ -2899,8 +2899,7 @@ 0x08 0x009A 0x029C - - + 0x1D9C - * map size in blocks *
0x016ad738