A continuation of https://github.com/UsernameFodder/pmdsky-debug/pull/210, with follow-up research to flesh out the window system APIs and structs. There's too much here to list in full, but summarizing (see the individual commits for more details):
Bug fixes around struct portrait_box and struct portrait_params
Contents struct layouts for the various window types, plus supporting structs
More functions (some low quality) for working with each type of window (including the missing Close* functions)
Improved documentation for existing window API functions
Data symbols for the default window_params of each window type
The "dynamic text box" has been renamed to "area name box" to reflect the fact that it's hard-coded for this purpose
Generalization of various menu-specific things, which it turns out actually apply to all window types
Cleanup, renaming, and typing of some old symbols and descriptions
Documentation of miscellaneous utilities around strings and windows
Note that the majority of this research was done via static analysis, so most of the new things lack real empirical testing. There might be mistakes, so caution should be taken when using this stuff.
The window system is still by no means completely documented, and it may not be fully usable in its current state, but this should hopefully be substantial progress towards that goal. It should at least make future research easier.
A continuation of https://github.com/UsernameFodder/pmdsky-debug/pull/210, with follow-up research to flesh out the window system APIs and structs. There's too much here to list in full, but summarizing (see the individual commits for more details):
struct portrait_box
andstruct portrait_params
Close*
functions)window_params
of each window typeNote that the majority of this research was done via static analysis, so most of the new things lack real empirical testing. There might be mistakes, so caution should be taken when using this stuff.
The window system is still by no means completely documented, and it may not be fully usable in its current state, but this should hopefully be substantial progress towards that goal. It should at least make future research easier.