Commit Graph

2143 Commits

Author SHA1 Message Date
2492610ec7 Reading and writing saved games now uses the new tagfile system.
This should avoid any format inconsistencies, like missing newlines and the like.
Although a basic save and load works, there may still be some issues with the format.
This probably renders older saved games incompatible.
The format is mostly the same, but there are a few small changes
in the name of making the format more uniform.
2023-01-18 00:54:39 -05:00
99bd1678e4 tagfile: Support mapped containers, similar to a sparse array
Note: This now treats vector<pair> as a mapped container as well – an ordered multimap, so to speak
2023-01-18 00:54:39 -05:00
50d611e319 tagfile: Support vector2d, both sparse and dense 2023-01-18 00:54:39 -05:00
9aa0262247 vector2d: row/col assignment (+test), default value in resize 2023-01-18 00:54:39 -05:00
50bd1e9c6e tagfile: A few more tests; support sparse arrays 2023-01-18 00:54:39 -05:00
d3ed054bbb tagfile: Support hexadecimal integer tags 2023-01-18 00:54:39 -05:00
e5b347c70f tagfile: A few more tests; fix tuple handling 2023-01-18 00:54:39 -05:00
40db245011 maybe_quote_string now quotes the empty string 2023-01-18 00:54:39 -05:00
657df9ea8d Rework the tagfile library
After further experimentation, the previous template-heavy design
turned out to cause issues with compilation.

Thus, it has now been replaced with a simpler, dumber implementation
that pushes more of the logic into the caller.
2023-01-18 00:54:39 -05:00
1ee72df836 Add the new files to the Xcode 4 project 2023-01-18 00:54:39 -05:00
492e4b0cf9 Add 10 scenario timers to editor in a stack 2023-01-14 01:26:49 -05:00
91140aa6d4 cDialog handle text fields in containers 2023-01-14 01:26:49 -05:00
1996985b50 include cstddef to compile on linux (#310) 2023-01-14 01:17:18 -05:00
6729983892 Fix glowing crystal soul artifacts and add a leather helm graphic
Contributed by @clort81 and closes #262

[ci skip]
2023-01-14 00:11:58 -05:00
248ac94bf9 Fix arrow keys
Still part of #291
2023-01-13 19:59:30 -05:00
e0418c685a Track modifier state in the main loops
Really fixes #291
2023-01-13 19:55:24 -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
7055d5eba4 Don't crash when canceling scenario import pick (#308) 2023-01-13 19:23:28 -05:00
2d6a5cae5e Use events instead of isKeyPressed for the interrupt key
Also related to #291
2023-01-12 21:52:02 -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
8872f1aa25 Stop storing players as bare pointers - use unique_ptr instead
Should fix some potential memory leaks that were caught by static analysis
2023-01-12 21:26:08 -05:00
1a82f8ff8b Fix a memory leak found by static analysis 2023-01-12 20:24:39 -05:00
e212e99794 Fix buffer overrun if apply/removeShift is called with an unknown character 2023-01-12 20:24:35 -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
36cd2997d3 Update PC editor documentation
It still referenced shareware and the item menus.

[ci skip]
2023-01-08 18:09:20 -05:00
e8aa19c633 Update README.md
I think that description must have been an error in editing the readme before...

[ci skip]
2023-01-08 17:34:58 -05:00
ac5cbe3a60 Test case for dialog XMLs in-engine 2023-01-08 17:25:33 -05:00
6471604fd9 A few readme revisions 2023-01-07 16:13:30 -05:00
ac239d3418 build.sh no longer exists 2023-01-07 16:08:47 -05:00
fa0db8b16b Update notes about compatibility 2023-01-07 15:49:09 -05:00
6319d46d67 Fix compilation on Xcode 4
- Add new files to project
- Xcode 4 doesn't support inheriting constructors
2023-01-07 14:27:02 -05:00
71f9dd0043 TagFile refinements
- Use a custom prefix system for tagfiles - f for a file, p for a page, t for a tag
- Add a hex tag that reads and writes a number as hex
- Ensure booleans are always read and written as alpha
2023-01-07 13:55:04 -05:00
ALONSO Laurent
26db220f15 special and legacy: check type of monster values in nuke_monsters (to avoid
accidentally all monsters, ...)
2023-01-07 12:37:45 -05:00
729ccfe765 Fix missing include 2023-01-07 12:01:10 -05:00
e3d6a4748e Dialog XML definitions are now loaded thru the resource manager 2023-01-07 11:59:42 -05:00
c3dd886783 Fix LED text colour and correct width attribute validation 2023-01-07 01:23:07 -05:00
c4d7fc6b99 Make dialogs iterable 2023-01-07 01:21:42 -05:00
0714004f1c Fix a few compiler warnings 2023-01-06 22:02:05 -05:00
9a4056019b Xcode 12: Silence warning by updating deployment target 2023-01-06 21:00:44 -05:00
ALONSO Laurent
6b32aa157e boe.specials.cpp[change terrain]: avoid redrawing the minimap n*k times... 2023-01-06 20:49:08 -05:00
Morel Berenger
ce667c596a Allow to only select one file in open... 2023-01-06 20:49:08 -05:00
Morel Berenger
8809af121f Minor fixes to special node edit dialog. 2023-01-06 20:49:08 -05:00
Morel Berenger
4cd2bfd8d1 render_image.cpp: improve gl error messages by adding filename 2023-01-06 20:49:08 -05:00
ALONSO Laurent
ca74661801 button.cpp: try to make tiny buttons work... 2023-01-06 20:49:08 -05:00
ALONSO Laurent
d90f1e95dc special: correct a small mistake which can create a infinite loop... 2023-01-06 20:08:00 -05:00
ALONSO Laurent
6c2bec98b7 draw_monster: draw correctly complex monster... 2023-01-06 20:07:59 -05:00
ALONSO Laurent
fa15177978 save: try to save the magic_ptrs correctly... 2023-01-06 20:04:02 -05:00
ALONSO Laurent
0d0b577c9c roster: try to display the right monster... 2023-01-06 20:04:02 -05:00