Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Tonren

Pages: [1] 2 3 ... 5
1
DF Gameplay Questions / Re: (Steam) Dwarves won't harvest
« on: December 20, 2022, 09:31:54 pm »
Hilariously, I apparently had the exact same problem almost a decade ago with no luck! Hopefully someone will have some sage advice this time. I really like how this fort is going and would love to be able to keep it running!

2
DF Gameplay Questions / (Steam) Dwarves won't harvest
« on: December 20, 2022, 09:28:54 pm »
This is frustrating... I have plump helmets and pig tails withering in the fields next to an empty plant stockpile. I have marked my farmer as specialized labor but he just sits in the gathering place with No Job. I've also tried creating a custom work detail that's only Food Haulers and assigning a specialized dwarf to that labor detail, but they still won't harvest.

The harvest plant stockpile has everything excluded except for the subterranean crops: quarry bushes, pig tails, dimple cups, plump helmets, cave wheat, and sweet pods. But no matter what I grow, nobody will take the crops off the farm plot. They'll plant new seeds under the crops as they wither. The harvest stockpile is empty except for an empty barrel, and I have plenty of other empty barrels. I also tried reducing the harvest stockpile's allowed barrels to zero, thinking maybe it had something to do with conflicting container tasks, but it didn't make a difference. Also, I noticed that the max barrels had been reset to the size of the stockpile the next time I looked, so maybe that's bugged at the moment?

I've also tried forcing the plants to be used in tasks like brewing and processing, but I gathered a bunch of plants and haven't gone to the length of forbidding every plant except the crops yet.

I've also tried toggling the farming labor between "Only selected do this" and "Everyone does this".

Any ideas what I'm doing wrong? This is kind of a showstopper for any fortress!

3
DF Gameplay Questions / Steam: Screen movement
« on: December 17, 2022, 02:12:04 pm »
Maybe this is just me being very nitpicky, but the screen movement in Steam edition feels... choppy? There are keybindings for moving faster, but none for moving slower. It just seems like the viewport jumps quite a considerable amount of tiles for each keypress, and even with "No repeat", I sometimes end up going further than I expected. It's kind of tough to center the view around a specific zone or workshop if I want to watch what's happening in a certain area.

Is there a way to slow things down a bit, make the movement a bit smoother?

4
Utilities and 3rd Party Applications / Re: DFHack 0.44.12-r3
« on: February 24, 2020, 12:37:08 pm »
Did you install libpthread, though? And did the one you installed match the architecture you're building DFHack for? (e.g. CMake won't pick up on a 32-bit libpthread if you're building 64-bit DFHack.)

I have installed libevent-pthreads-2.1-6 and libpthread-stubs0-dev, which are the closest I can find to a reputable package with "pthread" in the name. apt list --installed suggests that I have the correct AMD64 versions:

Code: [Select]
libevent-pthreads-2.1-6/bionic,now 2.1.8-stable-4build1 amd64 [installed]
libpthread-stubs0-dev/bionic,now 0.3-4 amd64 [installed]

Maybe I downloaded the wrong arch or misconfigured a build option somehow? I'll keep tinkering... it would be nice to be able to build it myself, but the villain update is absorbingly fun... :->

5
DF Dwarf Mode Discussion / Re: Face Palm moments you had in Dwarf Fortress
« on: February 23, 2020, 04:11:26 pm »
Villainous facepalms:

Eye of Erushrítol: SUP NERDS! *Knocks over statues, slaps food out of dorf's hands*
My dorfs tolerate this for a few months, then when I can't take it anymore and draft everyone (all 7) into a little squad. They pick up their copper battle axes and picks and start looking pretty threateningly at the Eye, who proceeds to IMMEDIATELY ESCAPE AT THE FASTEST VELOCITY I'VE EVER SEEN A UNIT MOVE IN-GAME.

Years later, a Fist of Erushrítol shows up and starts causing a similar ruckus. Now with full suits of armor and several years of training, my dorfs walk up to it, pretty threateningly, with arms crossed and shoulders squared, like, "You'd better think twice before you make a ruckus here in Bonevault, buddy," but instead of fleeing like the Eye, this cool cucumber barely even slows down as he steamrollers my entire military and then leaves the map, as if he was just proving a point. Whatever. F U, Erushrítol!

