Commit Graph

355 Commits

Author SHA1 Message Date
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
1996985b50 include cstddef to compile on linux (#310) 2023-01-14 01:17:18 -05:00
248ac94bf9 Fix arrow keys
Still part of #291
2023-01-13 19:59:30 -05:00
6e238881ae Fix a vector2d::resize overflow bug
Found by running asan
Should fix the CI failure...?
2023-01-13 19:37:16 -05:00
3bdcf02be0 Handle modifier keys differently to avoid Apple flagging us as wishing to monitor input from other applications
Fixes #291
2023-01-12 21:43:45 -05:00
35a890a577 Add a partial unit test for vector2d and fix several issues with the resize function 2023-01-12 21:26:08 -05:00
e4b1162d46 Make sure lpstrFile is empty on cancel (#305) 2023-01-10 21:42:38 -05:00
dbe5ba0dd6 Linux handle zenity non-zero code. Close #301 2023-01-08 22:22:26 -05:00
Morel Berenger
ce667c596a Allow to only select one file in open... 2023-01-06 20:49:08 -05:00
e2de459bd3 make include paths absolute within src 2023-01-05 09:28:57 -05:00
0da809d76f Fix the tagfile build error 2023-01-05 02:10:20 -05:00
d860422c6d Update to TGUI 0.9.x 2022-12-29 10:18:06 -05:00
5b2561d034 Disable header maps in Xcode 12 2022-07-12 20:35:41 -04:00
d3f6bfe347 Fix compiler warning in vector2d
This is a separate commit in case it needs to be reverted
2022-07-05 09:29:43 -04:00
760a172526 Some style tweaks 2020-02-09 18:24:09 -05:00
deac7b0cb6 Merge pull request #251 from x-qq/fix_scrollbar_segfaults
fix for scrollbar segfaults

* fixes #206
* fixes broken mousewheel scrolling of the scenedit palette
* removed boost threads dependency
* added foundation for further refactoring of the drawing and event handling code: interfaces and drawable manager with layering
* removed a bunch of unneeded redraw calls
* removed some repeated recalculation of effectively constant values (boe.actions)
* removed recalculation of effectively constant scrollbar and button positions (boe.graphics)

Closes #251
2020-02-09 15:55:51 -05:00
f9f4d5671c Factor out the framerate limiter into a class
Patch from @x-qq
2020-02-01 21:03:56 -05:00
2d1ee24473 Fix scons and Linux builds 2020-01-26 13:33:02 -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
fa25beae6d Apparently referencing the superclass by unqualified name is not allowed 2020-01-12 12:33:58 -05:00
e42baa0971 This should fix some ambiguities in the enum_map 2020-01-12 12:21:18 -05:00
409fe41030 Ignore numpad keys for keyToChar conversion 2020-01-12 10:58:33 -05:00
402f4eae01 Fix saving for double preferences (UIScale) on Windows/Linux 2019-12-29 13:19:42 -05:00
1bd23ace69 Better detection of doubles in Windows/Linux preferences 2019-12-29 12:48:10 -05:00
4f785e2650 Use enums for most of the rest of the game constants.
This adds an "enum map" type that allows safe usage of an enum to index an array.
(That is, it enforces that the index is of the enum type.)
2019-11-24 20:28:52 -05:00
Michael D. Reiley
5a142a656a Fix save filename newline bug on Linux 2018-03-23 17:39:13 -07:00
ed402040c9 Fix the fix for Mac 2018-03-03 18:19:18 -05:00
ee0bfa835a Fix merge errors 2018-03-03 18:05:05 -05:00
9073063423 Merge branch 'merge_linux' of https://github.com/murlock/cboe 2018-03-03 17:52:59 -05:00
8759aad90a Move Xcode project to a separate tree parallel to src 2018-02-19 02:11:29 -05:00
Michael Bonfils
12c3ce26f8 Fix compilation of linux 2018-02-10 17:08:33 +01:00
Michael Bonfils
d940f2c39d Merge branch 'linux' into merge_linux 2018-02-08 20:36:46 +01:00
3582a055e2 Fix Windows build 2017-09-04 23:32:50 -04:00
beadb49217 Fix scons build
Tested on Mac only, but probably also works on Windows/Linux
2017-09-04 20:45:45 -04:00
3828b03645 Implement UI scaling option
There are still a few minor visual glitches, but it works pretty well
2017-09-04 15:27:00 -04:00
C.W. Betts
3c57e51d47 OS X: Use fileSystemRepresentation when using low-level file paths:
This should cause less breakage on APFS.
2017-08-31 21:52:59 -04:00
C.W. Betts
1b210d4358 OS X: Fix a few memory leaks. 2017-08-31 21:50:48 -04:00
8b727a4ba5 Merge pull request #58 from MaddTheSane/ostypeOpen 2017-08-30 00:16:35 -04:00