dfhack icon indicating copy to clipboard operation
dfhack copied to clipboard

labormanager: validate job labor mapper against disassembly results

Open ab9rf opened this issue 4 years ago • 1 comments

Reverse engineering recently located the function that assigns manager jobs to job-holding buildings. Analyzing the logic here may help to validate and possibly fill in some holes in labormanager's job-to-labor mapper.

For reference, the function in question is at 0x1405dd950 in 0.47.05/Win64.

This is a non-blocking issue; I'm mainly putting it here so I won't forget that this was found in reverse engineering.

ab9rf avatar Sep 08 '21 14:09 ab9rf

Reverse engineering found the function that determines if a unit can perform a specific job (0x140c89cb0 in 0.47.05/Win64), the function that identifies the skill required for a specific job (0x14084c780 in 0.47.05/Win64) and the function that maps labors to skills (0x1406697e0 in 0.47.05/Win64). Brief examination of the disassembled code reveals that some of the mappings in labormanager are wrong (e.g. CollectClay is HAUL_ITEM, not POTTERY), and so this issue is now reclassified as a bug.

ab9rf avatar Sep 16 '21 03:09 ab9rf

stale

ab9rf avatar Nov 09 '23 07:11 ab9rf