I just have a few questions to get my bearings regarding DT:
• I read earlier in the thread that DT is reliant on DFHack updating their memory layouts. If that is the case, how were you able to pull this code together before the DFHack devs?
• Does this code need more thorough testing before Splinterz is willing to post it as the v37.0 download? If so, is there a structured process that people go through to help Splinterz test?
• PeridexisErrant posted earlier that https://dfhack.readthedocs.org/en/latest/library/xml/how-to-update.html is how the utility devs update their memory layouts / programs for each new Dwarf Fortress release. Is the whole process best left to them, or is there any portion of it that non-devs can help out with?
1)I followed
how-to-update.html.
I got mismatch error from match-ctors.pl - some structures changed their size. I manually matched and add the new names to ctors.txt
Then used the lisp tool to verify the layout of the compound globals on linux and windows(wine) and updated xmls.
I am not sure about new 16(12) empty bytes between waypoints and burrows in ui. It might be an stl-vector. But I haven't found situation when it is not empty.
Also not sure that 2 new fields in the wolrd and new unk_0 field in ui_build_selector are even fields.
And I have no idea about vtables. But DT not uses all those anyway.
Here is my result. I compiled DFHack with it. It seems to work almost fine so far. I run
df-ai controlled fort for 10 years.
It marks residents for slaughter in butcher's workshop - it seems it uses wrong method to determine whenewer unit is appropriate for butchering its old df-ai issue.. And also got one corruption (dwarf profession textures got mixed, inadequate system memory usage and then crash), but can't reproduce. Probably fixed reason already.
While many DFHack plugins might behave incorrect in some situations and will cause save corruption eventually, everything critical for DT layouts seems to be figured out.
So I run devel/export-dt-ini, then fixed layouts manually ([hist_entity_offsets].histfigs and few other fields), tested and shared them. It was 4 days ago and nobody reported problems yet
How before the DFHack devs? Well, they probably busy.
2)Splinterz said he will do some testing.
3)
Sadly the necessary skill level for most of the work updating is quite high. Only Quietust and Angavrilov can do the hard stuff.