Commit Graph

286 Commits

Author SHA1 Message Date
d22cded163 Try reusing one pick-spell dialog 2025-05-11 10:49:47 -05:00
a84ec50045 Avoid font corruption by pre-enlarging font atlas 2025-05-11 10:49:45 -05:00
cf5ce53721 Fix a case where target lock is annoying 2025-05-11 10:49:41 -05:00
973cd71627 Replay errors show line number of action
I would have done this FOREVER ago but every time I looked
in ticpp for a way to get element file positions I somehow
missed Row() and Column()
2025-05-11 10:49:33 -05:00
2724c1bd6a Overhaul the text buffer 2025-05-11 10:49:32 -05:00
07c15dc1e7 Fix window focus bugs for Windows 2025-05-11 10:49:31 -05:00
acee151bf2 Fix TODO note about too many wandering monsters 2025-05-11 10:49:30 -05:00
acc1b0d40a Fix empty wandering monster bug. Fix #723 2025-05-11 10:49:30 -05:00
5d7f3088e9 move minimap logic out of dialog 2025-05-11 10:49:24 -05:00
daaca32e53 fix keyboard movement I broke & remove terrain_click array 2025-05-11 10:49:24 -05:00
06624d810c try to fix linker errors without new globals 2025-05-11 10:49:23 -05:00
a53650f737 WIP standardize mouse position translation 2025-05-11 10:49:21 -05:00
4041d0c1b2 Let the minimap be hidden by other applications in focus 2025-05-11 10:49:21 -05:00
3ba9259482 Remember window positions as preferences 2025-05-11 10:49:21 -05:00
9928608199 pacifist gray LEDs for spells that harm. Fix #711 2025-05-06 15:24:13 -05:00
fe69f57345 conveniently disable error catching to keep callstacks 2025-05-06 15:24:13 -05:00
dcf6bb63d8 Fix how fatal errors are recorded 2025-03-30 11:51:15 -05:00
7cce42ce12 Scenario editor can launch unpacked scenario 2025-03-30 11:51:09 -05:00
fc36dcfd55 another --scenario startup case where repositioning not needed 2025-03-30 11:51:09 -05:00
1ebdb9612c game feature flags match scenedit feature flags 2025-03-30 11:51:08 -05:00
3beb80d8bc Kill party action: allow target single, specify death type 2025-03-19 19:31:24 -05:00
6f3e61899e Debug action: apply status effect 2025-03-19 19:31:22 -05:00
30ed4a11b6 debug action: hurt party members 2025-03-19 19:31:21 -05:00
221c640211 old replays map startup buttons properly 2025-03-19 19:31:19 -05:00
cf33980fec don't call town entrance special node when debug warping 2025-03-19 19:31:18 -05:00
6f14c01487 skip more for file load preview 2025-03-16 14:03:53 -04:00
ea7c17d65e Move function to the file associated with the header that declares it.
outd_move_to_first_town_entrance probably should have been in actions anyway.
2025-03-08 20:43:39 -05:00
b7a647c489 record and replay fake fancy file picker 2025-03-07 08:43:18 -05:00
2396637d23 Implement file picker load/save normal 2025-03-07 08:43:09 -05:00
4ebb8e890c Make target-lock a feature flag 2025-03-06 21:35:48 -05:00
14c36ed5a8 Debug action: crash the game 2025-03-06 21:24:07 -05:00
4cc6d7efb9 On catching fatal error, prompt to save the log and report 2025-03-06 21:24:07 -05:00
Nathan R
598fd4836a Fixed up: Move file-static RenderWindow and RenderTexture instances inside functions to fix GL race condition on startup (#682) 2025-03-06 19:40:40 -05:00
9b05c23d15 Rework parentage and naming of dialog controls.
All controls now store a reference to their direct parent,
whether it be the dialog itself or a container control.

Every dialog control now has a guaranteed parent, which abstracts away
the three possible types of parents (dialog, container, and plain window).

The control name is now stored in the control from the moment it is parsed from the XML.
This means that it's set before the parseContent function, though after parseAttribute.
2025-03-02 19:13:01 -05:00
92f698cc57 Debug actions to quick-launch core scenarios 2025-03-02 01:15:53 -05:00
068e87ea39 Debug enter town: Move outdoor location. Fix #664 2025-03-02 01:15:53 -05:00
8973618dff Wait action: always print to buffer when can't 2025-03-02 01:13:30 -05:00
91f28d3c9d Fix menubar alchemy clicking 'Ask About' in talk mode 2025-03-02 01:13:30 -05:00
bbddbefa99 Debug action: clear trapped souls 2025-02-27 08:55:56 -05:00
c7ec0e3a85 Debug action: fill active PC's inventory 2025-02-23 19:19:42 -05: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
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
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
ec06ca4be3 Don't handle arrow keys specially in some modes. Fix #588 2025-02-18 09:37:56 -05:00
8cff2428a9 DRY advanced town help. Fix #611 2025-02-16 00:02:22 -05:00
7383b39e69 Debug action: Preview every dialog layout 2025-02-15 16:04:32 -05:00
46c102257b make give_help()'s force_help a bool arg 2025-02-15 11:19:44 -05:00
18a425be0d cPlayer give_help use bool flag instead of function pointer 2025-02-15 11:19:44 -05:00