Implementation of parsing for the map format (untested)
- Some stubs inserted for loading new-format scenario data
Lots of little tweaks and fixes to various things, mostly dialog stuff.
- LED groups now trigger their own click handler in addition to the clicked LED's click handler (provided the latter returns true). If the handler returns false, the click has no effect.
- LED groups now cancel the selection change if their focus handler returns false; this mimics the behaviour when an individual LED's focus handler returns false.
- Move the dialog getResult() definitions inline - since there's only two of them now that I'm using boost::any, having them in a separate file is pointless.
- Changed how the pict choice dialog returns its result - now it returns only whether the user clicked cancel and provides getters to obtain the number and type.
- Pict and string choice dialogs now hide the arrow buttons when there is only one page of options.
- Fix pict choice dialog always returning the initially selected value (similar to how the string choice dialog did before I fixed it)
- When passed an invalid starting selection, the pict choice dialog now always starts with the first icon selected
- Fix wrong bounds for several typs of custom graphics in dialogs
- Fix wrong /source/ bounds for custom 28x36 graphics /everywhere in the game/.
- Fix select PC graphic dialog having a second page with an invalid graphic that can be selected.
Fix garbled dialog graphics in custom special node dialogs
Remove redundantly duplicated functions in cButton
Merge the two "load from file" constructors in cDialog (using defaulted parameter)
Move noAction to cLed since its purpose is mainly to prevent the default LED toggle-selected action without introducing any alternate behaviour.
Add an operator-> to cStrDlog and cStringChoice, mainly for consistency since cPictChoice and cChoiceDlog already had one.
Fix unfetchability of TXT_FRAMESTYLE in buttons and icons.
Add magic value constant for xBadVal exception
Fix dialog parser considering XML comments to be illegal in some places.
Remove the need for all cControl subclasses to be friends of cDialog
(Now only cControl itself is a friend.)
Embark on an epic journey to document the dialog engine in as much detail as possible.
... and the previous commits (from 56f73cb on) were by and large a result of things noticed during this process.
Animate graphics in dialogs
- Monster graphics are animated too, showing all four of their frames.
- Animated dialog graphics are currently enabled only in the scenario editor.
Some dialog pict fixes
- Pict choice dialog didn't work for present monster graphics
- Icon control is a little smarter when setting its picnum
Update doxy ignores
Fix up some invisible dependencies and missing include guards in headers
Some basic documentation of the resource manager. It could probably be improved a lot.