This is what we can do. Assuming the default interface touches every single INI parameter, then extract type + value count for each parameter. Store this in database. Use it as a lookup table. Hardcoding these is not desired.
It is detectable by value, which type one parameter has. A parameter has either string type or integer. If the type is an integer, then it's a coordinate or an offset from a mentioned coordinate.
The first capitalized word of a parameter's name, refers to its interface category, eg, Pip for PipBoy, Log for Login, etc.
(.+Pic|.+PicDn) --> | .FRM or .PNG or .FOFRM |
(.+OffsX)|(.+OffsY) --> Width/Height offset |
(.+X)|(.+Y) --> X / Y coordinate |
(.+StepX)|(.+StepY) --> X / Y offset, as in drawing frame(s) by an offset of X,Y each count |
.+Max --> total count (IntApMax is the only occurance yet) |
.+Text -> rectangle area in which text is displayed |
More suffixes will likely turn up. Those parameters without suffixes specify modifiable rectangles.
My plan is to extract the default interface, generate a lookup table to gain an overview of every single INI parameter and their usages (whether they're string types, etc).
When that is done, I have the first production ready version as FRM, FOFRM and PNG support is implemented. Then it's the application specifics remaining.
FOnline.exe looks up DataFiles.cfg + reads ZIP files, then merges that with subfolders in data\ (art,fonts,etc). Is this correct? When does it read fallout.dat? And does fallout.dat contain any interface elements? Please respond quickly. Thanks |