Commit Graph

850 Commits

Author SHA1 Message Date
945a4f14a0 fix command-line arg docs 2024-07-28 17:07:33 -04:00
047c471607 finish_load_party() 2024-07-28 17:07:33 -04:00
b749b6377a put decoded replay save in tempDir 2024-07-28 17:07:33 -04:00
31dcb26d9d WIP encode and decode save files in action logs 2024-07-28 17:07:33 -04:00
56169abaf5 Reorganize global replay code
Theoretically, the scenario and character editors could also have replay systems
2024-07-28 17:07:33 -04:00
196c5d784a allow providing base filename for log recording 2024-07-28 17:07:33 -04:00
cbfddc26ab pre-declare action log vars/functions for global use 2024-07-28 17:07:33 -04:00
669d7dcb5c record and replay srand() in an action log 2024-07-28 17:07:33 -04:00
c251fee834 Fix graphics flickering/stretching on Windows (#367)
* DRY, standardized window top offset
* handle_splash_events() handle multiple events per frame
* accurate windows menubar height for multiple rows
* Windows filter a resize event triggered by the menubar
* windows expand small window to fit menubar
* splash screens draw in view rect, not window rect
2024-06-27 08:40:34 -04:00
d6ae801203 fix #368 2024-06-24 21:47:14 -04:00
4fa4f0b92b remove args and windows logic from all set_up_apple_events 2024-06-12 22:38:31 -06:00
cb62505e8d reorder init calls to fix file loading 2024-06-12 15:35:54 -06:00
a45b34ec42 all platforms load party from command line 2024-06-12 12:28:42 -06:00
c691b908a6 Only hide left/right buttons for empty vector 2023-02-04 18:54:07 -05:00
35050aedc7 Some minor special node fixes 2023-01-30 00:10:56 -05:00
1ac7132733 Add option for move items node to pull from containers 2023-01-30 00:10:56 -05:00
0bfa325060 Refine and fix up numeric response node 2023-01-30 00:10:56 -05:00
49ea9da713 Rearrange spell pattern code to enable switch statements to make use of missing case warnings 2023-01-30 00:08:31 -05:00
491a81fdda Fix Stealth and Firewalk icons being swapped 2023-01-29 19:39:13 -05:00
b03c34396d Split quest flags into two separate boolean values 2023-01-22 18:56:50 -05:00
47bf06c15b const-correctness in universe classes 2023-01-22 17:53:18 -05:00
ALONSO Laurent
702fcec887 boat/horse: try to avoid drawing ghost vehicles... 2023-01-22 14:15:35 -05:00
9d78fa09b3 Make sure we don't try to move off the map
Thanks to @fosnola for spotting this.
2023-01-22 14:07:26 -05:00
2539c28fe2 Prefer to call is_on_map() for terrain bounds checking whenever possible
Fix some cCurTown field functions not having bound checking
Scenario editor now takes better advantage of cTown and cOutdoors sharing a superclass
2023-01-22 14:07:26 -05:00
ALONSO Laurent
2589bbec31 special[hack]: called the town's exit when leaving the town (instead of outdoor) 2023-01-22 12:49:27 -05:00
ALONSO Laurent
e1023102d2 graphic: if needed, scales startsplash and spidlogo at startup 2023-01-21 22:45:00 -05:00
ALONSO Laurent
ba6a5ea208 do not forget to call advance_time in pause and in combat mode... 2023-01-21 22:39:33 -05:00
5bce71d59f Make implicit switch fallthrough an error in the Xcode project and fix all places that do it
Since we can't directly use C++11 attributes, I've chosen BOOST_FALLTHROUGH to annotate intentional fallthroughs.

Thanks to @fosnola for spotting a missing break, which triggered this.
2023-01-21 22:39:33 -05:00
ALONSO Laurent
4fd9f42c8e boe.actions.cpp: try to make key work even when the talk ends 2023-01-21 22:39:33 -05:00
ALONSO Laurent
81c8f9bba5 boe.party.cpp: fix target display in pick_spell 2023-01-21 22:26:53 -05:00
ALONSO Laurent
c02dde4925 talk: try to make "Go Back" and the keys work again,
shopping: try to make work again,
2023-01-21 22:21:52 -05:00
ALONSO Laurent
812410338d journal: try to delete correctly the talking notes 2023-01-21 21:02:06 -05:00
ALONSO Laurent
6b5cd30149 boe.infodlg.cpp: try to correct a problem when displaying notes, 2023-01-21 20:55:39 -05:00
17ad90ece1 Check for out-of-bound terrains when building roads
Thanks to @fosnola for noticing this.
2023-01-21 20:42:12 -05:00
d88ec6a08d Fix cases of assigning get_float_pref() to a float variable
It's called "get_float_pref" because it returns a floating-point.
However, that floating-point is in double precision.
2023-01-21 20:18:16 -05:00
577ff1a405 Don't show an 'other' option for UI scale unless it's actually selected 2023-01-21 20:15:58 -05:00
ALONSO Laurent
dda95397ec UI scaling: add a different scaling for minimap + add more scaling values... 2023-01-21 19:53:27 -05:00
ALONSO Laurent
c4e9baf854 UI scaling: try to also scale the mini_map 2023-01-21 19:21:20 -05:00
6ec1b3fd45 Uncomment an error check in experience gain 2023-01-21 19:10:28 -05:00
d83139eaa0 Implement exp_adj
The original source had remnants of a PC-specific experience gain adjustment, which
appeared to be intended as a debugging aid.

I've restored and implemented it, and used it on the debug party.
It doesn't necessary need to be relegated to only a debug feature, but for now, that's
good enough.
2023-01-21 18:32:50 -05:00
992cbdb22c Delete cCurTown::difficulty
It seemed like it was intended as a mirror of cTown::difficulty, yet there didn't seem to
be anything that ever wrote to it.
So I just made everything use cTown::difficulty directly instead.
2023-01-21 18:10:58 -05:00
4c6296612d Add a function to wrap percentage calculations
This should help avoid issues from integer overflow (which is technically undefined behaviour)
while also allowing such issues to be addressed centrally if they still exist.
2023-01-21 17:53:06 -05:00
7b4df6edf8 Fix typo that resulted in incorrect HP restore from NPC inns 2023-01-21 17:52:23 -05:00
d7dcf24644 Fix calling restore_sp to drain SP from an affect special node
This also adds an Allow Resist flag to determine whether the target's
Mage Spells or Priest Spells skill can reduce the amount drained.

Thanks to @fosnola for spotting this issue.
2023-01-21 17:52:23 -05:00
bad804bc71 Reset end scenario flag once the scenario has ended
Thanks to @fosnola for spotting the issue
2023-01-21 17:18:31 -05:00
2090bd3e50 minor cleanup
Suggested by @fosnola.
2023-01-21 11:27:41 -05:00
ALONSO Laurent
0e77f56fbb try to correct look_outdoor_mode 2023-01-21 10:37:44 -05:00
a430abbd50 Fix fields array not matching the size of the town
The fields array was fixed at 64x64, which is fine for all towns
supported in legacy BoE.

However, we intend to support even larger towns in the future,
and also it seems silly to hold so much extra space for a smaller town.

So now, the fields array is a 2D vector that matches the size of the terrain vector.
The setup array is similarly a list of 2D vectors.

This radically changes the format used to store the setup array in a saved game.
Older saves won't crash the game, but fields will be messed up or missing.
Resetting towns is recommended.
2023-01-21 00:47:35 -05:00
c7c8f3fa77 Sanity pass of saved game format
This adds several fields to the saved game format that were simply missing.
- Monster boolean flags (for summons)
- Some missing monster ability details (for summons)
- Special on talk (for creatures)
- Max SP and morale (for creatures)
- Source scenario (for encounter notes)

It also changes the default resist to 0 instead of 100, meaning that
resistances will be saved almost always, but should be loaded correctly.

The target location is no longer saved for creatures.
There was already code that nulled it out after loading,
so now that just happens during loading instead.

The town active flags (belt_present and quickfire_present)
are now set during loading instead of after loading.

This changes the save format, so there will be minor incompatibilities.
In particular, monster health won't be loaded correctly from older saves.
2023-01-20 23:51:35 -05:00
811c5d1c7c Make sure maps are updated before saving
Thanks to @fosnola for spotting the issue.
2023-01-20 09:07:48 -05:00