Commit Graph

76 Commits

Author SHA1 Message Date
3ba6266cd4 Fix editors launching in the top left corner of the screen 2020-02-23 23:29:44 -05:00
760a172526 Some style tweaks 2020-02-09 18:24:09 -05:00
deac7b0cb6 Merge pull request #251 from x-qq/fix_scrollbar_segfaults
fix for scrollbar segfaults

* fixes #206
* fixes broken mousewheel scrolling of the scenedit palette
* removed boost threads dependency
* added foundation for further refactoring of the drawing and event handling code: interfaces and drawable manager with layering
* removed a bunch of unneeded redraw calls
* removed some repeated recalculation of effectively constant values (boe.actions)
* removed recalculation of effectively constant scrollbar and button positions (boe.graphics)

Closes #251
2020-02-09 15:55:51 -05:00
91da0ed4d0 Update references to the online documentation 2020-02-01 22:28:25 -05:00
f9f4d5671c Factor out the framerate limiter into a class
Patch from @x-qq
2020-02-01 21:03:56 -05:00
5675ab8c71 Add menus to Linux character editor
Patch from @x-qq
2020-02-01 19:55:30 -05:00
1d61d48ec3 Enable UI scaling in the scenario and implement Linux menus
Patch from @x-qq
Addresses #195

Note: UI scaling for the scenario editor still needs some work,
but it's basically functional.
2020-01-28 20:13:24 -05:00
d530abe00b Make use of the new resource manager's purgeable flag 2020-01-26 16:14:39 -05:00
542c037342 Integrate a new resource manager which should have better performance 2020-01-26 11:53:19 -05:00
a5a7f161c8 Remove the init thread from the scenario editor
The reasoning is the same as for the main game.
2020-01-19 15:39:41 -05:00
e4b98a1634 Add a hidden preference to skip the Spiderweb logo at startup
The same preference also skips the scenario editor startup splash
In order to enable that, the scenario editor now loads prefs.
2020-01-19 15:39:41 -05:00
c2ce2a2cd1 Split up the graphtool files 2017-04-14 15:43:07 -04:00
82abdab695 Major code reorganization
This commit only updates the XCode project for the changes.
A later commit each will update it for scons and MSVC.

