I know that items are pretty much completely broken right now, so that one may take some time. I have no idea what the fix is, though, since I'm largely ignorant about the inner workings of dfhack.
DC
I get this too, in .12, when compiling from source. The version in the Lazy Newb pack works fine, though. :\
On the bright side, I'd like to submit a patch for dfreveal. You know how it reveals the entire map, and has a 20% chance of unleashing Fun even if you're paused? Well, I got annoyed at that, and modified it so that by default, it only reveals the current Z-level. You can still reveal everything, if you pass the -a command line option.
diff --git "a/C:\\Users\\Mike\\AppData\\Local\\Temp\\reveal_HEAD.cpp" "b/D:\\dfhack\\tools\\supported\\reveal.cpp"
index e2a1579..b1238fd 100644
--- "a/C:\\Users\\Mike\\AppData\\Local\\Temp\\reveal_HEAD.cpp"
+++ "b/D:\\dfhack\\tools\\supported\\reveal.cpp"
@@ -30,8 +30,25 @@ struct hideblock
uint8_t hiddens [16][16];
};
-int main (void)
+bool viewAll = false;
+
+void parseArguments(int argc, char* argv[]) {
+ for(int i = 1; i < argc; i++) {
+ if(argv[i][0] == '-') {
+ switch(argv[i][1]) {
+ case 'a':
+ case 'A':
+ viewAll = true;
+ break;
+ }
+ }
+ }
+}
+
+int main (int argc, char* argv[])
{
+ parseArguments(argc, argv);
+
uint32_t x_max,y_max,z_max;
DFHack::designations40d designations;
@@ -80,11 +97,20 @@ int main (void)
Maps->getSize(x_max,y_max,z_max);
vector <hideblock> hidesaved;
+ uint32_t minz = 0, maxz = z_max;
+
+ if(!viewAll) {
+ int32_t viewx, viewy, viewz;
+ DF->getPosition()->getViewCoords(viewx, viewy, viewz);
+ minz = viewz;
+ maxz = viewz + 1;
+ }
+
for(uint32_t x = 0; x< x_max;x++)
{
for(uint32_t y = 0; y< y_max;y++)
{
- for(uint32_t z = 0; z< z_max;z++)
+ for(uint32_t z = minz; z< maxz;z++)
{
if(Maps->isValidBlock(x,y,z))
{