df-structures icon indicating copy to clipboard operation
df-structures copied to clipboard

More globals (low-hanging fruit)

Open Bumber64 opened this issue 3 years ago • 1 comments

There are some unmapped global variables that are named in DF's data segment. For example:

.data:00000001410B6620 dq offset aDebugAlwayshap               ; "DEBUG_ALWAYSHAPPY"
.data:00000001410B6628 dq offset unk_141697472
.data:00000001410B6630 dq offset aDebugNeverbers               ; "DEBUG_NEVERBERSERK"
.data:00000001410B6638 dq offset _debug_noberserk
.data:00000001410B6640 dq offset aDebugDisablehu               ; "DEBUG_DISABLEHUMANCARAVAN"
.data:00000001410B6648 dq offset unk_14167E41F
.data:00000001410B6650 dq offset aDebugGamelog                 ; "DEBUG_GAMELOG"
.data:00000001410B6658 dq offset byte_1410B67E0

(DF 0.47.05, Windows 64-bit) I know from reverse-engineering that debug_gamelog prevents writing to gamelog.txt when false. debug_alwayshappy and debug_disablehumancaravan seem self explanatory. There are a bunch of other variables in this area.

Bumber64 avatar Dec 03 '21 22:12 Bumber64

DEBUG_GAMELOG was added at some point between 0.34.11 and 0.44.01, and there's no reason why we can't add it.

However, "ALWAYSHAPPY" was obsoleted back when Stress was added and currently does nothing at all - it used to exist in df-structures as "debug_nothought", but I removed it back in commit ec2c7b77918d7677269722e848947a7753d38ed2.

As for the others (SHOW_RIVER, FASTCAVEIN, and DISABLEHUMANCARAVAN), they only existed in version 0.23.130.23a and earlier so there's no point in adding them.

quietust avatar Mar 30 '22 20:03 quietust