Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 327 328 [329] 330 331 ... 373

Author Topic: DFHack 0.34.11 r3  (Read 1022666 times)

Thundercraft

  • Bay Watcher
    • View Profile
Re: DFHack 0.34.11 r3
« Reply #4920 on: December 02, 2013, 02:48:38 am »

I recently read a discussion on the DF 2012v0.34 question and answer thread that relates somewhat to the functionality of DFHack commands autodump and changeitem:

How do I get my dwarves to store an artifact large gem and an artifact gem flask? I'd like to get them out of the farming area.

Unfortunately you can't. Stockpiles can only store small cut gems. All other things made of gemstone are not stockpile-able, they simply aren't options in the stockpile materials lists.

Hm, is there a way I can move them via DFhack?

There might be a script that would work, but I don't know of one. The only thing I can think of would be autodump, but since you can't mark an artifact for dumping, autodump won't be usable.

You might be able to use changeitem to change the artifact material to something that can be stockpiled, then change it back once it is put away, but I have never used changeitem on an artifact, so I have no idea of any potential problems with that.

This relates to 0004430: Large gems not moved to stockpile. It's not just artifacts.

It seems a shame to have such things just clutter up a workshop simply because there is no way to move them. Artifacts can not be traded. But ordinary large gems can be moved to a Trade Depot. However, even then, they will be stuck there forever:

DF2012:Trade depot > Bugs
Quote
Large gems, once selected to be traded, will remain at the Depot forever. This bug occurs because no stockpile accepts large gems, and is not specific to the Depot.

Question 1: Will using changeitem to change the material of artifact mess it up?

Question 2: How difficult would it be to add functionality to autodump to allow moving items that can not be selected for dumping?

I was thinking of an autodump function similar to autodump-destroy-here that works on items under the cursor. Perhaps it works on items under cursor, then prompts you to move the cursor to another location where you want them moved to? Or maybe have items under cursor instantly moved to the nearest square in the nearest garbage dump zone?
Logged

Quietust

  • Bay Watcher
  • Does not suffer fools gladly
    • View Profile
    • QMT Productions
Re: DFHack 0.34.11 r3
« Reply #4921 on: December 02, 2013, 11:53:54 am »

Will using changeitem to change the material of artifact mess it up?
Not that I can see - beyond the item itself, the artifact doesn't appear to keep track of what it's made of.

The only possible problem I can think of would be of art images depicting the creation of the artifact (i.e. they might continue to depict the original material), though I don't have time to verify whether or not that would even happen.
Logged
P.S. If you don't get this note, let me know and I'll write you another.
It's amazing how dwarves can make a stack of bones completely waterproof and magmaproof.
It's amazing how they can make an entire floodgate out of the bones of 2 cats.

xcorps

  • Bay Watcher
    • View Profile
Showmood
« Reply #4922 on: December 03, 2013, 08:45:58 pm »

Sorry if this is the wrong thread, not really sure where to post it.

I just did a showmood and got :
Item 1: any plant fibre cloth, quantity 30000

Surely that can't be right?

Logged

BlackFlyme

  • Bay Watcher
  • BlackFlyme cancels Work: Interrupted by bird.
    • View Profile
Re: Showmood
« Reply #4923 on: December 03, 2013, 08:59:46 pm »

Sorry if this is the wrong thread, not really sure where to post it.

I just did a showmood and got :
Item 1: any plant fibre cloth, quantity 30000

Surely that can't be right?

No, that's fine. Cloth, thread, and bars have different quantities than other items. One bar is 150, one cloth is 10,000, and one piece of thread is 15,000.

Your mooder wants three pieces of plant cloth.
Logged
I take great solace in your flammability.

xcorps

  • Bay Watcher
    • View Profile
Re: DFHack 0.34.11 r3
« Reply #4924 on: December 03, 2013, 09:14:03 pm »

Thanks for the quick response, I had the fort on hold until I knew if I needed to wall him in.
Logged

greycat

  • Bay Watcher
    • View Profile
Re: DFHack 0.34.11 r3
« Reply #4925 on: December 03, 2013, 10:09:19 pm »

The new LFR release says it uses DFHack r4.  Apparently DFHack r4 is not actually a thing.  Unless it is.  Maybe.  It's very confusing.

So anyway, it looks like what I'm supposed to do is build DFHack from git source code.  I have a Debian 7.2 amd64 system.  Many of the i386 libraries were already installed, as I have been playing DF on this system (including the previous LFR release with DFHack r3).

