Also:
- Use a scroll pane for the credits in the about dialog, so that new credits can be added without altering other elements
- Use a scroll pane for the list of sections to be deleted in the resize outdoors dialog
- New cContainer superclass for controls that contain other controls
- Scrollbars consider their maximum as part of their state
- Fix variable town entry and saved item rects not being saved if they referenced an invalid town
- Fix "blank" scenario timers being saved
- Fix junk data appearing in timers
- Output operators for location and rectangle types
- Set timer node_type to 2 when loading from town record
This includes the following changes (mostly related to the above):
- Move loc_compare functor to location.hpp
- Add reattach() function to rebind a town or outdoor section to a different scenario object. (I don't think this is strictly necessary, as the scenario reference is only used in limited situations in the game itself, not in the editor, but it's better not to keep a reference to freed memory around when importing a town or sector from another scenario, even if the reference is never accessed.)
- Fix imported towns not being officially "loaded" until you explicitly use Load a New Town to reload them
- Fix Choose button in Load New Sector dialog
- More functions in the vector2d implementation
- Scenario and PC editors still don't link
- Copy files stage set up in the Common project
- Scenario and PC editors now placed in Scenario Editor subfolder in the output directory
- Disabled some totally useless warnings
- "About" menuitem now considered to belong to "Help" menu (even on Mac code) as far as the handlers are concerned
- Dialog string filter is now a function instead of a custom iterator
- Modal session now requires parent window as additional parameter
- Preferences and menus work! Cursors still need some work.
- Since Visual Studio has no way of showing program output that I can find, stdout and stderr are now redirected to a file.