Commit Graph

669 Commits

Author SHA1 Message Date
f9f4d5671c Factor out the framerate limiter into a class
Patch from @x-qq
2020-02-01 21:03:56 -05:00
3e686cb908 Tweak text colours to be less blindingly bright and closer to the original Mac BoE 2020-02-01 19:55:30 -05:00
5675ab8c71 Add menus to Linux character editor
Patch from @x-qq
2020-02-01 19:55:30 -05:00
ef734d60d3 Fixes for Linux build 2020-01-30 00:57:50 -05:00
589d919f13 Some tweaks and comments to try and satisfy @x-qq, plus fix scons build 2020-01-30 00:48:34 -05:00
4859fa70bc Factor out the game toolbars into a class.
This includes the following related or incidental changes:
* Remove the win_from_rects global variable. With one minor exception, they were all equal to the relevant render texture's size anyway.
* Split out time advancement from the handle_action function into a separate function
* Split out each individual button action into its own function
* Thanks to the above two, button actions triggered from the keyboard (and menu spells) no longer pass thru handle_action
* Side-effect: keyboard shortcuts and menu spells no longer trigger the button press animation
* Button presses now behave like proper buttons
* Button clicks are now grouped by effect in the handling code, rather than by index
* Removed a variable that mysteriously caused dialogue to become blank
2020-01-30 00:00:40 -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
c2cdeb4990 Fix broken (un)equip clicks 2020-01-27 20:00:41 -05:00
726c46687b Make sure inventory item graphics don't overflow onto the border 2020-01-26 20:29:52 -05:00
d530abe00b Make use of the new resource manager's purgeable flag 2020-01-26 16:14:39 -05:00
a2e73a0223 Fix small item icons being shrunk even further in the inventory screen 2020-01-26 16:07:12 -05:00
14e2597108 Expose the shared pointer instead of the raw pointer in the resource manager and rewrite the custom sheets list to use a vector instead of manual memory management
In particular, this should fix a segmentation fault in the sound system caused by the resource manager pulling a resource that's in use.
2020-01-26 15:10:57 -05:00
542c037342 Integrate a new resource manager which should have better performance 2020-01-26 11:53:19 -05:00
29ef8b9c1e Refactor the game event loop and add menus to the Linux build
Patch from @x-qq
Addresses #195
2020-01-25 17:57:32 -05:00
cf3f20ffcc Clean up outdoor wandering monsters function, removing a useless parameter 2020-01-19 16:25:35 -05:00
166965fdd0 Fix merge error (calling show_logo twice) 2020-01-19 15:55:59 -05:00
3f38ce1fed Rearrange the main game event loop a little
This patch is contributed by @x-qq
and should improve CPU usage on Linux.
2020-01-19 15:39:42 -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
36b4f6edc1 Remove an unused variable
(Thanks to @x-qq for noticing it was never assigned)
2020-01-19 15:38:05 -05:00
4fdd330d07 Setting up Apple Events needs to be done early in initialization, otherwise the event will time out and the Finder will show an error that the program doesn't know how to open the saved gane. 2020-01-12 17:36:16 -05:00
44f18420bd Remove the init thread
It seems to cause problems on Linux and no benefit of it could be observed on Windows or Mac
2020-01-12 17:29:40 -05:00
fb28a4da2e Fix Mac build 2020-01-12 13:19:32 -05:00
6ae8a313b5 Fix "Quit" and red button appearing over the credits when you click them
Fixes #205
2019-12-30 01:35:54 -05:00
5ca27fdad5 Fix items that cause a status effect or cast a spell 2019-12-29 14:11:19 -05:00
7233a8ba78 Change obsolete How to Order button to Preferences
This will allow Linux users to access the preferences UI while I work out how to implement menus on Linux
2019-12-29 13:29:58 -05:00
d12fd43d15 Fix the save action
- Prompt for filename if the game has never been saved
- Don't say the game was saved if file choice was cancelled (affects save as too)
2019-12-29 13:09:55 -05:00
6f96222c37 Remove the 30-item limit in shops 2019-12-02 01:16:34 -05:00
3e6d3b9d5e Fix shop scrollbar not appearing if there are 9 items (when only 8 fit) 2019-11-24 20:28:53 -05:00
761af9d60f Fix showing wrong buttons in the item list 2019-11-24 20:28:53 -05:00
ab740370ee Fix some potential uninitialized variable accesses 2019-11-24 20:28:53 -05:00
b8689511cd Use -1 instead of 120 to mark an invalid location. 2019-11-24 20:28:53 -05:00
8392ee85e8 Make more use of references to shorten long lines of code
This goes through just four files for unnecessary uses of univ.party[n].
2019-11-24 20:28:53 -05:00
3302dd68b7 Move encumbrance calculation functions into cPlayer 2019-11-24 20:28:53 -05:00
060be4dd42 Remove some extern data declarations that didn't exist anymore (and weren't used) 2019-11-24 20:28:52 -05:00
5ea29710f0 Minor code cleanup 2019-11-24 20:28:52 -05:00
dc25cf6ffb Move abil_chart to be private to cItem and fix missing entries for summoning and quickfire abilities 2019-11-24 20:28:52 -05:00
4f785e2650 Use enums for most of the rest of the game constants.
This adds an "enum map" type that allows safe usage of an enum to index an array.
(That is, it enforces that the index is of the enum type.)
2019-11-24 20:28:52 -05:00
4ad85936d3 Fix use of a static bitset to record whether items (in a dynamic vector) have been taken 2019-11-23 12:31:30 -05:00
9073063423 Merge branch 'merge_linux' of https://github.com/murlock/cboe 2018-03-03 17:52:59 -05:00
Mark Clark
e70c360e11 Minor fixes to get build working for vs2017 project; 2018-02-25 14:55:13 -05:00
8759aad90a Move Xcode project to a separate tree parallel to src 2018-02-19 02:11:29 -05:00
03c19fa7ec Use the new erase_completed_specials() function for towns too 2018-02-17 18:46:53 -05:00
e9490ac9d1 Rename a function 2018-02-17 18:45:45 -05:00
1d5e0c2e1e Formatting 2018-02-17 18:14:38 -05:00
Mark Clark
b7d62067cc Fixed issue where special could attempt accessing index outside range for specials; 2018-02-17 17:15:10 -05:00
Mark Clark
a2dc641f31 Refactored erase_out_specials(); 2018-02-17 17:10:34 -05:00
Michael Bonfils
12c3ce26f8 Fix compilation of linux 2018-02-10 17:08:33 +01:00
Michael Bonfils
d940f2c39d Merge branch 'linux' into merge_linux 2018-02-08 20:36:46 +01:00
513d926032 Fix "Save" menu action not working (only "Save As" worked)
(thanks to Ir the Great for this patch)
2017-12-16 16:36:32 -05:00
3e2bf582de Fix priest spells menu showing mage spells instead
(thanks to Ir the Great for the Windows side of this patch)
2017-12-16 16:34:01 -05:00