Closed PeridexisErrant closed 11 months ago
Would merging this make it possible in the future to use TwbT without breaking other DFHack UI overlays? As an example, when using TwbT and the siege engine mod, the siege engine gui replaces the map, rather than overlaying it.
No, this would just mean we'd have to locate the hardcoded offsets TwbT needs. I'm not really sure what to do here, since I haven't seen documentation regarding what those offsets actually are.
Would merging this make it possible in the future to use TwbT without breaking other DFHack UI overlays?
No, but adding these structures would make it easier to keep TwbT up to date and perhaps include a standard version in DFHack.
DFHack/dfhack#746 will avoid broken overlays, but there's a number of other plugins that need to change before that all shakes out.
If you ask me, it would make it harder to keep twbt up to date, since
Quietust and Expwnent also pointed out several issues in TwbT that could prevent us from including it - I'm not sure how many of them have been fixed since then, but some are still present. Here's an incomplete list:
I also haven't confirmed that DFHack/dfhack#746 will avoid broken overlays. In particular, I have no idea why scripts that just draw to the sidebar cause twbt's map display to break. Hopefully that can be figured out once DFHack is stable enough, and we can get rid of the separately-maintained plugins as well.
re:
I'm not really sure what to do here, since I haven't seen documentation regarding what those offsets actually are.
Do you mean this: https://github.com/mifki/df-twbt/blob/master/PATCHES.md
That just tells you how to find seven offsets of things in memory. I have no idea what those things are, how to describe them in df-structures, or whether they're pointers to the data or executable segments (or both). A couple appear to be function pointers, which we don't have a way of describing (and there are some issues with including function pointers that are a little unclear to me, anyway).
IMHO adding them could be done as generic "offsets" at first (or forever?). As for what they are:
The rest i don't know, but i think they are specific offsets for various binary patches.
Mifki has said that the only thing preventing TwbT being merged into DFHack is the additional structures research required. Instructions here; it would be good to merge this too.