Commit Graph

1814 Commits

Author SHA1 Message Date
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
e6a6b41ec0 Fix incorrect clipping rect in scaled UI 2020-02-02 19:14:01 -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
7019a79567 Mac fixup 2020-02-02 12:11:19 -05:00
7144e7520e Add mnemonics to most menuitems in the Windows PC editor 2020-02-01 23:24:55 -05:00
755a0f9c78 Mac PC Editor: Remove I menus in favour of Party -> Add Item
Also rename the menus to match Mac.
2020-02-01 23:24:50 -05:00
4574c62521 Mac PC Editor: Remove items menus and instead add "Add Item" to the party menu
Also:
- Add ellipses to a number of menuitems
- Shorten menu names to one word
- Fix not redrawing after an item is added
2020-02-01 23:13:26 -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
68502c8f37 Fix spellcasting item being usable by magically inept characters 2020-02-01 22:17:47 -05:00
a4dbeb4dc3 Add explanatory comments 2020-02-01 22:17:27 -05:00
e9e6581632 Simplify some stuff with a reference 2020-02-01 22:17:14 -05:00
be1bf2fe65 Change Linux userdata directory according to FreeDesktop standards:
https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html

Patch from @x-qq
2020-02-01 21:44:22 -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
df4ab21ff1 Update README
- Add new Linux dependencies
- Fix broken and outdated links
2020-01-26 23:19:45 -05:00
726c46687b Make sure inventory item graphics don't overflow onto the border 2020-01-26 20:29:52 -05:00
46f1e6ed86 Extra caution to avoid a segfault in the sound system
The earlier commit mostly avoids it, but it was still theoretically possible to segfault
2020-01-26 17:19:06 -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
1a05d9c53f Fix the OpenAL assert on exit 2020-01-26 15:41:38 -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
2d1ee24473 Fix scons and Linux builds 2020-01-26 13:33:02 -05:00
b0fddcd8a6 Update Xcode project and fix Mac build 2020-01-26 13:06:22 -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
1fcbd8e922 Rearrange the dialog event loop a little
This patch is contributed by @x-qq
and should improve CPU usage on Linux.
2020-01-20 19:47:09 -05:00
fd139c59de Fix incorrect Prevent Action special nodes in the scenarios, caused by incorrect import code
The fix was implemented by re-importing the legacy scenarios and re-exporting them,
then simply accepting any changes to a Prevent Action node.
2020-01-19 16:51:48 -05:00
9691470611 Fix the legacy special tests 2020-01-19 16:26:24 -05:00
488e5a2570 Fix import of legacy Wandering Will Fight special nodes
After checking legacy documentation, I determined that
the meaning of ex1a is reversed in the latest code.
2020-01-19 16:26:15 -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
6d5b484ecd Scons: debug builds should be unoptimized 2020-01-19 15:39:42 -05:00
56523f1623 Fix import issue with Can't Enter special nodes 2020-01-19 15:39:42 -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
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
36b4f6edc1 Remove an unused variable
(Thanks to @x-qq for noticing it was never assigned)
2020-01-19 15:38:05 -05:00