dfhack icon indicating copy to clipboard operation
dfhack copied to clipboard

50.x - Fastdwarf/superdwarf doesn't affect all tasks

Open oorzkws opened this issue 2 years ago • 2 comments

Issue: Fastdwarf/superdwarf doesn't change the action times for some actions. For others, it can be inconsistent.

Example reproduction cases:

  1. Smoothing/engraving, never appears to be sped up.
  2. Mining is sped up, but appears to take variable ticks to complete. Not sure what makes the difference in total time per tile mined.

Tested on DF 50.05, dfhack approx 6a107ba (can't check specifically as the build server has 429'd me)

Questions: Is it worth trying the alternate method for changing action times mentioned here, or does that effectively lead to the same changes in memory?

https://github.com/DFHack/dfhack/blob/ba58714128032bb1d5d8ac47f1e44e1c9a8b5d73/library/modules/Units.cpp#L1975-L1977

P.S. I was looking into it, but I see includes for df/unit_action.h which don't seem available for 50.0x. Are these up for download somewhere?

oorzkws avatar Jan 16 '23 18:01 oorzkws

What DF/DFHack version are you using? Even more helpful: is this specific to just v50 or v0.47, or does it occur in both?

Most of what fastdwarf 1 does involves adjusting timers that DF looks at, so we are really at the mercy of DF here regarding what actually gets sped up and how.

Is it worth trying the alternate method for changing action times mentioned here

That's not an alternate method, that's an additional method, which would adjust another timer. No idea if it would help here.

P.S. I was looking into it, but I see includes for df/unit_action.h which don't seem available for 50.0x. Are these up for download somewhere?

Anything under df/ is generated, and highly dependent on the state of df-structures. You can generate them locally by compiling DFHack, or consult the source files in https://github.com/dfhack/df-structures - these have the same information, just in another format.

lethosor avatar Jan 16 '23 18:01 lethosor

What DF/DFHack version are you using? Even more helpful: is this specific to just v50 or v0.47, or does it occur in both?

Most of what fastdwarf 1 does involves adjusting timers that DF looks at, so we are really at the mercy of DF here regarding what actually gets sped up and how.

Is it worth trying the alternate method for changing action times mentioned here

That's not an alternate method, that's an additional method, which would adjust another timer. No idea if it would help here.

P.S. I was looking into it, but I see includes for df/unit_action.h which don't seem available for 50.0x. Are these up for download somewhere?

Anything under df/ is generated, and highly dependent on the state of df-structures. You can generate them locally by compiling DFHack, or consult the source files in https://github.com/dfhack/df-structures - these have the same information, just in another format.

v50, sorry. I'll edit that in, it had completely skipped my mind. I don't have a v47 build on-hand to test currently.

oorzkws avatar Jan 16 '23 18:01 oorzkws

After testing, I see smoothing and engraving going much faster than it would otherwise. It's not immediate, but it is clearly sped up. Perhaps there is an effective minimum speed because of multiple steps that DF has to accomplish

myk002 avatar Jan 06 '24 00:01 myk002