I installed the following packages:
  • gcc-multilib
  • libxml-libxml-perl
  • libxml-libxslt-perl
  • cmake

I did a git clone https://github.com/peterix/dfhack, and then followed the instructions from Compile.html:
Code: [Select]
cd build
cmake .. -DCMAKE_BUILD_TYPE:string=Release -DCMAKE_INSTALL_PREFIX=/usr/local/src/df_linux

This aborted with an error about hash map and making sure I had 32-bit GCC >= 4.4.  I couldn't find a definitive response to this, so I installed one additional package:

  • g++-multilib
Then I tried the cmake command again... but instead of going through the "looking for..." steps, it only printed 3 lines.  I figured that was bad.  But there was no "cmake clean" command (I tried with and without the ..), so then I improvised and adapted the Mac OS X instructions:

Code: [Select]
cd ..
mkdir build-2
cd build-2
cmake .. -DCMAKE_BUILD_TYPE:string=Release -DCMAKE_INSTALL_PREFIX=/usr/local/src/df_linux
make install

This proceeded along with a bunch of warnings about variables that are too small to hold enums, until it aborted with this error:

Code: [Select]
Scanning dependencies of target eventful
[ 71%] Building CXX object plugins/CMakeFiles/eventful.dir/eventful.cpp.o
In file included from /usr/local/src/dfhack/library/include/df/unit.h:56:0,
                 from /usr/local/src/dfhack/plugins/eventful.cpp:11:
/usr/local/src/dfhack/library/include/df/tile_designation.h:19:38: warning: ‘df::tile_designation::<anonymous struct>::dig’ is too small to hold all values of ‘enum df::enums::tile_dig_designation::tile_dig_designation’ [enabled by default]
/usr/local/src/dfhack/library/include/df/tile_designation.h:27:37: warning: ‘df::tile_designation::<anonymous struct>::liquid_type’ is too small to hold all values of ‘enum df::enums::tile_liquid::tile_liquid’ [enabled by default]
/usr/local/src/dfhack/library/include/df/tile_designation.h:30:34: warning: ‘df::tile_designation::<anonymous struct>::traffic’ is too small to hold all values of ‘enum df::enums::tile_traffic::tile_traffic’ [enabled by default]
/usr/local/src/dfhack/plugins/eventful.cpp: In function ‘void enableEvent(int, int)’:
/usr/local/src/dfhack/plugins/eventful.cpp:232:15: error: ‘runtime_error’ is not a member of ‘std’
make[2]: *** [plugins/CMakeFiles/eventful.dir/eventful.cpp.o] Error 1
make[1]: *** [plugins/CMakeFiles/eventful.dir/all] Error 2
make: *** [all] Error 2

Now what?
Logged
Hell, if nobody's suffocated because of it, it hardly counts as a bug! -- StLeibowitz

falconne

  • Bay Watcher
    • View Profile
Re: DFHack 0.34.11 r3
« Reply #4926 on: December 03, 2013, 10:51:45 pm »

That DFHack r4 tag doesn't build on Linux (or OSX, due to another error).

Regarding the specific error you got, I fixed it for myself with this commit: https://github.com/Falconne/dfhack/commit/25b06a48c113a33fc7f64fc37838cdc4552fd3db

It's probably been fixed differently by others.
« Last Edit: December 03, 2013, 10:59:14 pm by falconne »
Logged
Utility plugins for DFHack, for improving Dwarf Fortress' user interface.

PeridexisErrant

  • Bay Watcher
  • Dai stihó, Hrasht.
    • View Profile
Re: DFHack 0.34.11 r3
« Reply #4927 on: December 04, 2013, 05:30:53 am »

Quick request -

I'd love a script that could export all the information that it's possible to export from legends mode - and if at all possible add a GUI hint for it.  This should be fairly easy to do the basics for, since "exportmaps.lua" already handles all the detailed maps.  All that needs to be added is the XML, sites/pops/map, and site maps.  I tried, but I don't actually use Lua and I kept running into errors - xml worked alone but not combined, and the others stuff I never got. 

I've already got a batch script that processes a complete set of exports, and I'm in the process of porting it to Python 3 (as a learning exercise, and for cross-platform availability).  If a dfhack script could export everything, I could then append a call to the processor for the LNP and everything would be super-easy for newbies; exploring the worldgen is a massively underrated activity that could be made way more accessible. 
Logged
I maintain the DF Starter Pack - over a million downloads and still counting!
 Donations here.