Siege defense facepalms:

I set up a triple ballista battery, but the dorf in front fired so fast that by the time the second dorf fired, he was already in the line of fire on his way to reload his own ballista :(

(I posted this facepalm to the Dwarf Fortress facebook group and the first response was: "chunky salsa  :-\")

Wereelk facepalms:

I spent so much time and effort reading through the combat logs and trying to figure out how to get rid of my mayor, who got bit. When you try to expel the mayor you get the message: "Cannot expel: Does the expelling". So that was that. He was immobile in the hospital anyway, so what's the big deal? I was going to seal him into his manor, but he can't even get out of bed. Maybe he still won't be able to walk when he transforms. Just in case, I'll post some military dorfs to guard the hospital and minimize damage. Then:

Bembul Shmeklebok cancels Plant Seeds: Interrupted by Wereelk Farmer.

Yeah, I didn't even read the combat logs correctly. The mayor was never bit and never transformed, it was an entire other pair of dorfs who, well, I'm gonna be honest, they tore the whole fortress apart. They were, somehow, so much stronger than the wereelk that sired them. Sam and Dean Winchester could not have killed this pair of wereelk farmers. RIP Bonevault.

6
Tilesets and Graphics / Re: GemSet v1.41 [42.04]
« on: February 20, 2020, 05:42:53 pm »
In case anyone is interested, I've had some partial success getting GemSet to run with the latest release of Dwarf Fortress by using clinodev's "Caveat Emptor" starter pack.

I have some environmental graphics like trees working, but my dwarves still look like these odd little dudes instead of the cutesy GemSet sprites:



I tried to put the instructions for what I did in the Reddit thread!

7
Utilities and 3rd Party Applications / Re: DFHack 0.44.12-r3
« on: February 20, 2020, 03:33:20 pm »
I'm trying to build the current alpha so I can try to build There Will Be Text so I can try out the GemSet graphics pack and currently striking out. I usually play on OS X and Windows, but I'm building on an Ubuntu 18.04 VPS because I'm more comfortable with Linux development. Maybe this is barking up the wrong tree and I should just try to build on Windows or OS X (though I'd rather not OS X since I only have a dinky Air for building anything). When I run cmake .. -G Ninja -DCMAKE_BUILD_TYPE:string=Release -DCMAKE_INSTALL_PREFIX=/home/changemewtf/df_linux, cmake fails complaining that CMakeLists.txt doesn't exist in various places, and the error log has the following:

Quote from: build/CMakeFiles/CMakeError.log
Determining if the pthread_create exist failed with the following output:
Change Dir: /home/changemewtf/dfhack/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/ninja" "cmTC_57f82"
[1/2] Building C object CMakeFiles/cmTC_57f82.dir/CheckSymbolExists.c.o
[2/2] Linking C executable cmTC_57f82
FAILED: cmTC_57f82
: && /usr/bin/cc -fvisibility=hidden -mtune=generic -m64 -mno-avx  -rdynamic CMakeFiles/cmTC_57f82.dir/CheckSymbolExists.c.o  -o cmTC_57f82   && :
CMakeFiles/cmTC_57f82.dir/CheckSymbolExists.c.o: In function `main':
CheckSymbolExists.c:(.text+0x1b): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

File /home/changemewtf/dfhack/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
  (void)argv;
#ifndef pthread_create
  return ((int*)(&pthread_create))[argc];
#else
  (void)argc;
  return 0;
#endif
}

I see from the DFHack docs pthread is specifically mentioned, and I made sure to compile the latest stable version of cmake from source. But I still got the pthread errors.

Not sure if this would be better off as a GitHub issue; like I said, I'm not even sure if it's supposed to be able to build on a headless Ubuntu installation, so I might try building on Windows later, though the idea of tracking down all those dependencies by hand or becoming an overnight chocolatey expert is not very appealing...

Edit: Just found /u/clinodev's comments on Reddit indicating they might have a successful build running for Windows already... I'll update as I go!

8
No wonder I didn't grok them immediately; I'm a Vim fellow, myself! Are you the dev who helped with the SDL stuff? Cracking good job, there! Thanks for the advice.

9
Episode 5: (Still no ghosts.)

10
Update!

Episode 4: Build it, and they will drink.

I compiled DFHack from scratch to get the text extractor script running. That's love!

11
These are exactly what I'm looking for! Oh, but I've already started my game on 0.42.03! Maybe I can help the DFHack crew get things updated. When I have some free time I'll at least download them and see if they almost-work with 42. Thanks so much for the suggestions.

12
Thanks Max! (My name's Max too. High five) gm-editor is exactly the kind of thing I was hoping someone would mention; I didn't know it existed before you mentioned it just now, even though I've pored over the DFHack manual many times. It's too bad my C++ is so weak, or I could try to dip into the DFHack code and figure out just the chunks of the API that gm-editor uses. Maybe I'll give it a shot anyway. I don't follow DFHack itself, so I have no clue how long it's supposed to be until a 42-compatible version is released.

13
I'm writing a game diary with lots of screenshots, but the wide text on Thoughts and Preferences and other screens is a huge hassle. Total non-starter on mobile, very labor-intensive to stitch together sentences split into multiple lines, and so on.

Can anyone recommend a good starting point for scripting/modding where I could dive in and figure out how to extract this text? I'm most familiar with Ruby, Python and JavaScript; C's all right too. I've been coding for twenty years, but I've actually never looked into this sort of work (modding, reverse engineering, etc), so I don't really know where to start.

It would be great if someone had, like, a hacky Python script that just pulls some text out of memory, so I can hit the ground running and figure it out from there.

14
Thanks! It was fun to write, so no harm done :-)

15
The layouts for windows and linux are literally 3 posts above yours.
What does that mean?

Short answer:

"Layouts" is short for "memory layouts". They are text files containing maps that help Dwarf Therapist read and write information from a running Dwarf Fortress program.

splinterz, the maintainer of this Dwarf Therapist branch, made a comment containing links to the 0.42.03 memory layouts.

Downloading the appropriate .ini file and placing it in your share/memory_layouts/windows folder will allow the most recent stable version of Dwarf Therapist to work with DF 0.42.03.

Long answer:

"Memory" refers to your computer's memory (fast short-term storage, as opposed to the hard drive, which is slower long-term storage).

Running programs (like Dwarf Fortress) store their information in memory

If you peek inside your Dwarf Therapist folder, you'll see a share folder, which contains a memory_layouts folder.

There will be one more folder in there, named according to your operating system (windows, osx, etc).

In that folder there will be a bunch of .ini files named like v0.42.02_graphics.ini

You can actually look inside those files, they're just plain text, and they contain stuff like this:

Code: [Select]
[info]
checksum=0x566c7776
version_name=v0.42.03 (graphics)
complete=true

[addresses]
cur_year_tick=0x0134a218
current_year=0x0137c374
dwarf_civ_index=0x01976030
dwarf_race_index=0x0197603c

Each of those lines with 0x is a number describing where in memory Dwarf Fortress stores that information.

The 0x is an industry-wide convention in programming and computer science to prefix a hexadecimal number.

(Hexadecimal is a base-16 number system, as opposed to decimal, the base-10 system that humans use. You can convert from hexadecimal to decimal by hand, or with an automatic converter.)

If Dwarf Therapist were a part of DF itself, these memory layout maps would be unnecessary, because programs keep track of their own data.

Every time Dwarf Fortress updates, the locations change, because they are determined by the computer according to the rules of the compiler that turned its source code into a proper executable program.

This means that, even if Dwarf Therapist's code and features themselves have not changed, it will no longer work with new versions of Dwarf Fortress, because its memory maps will be out of date.

However, because the Dwarf Therapist developers (not sure if splinterz did this or if it was the original dev) were thoughtful folks, the memory maps don't live in the code; they live in those external .ini files. (By "external" here, I mean external to the Dwarf Therapist executable file, eg. DwarfTherapist.exe on Windows).

All of this adds up to mean that you can usually get Dwarf Therapist running with newer versions of Dwarf Fortress by downloading the updated memory maps from its official source repository, even if a stable release has not been made yet.

Sorry if any of this was more basic than you needed; hopefully this explanation will be of use to others if so.

Pages: [1] 2 3 ... 5