Commit Graph

1921 Commits

Author SHA1 Message Date
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
02d98db391 Prevent shops from selling unidentified options.
Patch identified by @x-qq

Fixes #65
2020-02-03 20:43:43 -05:00
9c709e33ab Fix Shield of Kron description 2020-02-03 08:45:36 -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
bb2f7fab22 Forgot to add the "Add Item" menuitem to the Windows resource file 2020-02-02 22:35:28 -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
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