Blaze

  • Bay Watcher
  • The Chaos that Crawls up on you with a Smile.
    • View Profile
Re: DFHack 0.34.11 r3
« Reply #4928 on: December 04, 2013, 04:45:51 pm »

Dfusion appears to not work at all, I just get errors when I try to use any commands.

Also there no longer appears to be a way to change the number of starting dwarves. Am I missing something?
Logged

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile
Re: DFHack 0.34.11 r3
« Reply #4929 on: December 04, 2013, 04:47:42 pm »

starting dwarves is startdwarf.rb, not sure if it comes with DFHack 0.34.11 r3

Yeah, all of the .o files for dfusion are missing and have to be manually compiled right now

greycat

  • Bay Watcher
    • View Profile
Re: DFHack 0.34.11 r3
« Reply #4930 on: December 04, 2013, 07:40:17 pm »

That DFHack r4 tag doesn't build on Linux (or OSX, due to another error).

Regarding the specific error you got, I fixed it for myself with this commit: https://github.com/Falconne/dfhack/commit/25b06a48c113a33fc7f64fc37838cdc4552fd3db

It's probably been fixed differently by others.

Awesome, thanks!  It built for me with that one-line change.

------------------------------------------------------------------------------------------------------------------

Hmm.  OK, next problem:

Code: [Select]
golem:/usr/local/src/df_linux+DFHack_r4_git$ ./dfhack
./libs/Dwarf_Fortress: /usr/local/src/df_linux+DFHack_r4_git/libs/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by ./hack/libdfhack.so)
./libs/Dwarf_Fortress: /usr/local/src/df_linux+DFHack_r4_git/libs/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by ./hack/libdfhack.so)
-e

Inspecting the libs/libstdc++.so.6 file shows:

Code: [Select]
$ nm -D libs/libstdc++.so.6 | grep CXXABI
00000000 A CXXABI_1.3
00000000 A CXXABI_1.3.1
00000000 A CXXABI_1.3.2
00000000 A CXXABI_1.3.3
00000000 A CXXABI_1.3.4

$ nm -D libs/libstdc++.so.6 | grep GLIBCXX
00000000 A GLIBCXX_3.4
00000000 A GLIBCXX_3.4.1
00000000 A GLIBCXX_3.4.10
00000000 A GLIBCXX_3.4.11
00000000 A GLIBCXX_3.4.12
00000000 A GLIBCXX_3.4.13
00000000 A GLIBCXX_3.4.14
00000000 A GLIBCXX_3.4.2
00000000 A GLIBCXX_3.4.3
00000000 A GLIBCXX_3.4.4
00000000 A GLIBCXX_3.4.5
00000000 A GLIBCXX_3.4.6
00000000 A GLIBCXX_3.4.7
00000000 A GLIBCXX_3.4.8
00000000 A GLIBCXX_3.4.9

Googling led me to http://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html which seems to say that GLIBCXX_3.4.14 and CXXABI_1.3.4 come from gcc 4.5.0.  And I have gcc 4.7.2 on this computer.  Does this mean my gcc is too new, and I should try to build with 4.5 instead?

------------------------------------------------------------------------------------------------------------------

All right, let's see.  Debian 7.2 has three multilib-enabled versions of gcc packaged: 4.4, 4.6 and 4.7.  Guess what's missing.  Yeah.  gcc 4.5 is missing.

I tried building with gcc/g++ 4.4 (on Debian this is 4.4.7) and got this error:

Code: [Select]
[ 41%] Building CXX object library/CMakeFiles/dfhack.dir/Core.cpp.o
In file included from /usr/local/src/dfhack/library/Core.cpp:47:
/usr/local/src/dfhack/library/include/modules/EventManager.h:83: error: ‘hash’ is not a template
/usr/local/src/dfhack/library/include/modules/EventManager.h:83: error: explicit specialization of non-template ‘std::hash’
/usr/local/src/dfhack/library/include/modules/EventManager.h:94: error: ‘hash’ is not a template
/usr/local/src/dfhack/library/include/modules/EventManager.h:94: error: ‘std::hash’ is not a template type
make[2]: *** [library/CMakeFiles/dfhack.dir/Core.cpp.o] Error 1
make[1]: *** [library/CMakeFiles/dfhack.dir/all] Error 2
make: *** [all] Error 2

