df-structures
df-structures copied to clipboard
`hauler_type.Bin` is inaccurate
Originally posted by @ab9rf in https://github.com/DFHack/df-structures/issues/435#issuecomment-903359458
My research suggests that we should rename
Bin
to something else. Specifically,StoreItemInHospital
jobs incrementworld.stockpile.num_jobs[Bin]
, even though a "store in hospital" job never result in anything being actually stored in a bin.pjVar38 = job::create(); piVar42 = local_440; pjVar38->job_type = StoreItemInHospital; ... world.stockpile.num_jobs.Any = world.stockpile.num_jobs.Any + 1; world.stockpile.num_jobs.Bin = world.stockpile.num_jobs.Bin + 1;
To my fairly substantial surprise, I note that MSVC tells me that there are zero live references to df::enums::hauler_type::Bin
in dfhack C++ code. I also did a search of the published hack/scripts
folder and found no references in published Lua or Ruby scripts.
Isn't labormanager using a hardcoded "4" somewhere in place of it?
Isn't labormanager using a hardcoded "4" somewhere in place of it?
Yes. And that's the only code in DFHack I'm aware of that uses world.stockpiles.num_haulers
or world.stockpiles.num_jobs
at all.
Turns out DF doesn't even have a "hauler_type" enum, and the arrays in world.stockpile
(bay12 storage_handlerst
) are simply two flat sets of variables whose names end with "", "_mining", "_wood", "_burial", "_item", "_body", "_food", "_refuse", "_furniture", and "_animals".