Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2]

Author Topic: what does "zero rent" do?  (Read 4928 times)

Kumquat

  • Bay Watcher
    • View Profile
Re: what does "zero rent" do?
« Reply #15 on: November 23, 2016, 06:55:35 pm »

I would expect that everything that shows up on any of the units lists is on creature vector. Possibly even every creature who has ever graced the site with their presence, detected or not.

Why is it called creature vector? Because it is a C++ std::vector that has all the creatures in it. Every kitten, live or slaughtered. Every reanimated yak skin. The dead longnose gars at the bottom of the waterfall where they died on the first day of embark. The creature vector remembers them all.

It is a linear data structure and as such it is processed linearly, every creature updated even if the update consists basically of 'Oh, I'm dead. Nothing to do.' It adds up.

Based on a discussion about dfhacking bugged traders, apparently creature IDs that can be possibly teleported onto your map can go up to thousands. That vaguely suggests that they exist on the creature vector too, even if their update consists of 'I'm off the map, nothing to do.' Every known relative of every dwarf and all their gods and such. Of course this is just a wild guess.
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: what does "zero rent" do?
« Reply #16 on: November 24, 2016, 04:52:59 am »

I would expect that everything that shows up on any of the units lists is on creature vector. Possibly even every creature who has ever graced the site with their presence, detected or not.

Why is it called creature vector? Because it is a C++ std::vector that has all the creatures in it. Every kitten, live or slaughtered. Every reanimated yak skin. The dead longnose gars at the bottom of the waterfall where they died on the first day of embark. The creature vector remembers them all.

It is a linear data structure and as such it is processed linearly, every creature updated even if the update consists basically of 'Oh, I'm dead. Nothing to do.' It adds up.

Based on a discussion about dfhacking bugged traders, apparently creature IDs that can be possibly teleported onto your map can go up to thousands. That vaguely suggests that they exist on the creature vector too, even if their update consists of 'I'm off the map, nothing to do.' Every known relative of every dwarf and all their gods and such. Of course this is just a wild guess.
And my guess is that the wild guess is off when it comes to drawing a conclusion of the creature vector's length from creature Id numbers. The creature Id is probably from the range of every historical creature that ever lived, which frequently runs in the tens of thousands, and I'd guess the non historical figures that show up at your fortress are given an Id because they need to be kept track of. Thus, my guess agrees with your guess that the creature vector contains what's relevant for the site, but creatures off site that have never visited (such as the cousin of a visitor) do not. It should be possible to cull the creature vector of departed visitors unless there's a need to keep track of the stuff they carried when leaving or possibly actions they've performed.
Logged

Goatmaan

  • Bay Watcher
    • View Profile
Re: what does "zero rent" do?
« Reply #17 on: November 24, 2016, 05:29:10 pm »

Isn't there a dfhack command, fixdead-units or something that clears the fortress dead list?
I was going to try it, but Anvillocked bugged out on me, so I never did.


   Goatmaan
Logged
My !!XXcpuXX!! *HATES* me.

PatrikLundell

  • Bay Watcher
    • View Profile
Re: what does "zero rent" do?
« Reply #18 on: November 24, 2016, 07:48:43 pm »

My 0.43.03 LNP fortresses get their dead unit lists cleared out from time to time (except the dead adopting cat, so I guess "citizens" remain in the list. Visitors charging siegers and dead FBs get cleared out, however), which I assume is a DFHack thing. Whether that clears out the internal list or just something that causes the units to show up in the dead units list is a different issue, though. I guess it would be possible to note down a suicide visitor before and after house cleaning to see if they get removed (bugged merchants weren't removed, however).
Logged
Pages: 1 [2]