Then I tried with gcc 4.6 (which on Debian is 4.6.3) and it built, but I got the same runtime errors that I did with gcc 4.7.

Not sure what to try next, or why gcc 4.5 is not packaged....
« Last Edit: December 04, 2013, 08:53:57 pm by greycat »
Logged
Hell, if nobody's suffocated because of it, it hardly counts as a bug! -- StLeibowitz

lethosor

  • Bay Watcher
    • View Profile
Re: DFHack 0.34.11 r3
« Reply #4931 on: December 04, 2013, 10:29:12 pm »

From what I've heard from people who have compiled it, you do need GCC 4.5. I guess you could try building it from source (it does take a while, but it's fairly straightforward). Also, I was able to install it on OS X with Homebrew, so Linuxbrew might work (although I haven't tried it).

Speaking of OS X, I've been trying to compile r4 and I'm about 90% done with "make" so far. (If anyone's interested, there was an error with MapCache.cpp which I "fixed" by adding "(unsigned int)" before "layer_mats" on line 1146. I also used Falconne's fix above for eventful.) Here's the current problem I'm dealing with:
Code: [Select]
[ 91%] Building CXX object plugins/CMakeFiles/zone.dir/zone.cpp.o
In file included from dfhack-r4/library/include/LuaTools.h:32:0,
                 from dfhack-r4/plugins/zone.cpp:45:
dfhack-r4/library/include/DataDefs.h: In static member function 'static DFHack::compound_identity* df::identity_traits<T>::get() [with T = long unsigned int]':
dfhack-r4/library/include/DataFuncs.h:139:1:   instantiated from 'static void df::function_wrapper<void (*)(DFHack::color_ostream&, A1, A2, A3, A4), true>::execute(lua_State*, int, void (*)(DFHack::color_ostream&, A1, A2, A3, A4)) [with A1 = long unsigned int, A2 = long unsigned int, A3 = long unsigned int, A4 = long unsigned int, lua_State = lua_State]'
dfhack-r4/library/include/DataFuncs.h:222:59:   instantiated from 'void df::function_identity<T>::invoke(lua_State*, int) [with T = void (*)(DFHack::color_ostream&, long unsigned int, long unsigned int, long unsigned int, long unsigned int), lua_State = lua_State]'
dfhack-r4/plugins/zone.cpp:4515:1:   instantiated from here
dfhack-r4/library/include/DataDefs.h:441:54: error: '_identity' is not a member of 'long unsigned int'
This occurs with peterix/master and Falconne/DFHack-r4. I haven't found anything obvious that could be causing this - any ideas?
Logged
DFHack - Dwarf Manipulator (Lua) - DF Wiki talk

There was a typo in the siegers' campfire code. When the fires went out, so did the game.

danaris

  • Bay Watcher
    • View Profile
Re: DFHack 0.34.11 r3
« Reply #4932 on: December 05, 2013, 07:57:41 pm »

Oh, hey, saw your PM before I saw this, lethosor ;D

I have r4 building on OS X (tested successfully on 10.8 and 10.9); I just need to push a couple of changes to my repo on Github.
Logged

Ggobs

  • Bay Watcher
    • View Profile
Re: DFHack 0.34.11 r3
« Reply #4933 on: December 06, 2013, 08:15:58 pm »

I've been playing DF since 40d and never tried DFHack--just Dwarf Therapist and Mayday.

Those two is all I need, but I want to give workflow a chance.

How long after the next release can I reasonably expect a DFHack to be updated to the new release?

Thanks
Logged
Just popping in to say that if DF has taught me anything, it's that everything is doomed.

someone12345

  • Bay Watcher
    • View Profile
Re: DFHack 0.34.11 r3
« Reply #4934 on: December 06, 2013, 08:20:29 pm »

Advfort is not working for me. When I tried to dig using advfort, it did not work, even though I had a pick equipped. I had used R to move to dig, then took out a pick and pressed alt+up to dig into a wall. It said "correct tool not equipped". I put all of my weapons in my backpack, then tried again. It still did not work. Also, plant picking does not work. I stood on a shrub, then pressed alt+5. It said nothing, and the plant remained there. Can anyone help me?
Logged
GENERATION 26:The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experime
Pages: 1 ... 327 328 [329] 330 331 ... 373