From 2bc7aacb7946722bcfdfc76ccae333546ba1f5dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sat, 19 Mar 2011 20:17:04 +0100 Subject: [PATCH] Remove precompiled garbage, fix dfcleanmap for real --- CMakeLists.txt | 3 +- library/include/dfhack/DFMiscUtils.h | 22 ++++- library/include/dfhack/modules/Maps.h | 120 ++++++++++++++++++-------- library/modules/Maps.cpp | 2 +- precompiled/linux/libdfconnect.so | Bin 36012 -> 0 bytes precompiled/windows/SDL.dll | Bin 38400 -> 0 bytes tools/supported/cleanmap.cpp | 11 ++- tools/supported/probe.cpp | 7 +- 8 files changed, 117 insertions(+), 48 deletions(-) delete mode 100755 precompiled/linux/libdfconnect.so delete mode 100644 precompiled/windows/SDL.dll diff --git a/CMakeLists.txt b/CMakeLists.txt index 5d86a4ff6..293dde426 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,7 +21,7 @@ set(DFHACK_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR set(CPACK_PACKAGE_NAME "dfhack") ## setting the build type -IF(NOT DEFINED CMAKE_BUILD_TYPE) +IF(NOT DEFINED CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "") SET(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.") ENDIF() @@ -61,6 +61,7 @@ IF(${DFHACK_INSTALL} STREQUAL "portable") SET(DFHACK_DOXYGEN_DESTINATION dev/doxygen) ENDIF() +# generic linux package in a .tar.gz IF(${DFHACK_INSTALL} STREQUAL "linux") if(WIN32) MESSAGE(FATAL_ERROR "WTF are you doing?") diff --git a/library/include/dfhack/DFMiscUtils.h b/library/include/dfhack/DFMiscUtils.h index e42e9166b..b1c8c0ac7 100644 --- a/library/include/dfhack/DFMiscUtils.h +++ b/library/include/dfhack/DFMiscUtils.h @@ -130,8 +130,26 @@ template void print_bits ( T val, std::ostream& out ) { T n_bits = sizeof ( val ) * CHAR_BIT; - - for ( unsigned i = 0; i < n_bits; ++i ) { + int cnt; + for ( unsigned i = 0; i < n_bits; ++i ) + { + cnt = i/10; + cout << cnt << " "; + } + cout << endl; + for ( unsigned i = 0; i < n_bits; ++i ) + { + cnt = i%10; + cout << cnt << " "; + } + cout << endl; + for ( unsigned i = 0; i < n_bits; ++i ) + { + cout << "--"; + } + cout << endl; + for ( unsigned i = 0; i < n_bits; ++i ) + { out<< !!( val & 1 ) << " "; val >>= 1; } diff --git a/library/include/dfhack/modules/Maps.h b/library/include/dfhack/modules/Maps.h index 544109890..e5b4d427b 100644 --- a/library/include/dfhack/modules/Maps.h +++ b/library/include/dfhack/modules/Maps.h @@ -307,7 +307,6 @@ namespace DFHack unsigned int feature_global : 1; unsigned int water_stagnant : 1; unsigned int water_salt : 1; - // e_liquidcharacter liquid_character : 2; }; /** * designation bit field wrapper @@ -319,49 +318,98 @@ namespace DFHack naked_designation bits; }; + /* + * unsigned int mud : 1; + unsigned int vomit :1;* + unsigned int broken_arrows_color :4; + unsigned int blood_g : 1; + unsigned int blood_g2 : 1; + unsigned int blood_b : 1; + unsigned int blood_b2 : 1; + unsigned int blood_y : 1; + unsigned int blood_y2 : 1; + unsigned int blood_m : 1; + unsigned int blood_m2 : 1; + unsigned int blood_c : 1; + unsigned int blood_c2 : 1; + unsigned int blood_w : 1; + unsigned int blood_w2 : 1; + unsigned int blood_o : 1; + unsigned int blood_o2 : 1; + unsigned int slime : 1; + unsigned int slime2 : 1; + unsigned int blood : 1; + unsigned int blood2 : 1; + unsigned int broken_arrows_variant : 1; + unsigned int snow : 1; + */ + /** * occupancy flags (rat,dwarf,horse,built wall,not build wall,etc) * \ingroup grp_maps */ - struct naked_occupancy //FIXME: THIS IS NOT VALID FOR 31.xx versions!!!! + struct naked_occupancy { - // building type... should be an enum? - // 7 = door - unsigned int building : 3; - /// the tile contains a standing? creature - unsigned int unit : 1; - /// the tile contains a prone creature + /// 0-2: building type... should be an enum. + unsigned int building : 3;// 0-2 + /// 3: the tile contains a standing creature + unsigned int unit : 1; // 3 + /// 4: the tile contains a prone creature unsigned int unit_grounded : 1; - /// the tile contains an item + /// 5: the tile contains an item unsigned int item : 1; - /// changed - unsigned int unknown : 26; - /* - /// splatter. everyone loves splatter. this doesn't seem to be used anymore - unsigned int mud : 1; - unsigned int vomit :1; - unsigned int broken_arrows_color :4; - unsigned int blood_g : 1; - unsigned int blood_g2 : 1; - unsigned int blood_b : 1; - unsigned int blood_b2 : 1; - unsigned int blood_y : 1; - unsigned int blood_y2 : 1; - unsigned int blood_m : 1; - unsigned int blood_m2 : 1; - unsigned int blood_c : 1; - unsigned int blood_c2 : 1; - unsigned int blood_w : 1; - unsigned int blood_w2 : 1; - unsigned int blood_o : 1; - unsigned int blood_o2 : 1; - unsigned int slime : 1; - unsigned int slime2 : 1; - unsigned int blood : 1; - unsigned int blood2 : 1; + /// 6 + unsigned int unk6 : 1; + /// 7: mossy! + unsigned int moss : 1; + /// 8-11: arrow color related + unsigned int arrow_color : 4; + /// 12: arrow orientaton unsigned int broken_arrows_variant : 1; - unsigned int snow : 1; - */ + /// 13 + unsigned int unk13 : 1; + /// 14: A monster lair. Items placed won't be moved. + unsigned int monster_lair : 1; + /** + * 15: seems to be set on terrain tiles where grass growth is impossible + * pebbles, boulders, rock floors in the middle of grass. also shrubs. but not trees + */ + unsigned int no_grow : 1; + /// 16 + unsigned int unk16 : 1; + /// 17 + unsigned int unk17 : 1; + /// 18 + unsigned int unk18 : 1; + /// 19 + unsigned int unk19 : 1; + + /// 20 + unsigned int unk20 : 1; + /// 21 + unsigned int unk21 : 1; + /// 22 + unsigned int unk22 : 1; + /// 23 + unsigned int unk23 : 1; + + /// 24 + unsigned int unk24 : 1; + /// 25 + unsigned int unk25 : 1; + /// 26 + unsigned int unk26 : 1; + /// 27 + unsigned int unk27 : 1; + + /// 28 + unsigned int unk28 : 1; + /// 29 + unsigned int unk29 : 1; + /// 30 + unsigned int unk30 : 1; + /// 31 + unsigned int unk31 : 1; }; /** * occupancy flags (rat,dwarf,horse,built wall,not build wall,etc) wrapper diff --git a/library/modules/Maps.cpp b/library/modules/Maps.cpp index fec5a6a30..631ea86d7 100644 --- a/library/modules/Maps.cpp +++ b/library/modules/Maps.cpp @@ -544,7 +544,7 @@ bool Maps::WriteOccupancy (uint32_t x, uint32_t y, uint32_t z, occupancies40d *b uint32_t addr = d->block[x*d->y_block_count*d->z_block_count + y*d->z_block_count + z]; if (addr) { - d->owner->write (addr + d->offsets.occupancy_offset, sizeof (tiletypes40d), (uint8_t *) buffer); + d->owner->write (addr + d->offsets.occupancy_offset, sizeof (occupancies40d), (uint8_t *) buffer); return true; } return false; diff --git a/precompiled/linux/libdfconnect.so b/precompiled/linux/libdfconnect.so deleted file mode 100755 index 4b3a2a846b2c47766648309b4bb9a0ba703feeec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36012 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 diff --git a/precompiled/windows/SDL.dll b/precompiled/windows/SDL.dll deleted file mode 100644 index e436f4e9e4fa76d7de83f3e4bbf1b03185a985dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38400 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,y,z)) { Mapz->ReadVeins(x,y,z,0,0,&splatter); - /* - * FIXME: THIS IS BAD - */ - /* Mapz->ReadOccupancy(x,y,z,&occ); for(int i = 0; i < 16; i++) for(int j = 0; j < 16; j++) { - occ[i][j].unibits.splatter = 0; + occ[i][j].bits.arrow_color = 0; + occ[i][j].bits.broken_arrows_variant = 0; } - Mapz->WriteOccupancy(x,y,z,&occ);*/ + Mapz->WriteOccupancy(x,y,z,&occ); for(uint32_t i = 0; i < splatter.size(); i++) { DFHack::t_spattervein & vein = splatter[i]; diff --git a/tools/supported/probe.cpp b/tools/supported/probe.cpp index cdbf86572..71d5c15f8 100644 --- a/tools/supported/probe.cpp +++ b/tools/supported/probe.cpp @@ -47,6 +47,7 @@ int main (int numargs, const char ** args) uint32_t region_z_offset = mapsg->getAddress("region_z"); uint32_t designatus = mapblockg->getOffset("designation"); + uint32_t occup = mapblockg->getOffset("occupancy"); uint32_t biomus = mapblockg->getOffset("biome_stuffs"); int32_t regionX, regionY, regionZ; @@ -80,8 +81,12 @@ int main (int numargs, const char ** args) printf("block addr: 0x%x\n", block.origin); int16_t tiletype = block.tiletypes[tileX][tileY]; naked_designation &des = block.designation[tileX][tileY].bits; + uint32_t designato = block.origin + designatus + (tileX * 16 + tileY) * sizeof(t_designation); + uint32_t occupr = block.origin + occup + (tileX * 16 + tileY) * sizeof(t_occupancy); + printf("designation offset: 0x%x\n", designato); print_bits(block.designation[tileX][tileY].whole,std::cout); std::cout << endl; + printf("occupancy offset: 0x%x\n", occupr); print_bits(block.occupancy[tileX][tileY].whole,std::cout); std::cout << endl; @@ -121,8 +126,6 @@ int main (int numargs, const char ** args) std::cout << "rained?" << std::endl; if(des.smooth) std::cout << "smooth?" << std::endl; - uint32_t designato = block.origin + designatus + (tileX * 16 + tileY) * sizeof(t_designation); - printf("designation offset: 0x%x\n", designato); printf("biomestuffs: 0x%x\n", block.origin + biomus); #define PRINT_FLAG( X ) printf("%-16s= %c\n", #X , ( des.X ? 'Y' : ' ' ) )