Commit Graph

293 Commits

Author SHA1 Message Date
46f48b94ed compile-guard some git logging for MSBuild 2024-09-15 22:14:53 -04:00
640492a428 record the git repo 2024-09-15 22:14:53 -04:00
d5df0e4e8f record SHA, tag, and git status in action log 2024-09-15 22:14:53 -04:00
6965b822dc Gather all enchantment info into a single place
This also resolves several TODO notes about duplicate code and makes cPresetItem::ability an eEnchant
2024-09-10 22:18:59 -04:00
71a9d11cd0 Gather all alchemy info into a single place 2024-09-10 22:18:59 -04:00
e7a56f08a2 use text for bool representations 2024-09-03 00:08:26 -04:00
4e66edc7e3 prefer lexical_cast over stringstream in record/replay 2024-09-03 00:08:26 -04:00
20bb7e4322 more convenient has_next_action() 2024-09-03 00:08:26 -04:00
36814a7a57 specify include directory for render_shapes.hpp 2024-09-03 00:08:26 -04:00
f5e89a6483 specify include folder for boe.newgraph.hpp 2024-09-03 00:08:26 -04:00
7a5c865779 record and replay dialog choices 2024-09-03 00:08:26 -04:00
e7d5b4ff81 Create an info struct for the eStatus and ePartyStatus enums
This reintroduces the normal speed icon and opens #230
2024-08-28 11:01:09 -04:00
392f43ec89 If we're gonna put this into a unique_ptr we should do it from the beginning.
I'm not sure if sf::Image::create can throw, but if it can, that would have been a leak.
2024-08-24 21:00:26 -04:00
fc52f11931 fix an include for xcode 2024-08-24 20:04:29 -04:00
622ba56b2a Apply suggestions from code review
Co-authored-by: Celtic Minstrel <CelticMinstrel@users.noreply.github.com>
2024-08-24 20:04:29 -04:00
ad9ad3dc3c record and replay text field input 2024-08-24 20:04:29 -04:00
0e87c730c6 Add a replay speed option so that we can watch the replay in action. 2024-08-22 23:21:29 -04:00
61bf8d327e Inserting a timestamp into the filename isn't great for testing, let's make it optional 2024-08-22 23:21:29 -04:00
d74b11aa31 Reform command-line handling to use Clara, which is bundled with Catch 2024-08-22 23:21:29 -04:00
33f7562bfc Use a CDATA section for preferences in replays 2024-08-10 15:47:01 -04:00
104f6d6b0b Address some compiler warnings (Xcode 12)
* Missing prototypes
* Unused function parameters
* Float comparison in preferences
2024-08-10 12:06:11 -04:00
de36bf7536 Fix #327 for windows 2024-08-03 19:27:48 -04:00
1e68d32543 DRY retrieval of some types from replay action 2024-08-03 12:30:08 -04:00
fc083c6fcc make function static 2024-07-31 19:58:19 -04:00
e27165683c cleaner switch declarations 2024-07-31 19:58:19 -04:00
afca0dc85d mac replay preferences 2024-07-31 19:58:19 -04:00
0935b9ce19 allow empty string for action info element 2024-07-31 19:58:19 -04:00
e1bfea8302 mac record preferences 2024-07-31 19:58:19 -04:00
10ad8dc9da throw std::strings 2024-07-28 17:07:33 -04:00
4e1c228161 throw error when checking next_action_type() of null 2024-07-28 17:07:33 -04:00
3c3a105ae4 make pop_next_action() return a reference 2024-07-28 17:07:33 -04:00
6d2e8a807b use nullptr 2024-07-28 17:07:33 -04:00
948bb7b525 pop_next_action() iterate through without actually removing 2024-07-28 17:07:33 -04:00
51986ef981 parse std::map of replay action info elements 2024-07-28 17:07:33 -04:00
b81974d915 allow peeking the type of next replay action 2024-07-28 17:07:33 -04:00
a0be5abc08 allow recording action with multiple parameters 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
542822885c action log has_next_action() 2024-07-28 17:07:33 -04:00
20f762f031 refactor without raw pointers 2024-07-28 17:07:33 -04:00
09640e444a include string and sstream directly 2024-07-28 17:07:33 -04:00
27d35ed7dc don't double-compile ticpp.cpp 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
3f69819c35 don't save preferences when replaying 2024-07-28 17:07:33 -04:00
7ea9810b09 windows and linux record preferences at startup 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
d5ea213edd Update swap functions to recommended ADL-friendly format 2023-01-25 23:09:13 -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
1bf079af5e Fix some missing initializers
Spotted by @fosnola
2023-01-18 21:16:33 -05:00
20102c7f52 vector2d: few more tests 2023-01-18 09:53:19 -05:00
9aa0262247 vector2d: row/col assignment (+test), default value in resize 2023-01-18 00:54:39 -05:00