A few actual changes are mixed in:
- Add a prefix header for a handful of common definitions
- Moved current_cursor into the Cursor class as a static member
- Removed the make_cursor_sword and make_cursor_watch functions
- Include tests in the All target
- Remove redundant -l flags for Common and Common-Party (since they're included in the Link phases anyway)
2017-04-14 00:24:29 -04:00
7fc3001245 Confirm before creating a new scenario when one is being edited 2017-02-12 18:27:44 -05:00
683ab805ec Initial framework for scenario editor undo/redo
In addition to the framework, this enables undo/redo of one action - adding a new town
2017-02-12 18:27:01 -05:00
e38053d39f Remove some spurious scenario editor error messages
These errors are all no longer necessary due to the editor loading the entire scenario into memory at the same time
2017-02-12 18:19:29 -05:00
469d5fb8a6 Remove residual function 2016-08-25 21:28:44 -04:00
4cbd0d3013 New toolbar buttons for placing boats and horses; replaces the edit boats/horses dialogs 2016-08-25 21:28:42 -04:00
8b792aea75 Eliminate some offscreen surfaces in the scenario editor
- This fixes an issue where parts of the UI were filled with black or random noise.
- This also creates some noticeable lag while drawing, though.
2016-04-29 13:36:31 -04:00
fa928a122f Fix missing scenario editor menus on Windows
This also seems to fix an issue with menu accelerator keys on Windows.
2015-10-22 18:29:29 -04:00
63df1e4401 Fix Windows build 2015-10-15 15:16:05 -04:00
76168b2071 Nuke several globals; some were unused, others moved to universe 2015-10-06 22:17:28 -04:00
1b95f06207 Split dlogutil.hpp into separate headers for each dialog 2015-10-04 22:45:01 -04:00
62c342645a Use sword cursor at scenario editor main screen 2015-10-01 11:26:05 -04:00
1222cb57f5 Move Set Town Start to Town menu and make it work the same as Set Out Start
- Also fix problem with initial starting town in new scenarios (it was uninitialized)
2015-09-27 14:50:00 -04:00
a217b91f0a Only show editing cursors while over the terrain area
- Also show eyedropper when selecting a terrain/item/monster to paint
2015-09-27 13:08:08 -04:00
06930e30d4 Scenario Editor: Redraw screen after a menu command 2015-09-26 14:17:05 -04:00
f66c1cb36f More init/splash streamlining, now including the scenario editor 2015-09-25 19:03:40 -04:00
088166a534 Don't set application icon on OSX since it overrides the Dock icon 2015-09-25 00:47:14 -04:00
e81b63d36f Windows: Set a titlebar icon 2015-09-25 00:41:17 -04:00
d7eb593aa1 Add close button to scenario window titlebar 2015-09-24 19:28:43 -04:00
780b413d0c Mass replace NULL --> nullptr
(Except one instance was instead replaced with nil)
2015-09-13 10:50:21 -04:00
5eef466804 Attempt to fix graphical glitch while scrolling terrain palette in WINE 2015-08-21 14:45:47 -04:00
95559b5a51 Additional fix for "Failed to activate window context" log messages 2015-08-21 11:34:29 -04:00
5ae96f2c45 Fix scrollbars not updating while mouse pressed on Windows 2015-08-21 11:34:18 -04:00
5762c2bb90 Tweak to error dialogs and add separate warning dialogs
(Also some error messages tweaked)
2015-08-14 23:30:18 -04:00
a5ea3174c8 In scenario editor, dump to start screen if scenario load fails 2015-07-05 23:31:01 -04:00
1f5a1118f8 Some test cases for saving scenarios, and fix some bugs they revealed
- 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
2015-07-01 18:05:42 -04:00
e539327e08 Go to Contents instead of About for scenario editor help 2015-06-27 08:45:59 -04:00
225195c46f Launch a local copy of the help, if one exists 2015-06-27 02:29:30 -04:00
ef0cdebec4 New editor commands: Resize Outdoors and Import Sector
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
2015-06-25 23:55:55 -04:00
2951e0228c Tweak New Scenario dialog and add Save As option
- You now specify your name instead of the scenario filename in the first dialog
- A file dialog pops up after the second dialog, to let you choose the filename and location
- Fixed using Warrior's Grove even if you chose not to
- Fixed not recognizing .EXS as a valid legacy-scenario extension and appending .boes, resulting in .EXS.boes
- Adjust Difficulty scenario flag set on by default
2015-06-24 14:43:41 -04:00
41fb8bd056 XCode build is now completely warning free 2015-06-21 18:22:20 -04:00
f8193a32e7 Add missing Boost.Thread dependency to XCode project,
plus workaround for my old libc++.
2015-06-20 21:17:59 -04:00
8d793a16c4 Use boost::thread instead of std::thread 2015-06-20 12:54:27 -04:00
580f70f49a Add a dialog in scenario editor to import/export custom sounds in WAV format 2015-06-17 01:03:17 -04:00
e055b97c9f Add dialog allowing you to alter the scenario's graphics sheets from within the scenario editor
- You can copy/paste images into the sheet, or import/export to/from png files

Also:
- Picture controls in the dialog engine have a new "scaled" flag; if set, the picture will be scaled into the provided bounds rather than overflowing. Currently, only full sheets honour the setting.
2015-06-15 16:20:03 -04:00
459c68a668 Support for opening saves/scenarios in Windows by dropping them on the app icon 2015-06-08 22:14:55 -04:00
2d9c3ba2d9 Remove the arbitrary limits on the following quantities:
- Number of terrain types - as long as the last terrain in the list is unused, you can delete it
- Number of monster types - as long as the last monster in the list is unused, you can delete it
- Number of item types - as long as the last item in the list is unused, you can delete it
- Number of special items
- Number of strings (scenario, journal, outdoors, town)
- Number of signs (outdoors, town)
- Number of description rectangles (outdoors, town)
- Number of town entrances (outdoors)
- Number of dialog nodes (town); number of personalities per town is still limited, but since you can use personalities from any town and the number of towns is unlimited, you still have effectively unlimited personalities

Other related stuff:
- Fix ability to select nonexistent terrains/items/monsters from the palette
- Fix inability to find unused special strings in some cases
- Fix sometimes incorrectly selecting the current node as the next node in the chain, instead of a new node
- When cancelling from the special node dialog, it's a bit more intelligent about whether or not to drop nodes from the end of the list
- Edit string dialog now has a cancel button
- Save otherwise unused talk nodes if they contain strings, to avoid loss of data that might be important
- Fix scenario and journal strings loading incorrectly if some strings were blank
- Fix some issues with list modes activated by menu not appearing until the mouse moves over the window
- Fix incorrect instructions in list modes (it's alt-click, not command-click as the instructions indicated)
- Implement "erase town entrance" button and create a visual difference between town entrances with an assigned town and those without
- Fix inability to erase monsters after the first 60 in town
- Fix escape key accepting changes in the shop dialog, instead of cancelling
- Fix quest/shop list resetting to top after editing one
2015-06-08 22:14:47 -04:00
01d317b007 .h -> .hpp 2015-06-08 22:14:43 -04:00