Commit Graph

437 Commits

Author SHA1 Message Date
357cd2e165 Fix 3-choice dialogs using "Stay" instead of "Leave" for the cancel button 2020-02-04 22:26:06 -05:00
66252fbc53 Substitute some cases of SFML B&W with BoE B&W
Requested by @clort81 to ease making a build with a custom colour scheme
2020-02-04 20:15:10 -05:00
2520f56fb0 I suppose it's a little cleaner to have separate modes for bashing a door and picking a lock 2020-02-04 00:34:01 -05:00
aad9918f13 Remove the explicit assignment of mode numbers
Also remove MODE_CUTSCENE, which is unused and may never be used since the
cutscenes implementation ended up using something else.
2020-02-04 00:25:43 -05:00
37e10ed3ad Make missile animations slower
They were running at max frame rate, making them too fast to see on most modern machines.

Except the 5ms increment, this patch is from @x-qq
2020-02-04 00:20:55 -05:00
72bd8265fa Game modes cleanup
- Fix some cases where modes were still referenced by number
- Replace most cases of mode range-comparison with is_out(), is_town(), and/or is_combat()

There could be some minor errors in the replacements.
2020-02-04 00:02:08 -05:00
7e73a21f5c Add "Add Item" and F1 menu key accelerator on Linux
Patch from @x-qq

Closes #195
2020-02-02 22:38:42 -05:00
511b1858a3 Fix Windows build and tests 2020-02-02 22:32:33 -05:00
c4c201db6e Implement the most important menu key accelerators for Linux
Patch from @x-qq
2020-02-02 21:40:58 -05:00
ddd3c8f13d Fix game border not clickable 2020-02-02 19:35:55 -05:00
86d2574aed Some refactor of special node system
- Context type (town/out/scen) is now an enum
- Don't expose internals in the header
- Use a state struct to pass things around through the system
- Fix special AFFECT_DEADNESS case for default party selection
- Maybe other bits and pieces?
2020-02-02 19:12:45 -05:00
973b147a3d Eliminate fake clicks when pressing space bar 2020-02-02 12:37:50 -05:00
0734ec69b6 Eliminate fake clicks for stat window switching
Fixes #217
2020-02-02 12:11:41 -05:00
3df4a2223e Fix broken keyboard shortcuts 2020-02-02 12:11:41 -05:00
6ff18342ef Check Anama trait before Pacifist trait when casting mage spells 2020-02-01 22:41:02 -05:00
91da0ed4d0 Update references to the online documentation 2020-02-01 22:28:25 -05:00
be28588c92 Enable spellcasting items to work with spells that require a PC target
In particular, this allows Nirvana and Augmentation to work.
2020-02-01 22:19:02 -05:00
e9e6581632 Simplify some stuff with a reference 2020-02-01 22:17:14 -05:00
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