Commit Graph

3325 Commits

Author SHA1 Message Date
f92e7abe56 Only redraw textbar when text changes 2025-02-23 19:09:53 -05:00
d4675ed4c7 Refactor text-bar text calculation 2025-02-23 19:09:53 -05:00
11f5ab179d Merge pull request #657 from NQNStudios:replay-fixes
A round of replay system fixes and improvements.
* replaying the debug help window was broken in 2 ways which I fixed
* Fix #559 -- When we observe bugs in random sessions, we no longer have to regret that we didn't pass `--record` at the command line. The replay data is kept in memory and writing it out can be enabled with debug action Z.
* Recording replays into the working directory by default is pretty wonky, because the working directory is usually a build output folder that might be clobbered by a `scons -c`, wiping out important replays. Also, if the working directory is the Visual Studio project folder, you end up adding untracked files to your repo folder which can get annoying. So - I've made the default replay directory a folder alongside the tempDir that already exists. On Windows, this is in AppData, on Mac it's in Application Support, etc. But if you pass an explicitly relative or absolute path, it is resolved as expected.
* I made a mistake a while ago that made the Debug action N (end scenario) not get recorded. Fixed!
2025-02-23 19:09:27 -05:00
6ff155434c don't access uninitialized sf::Event 2025-02-23 15:09:32 -06:00
32e644b9f5 some actions shouldn't be recorded in every context 2025-02-23 15:09:32 -06:00
f601678f33 replay handle_victory must pass force 2025-02-23 14:09:52 -06:00
13532fe09a update unused key list 2025-02-23 09:38:26 -06:00
651348cf7e record debug end scenario 2025-02-23 09:38:25 -06:00
8ba173e5eb Record replays into AppData 2025-02-23 09:38:23 -06:00
60b178d6e8 Debug action to save out (and keep saving) the log in memory 2025-02-23 09:38:23 -06:00
64702b3a88 support for recording replay in memory 2025-02-23 09:38:22 -06:00
5ee8f91f5d fix replay show_debug_help 2025-02-23 09:38:22 -06:00
01c11518cc Fix scaled text offset in fullscreen modes. Fix #651 2025-02-22 11:21:47 -05:00
99f3cdc1c4 Fix party invisible outdoors 2025-02-20 20:03:13 -05:00
9bfe8e3f12 -1 is supposed to be no face pic (#645)
Fix #74
2025-02-20 20:02:56 -05:00
85096de3b7 when status is 0 bound low to 0. Fix #138 2025-02-20 20:02:27 -05:00
35a2157059 Write timer index. Fix #621 2025-02-20 20:01:59 -05:00
907c459419 Fix another crash on page 2 of spell picker 2025-02-20 20:01:38 -05:00
f80f8a932a Implement a feature flags system.
* Scenarios contain a string map of feature flags. The flag names are the keys, and flag versions are the values, so a typical value might be "fixed" for bug fixes or for evolving features, "V1", "V2", etc.
* The game has a map of flags to lists of supported versions. The game can therefore signal that it supports a legacy behavior for a given feature flag. The last version in the list is considered to be this build version's default behavior.
* When launching a scenario, we check to make sure the game supports the scenario's required versions of its feature flags.
* When launching a replay, we make sure the game supports the feature flags that the version of the game that made the recording did.

Fix #555
Close #591
2025-02-19 22:32:12 -05:00
f0662902cb Merge pull request #637 from NQNStudios:fix-default-key
I have certain UI expectations, like for the Yes/No dialogs to all respond to both the Y or N key. If there's a default button that responds to Enter, I want it to do that without clobbering its existing hotkey.

Fix #600
2025-02-19 21:27:49 -05:00
5a9c2cd17b explicit bool logic grouping 2025-02-19 19:39:32 -06:00
c94228c99c Default controls keep their hotkey AND the enter key 2025-02-19 19:29:02 -06:00
e61abae720 When party is off-center, draw_party_symbol offset them. Fix #628 2025-02-18 20:41:25 -05:00
dbf5822590 Add hotkey in top-left corner of shop item. Fix #624 (#630) 2025-02-18 20:40:36 -05:00
ec06ca4be3 Don't handle arrow keys specially in some modes. Fix #588 2025-02-18 09:37:56 -05:00
a669fe0223 handle showPipes in code only. Fix #609 2025-02-18 09:37:29 -05:00
090c2faa75 Merge pull request #626 from NQNStudios:fix-blue-text-again
Fix shop item highlighted text again

Fix #86 which was re-opened by the scale-aware text change.
2025-02-18 09:37:08 -05:00
32a532b7eb draw scale-aware text clipped to the adjusted clip_rect 2025-02-17 13:03:55 -06:00
d78793c979 store clip_rects of RenderTextures 2025-02-17 12:33:08 -06:00
2145d88133 Remove the <os> element from scenarios
Fix #522
2025-02-16 21:41:47 -05:00
c6f06ea862 DRY food/gold maximums. fix #79 2025-02-16 21:41:47 -05:00
cff8200f02 make give/take gold/food DRY 2025-02-16 21:41:47 -05:00
9dcfa511a5 Merge pull request #620 from NQNStudios:spec-strings
I really didn't like the get_strs() function in boe.special.cpp which always had to get 2 strings at a time even if you only needed 1 or were going to need 6 total. I made all that code DRY and less horrifying.

I also fixed some crash bugs in various string dialogs.
2025-02-16 21:41:26 -05:00
6916752a8a fix crash when no strings defined 2025-02-16 19:33:58 -06:00
8b873ffea5 fix crash bug when editing single text 2025-02-16 19:33:57 -06:00
c4e1ff7f0d Make getting scenario strings DRY 2025-02-16 19:33:52 -06:00
920fa0d27b fix syntax in scenario.xsd 2025-02-16 10:11:30 -05:00
8cff2428a9 DRY advanced town help. Fix #611 2025-02-16 00:02:22 -05:00
0f6aa4f139 Merge pull request #571 from NQNStudios:scale-text
Gorgeous text in scaled mode

Fix #316
2025-02-15 22:54:31 -05:00
d218cda8c4 Cut pre-baked buttons out of sprite sheets 2025-02-15 16:45:25 -06:00
83ae5eaa1b make Done & Race buttons use scaled text 2025-02-15 16:15:33 -06:00
f2248c766e Allow line-wrapped button labels 2025-02-15 16:14:31 -06:00
9c70859244 Fix C++11 compiler error 2025-02-15 15:16:39 -06:00
78d10987fe draw scale-aware text onto RenderTextures 2025-02-15 15:16:15 -06:00
6fa63307b1 Draw scale-aware text onto windows 2025-02-15 15:12:25 -06:00
8ab451f633 delete unused sf::Text 2025-02-15 15:12:17 -06:00
02ef9111cd fix help-debug formatting with proper line breaks 2025-02-15 16:04:32 -05:00
7383b39e69 Debug action: Preview every dialog layout 2025-02-15 16:04:32 -05:00
ea69bea57e clean up 'Number of Dice/sides' squashed texts 2025-02-15 16:04:32 -05:00
ec4094cf29 Fix line breaks being ignored. Fix #608 2025-02-15 16:04:32 -05:00