Changelog

Die letzten Änderungen an "Return to the Roots"
f1be450 s25client 09.09.2020 09:14 Flamefire Merge pull request #1301 from Flamefire/fix_transport_order_window

Fix crash in transport window when nothing is selected
3862f34 s25client 08.09.2020 17:37 Flamefire Introduce WARES_TEX_MAP_OFFSET constant
d79bd48 s25client 08.09.2020 16:19 Flamefire Introduce numButtons based on TransportOrders
f5d86c8 s25client 08.09.2020 16:17 Flamefire Use EnumArray for TransportPriorities
12ef473 s25client 08.09.2020 16:15 Flamefire Add data() member to EnumArray
6fa5676 s25client 08.09.2020 10:58 Flamefire Fix crash in transport window when nothing is selected

Select the first button on creation, fixes #1300
Also some refactoring to unify the arrays
24b51e7 s25client 03.09.2020 18:32 Flamefire Rename StartStopExpedition to StartExpedition to reflect action
f7a3379 s25client 03.09.2020 18:30 Flamefire Replace hard coded expedition costs
309308d s25client 03.09.2020 18:22 Flamefire Refactor iwWares

Extract a function for adding a button/image to avoid the duplication on
the wares and people page making the code almost unreadable
1376667 s25client 03.09.2020 16:26 Flamefire Fix drawing of ship cargo figures

Introduced by #1261 where getting the bob ID was accidentally removed
Fixes #1298
e1c8414 libsiedler2 19.08.2020 17:34 Flamefire Make more use of bfs::path
e38020a s25client 18.08.2020 13:20 Flamefire Add test to reproduce the Ware deserialization failure
da8fdd9 s25client 17.08.2020 20:27 Flamefire Initialize Ware::next_dir

Avoids serializing bogus values
Fixes #1293
59b3cb3 s25client 17.08.2020 09:58 Flamefire Make more use of bfs::path

ExpandPath should return a bfs::path to distinguish it from an unresolved path.
This requires (or is made easier) by changing the API of function taking or returning paths to also use bfs::path
929d4a7 s25edit 17.08.2020 09:58 Flamefire Make more use of bfs::path

Update required from changed RttrConfig
c91ef2f libutil 17.08.2020 09:57 Flamefire Make more use of bfs::path
910465d s25client 16.08.2020 11:57 Flamefire Workaround for print bug in Boost < 1.69
9b7832f libutil 16.08.2020 11:33 Flamefire Enable another Signed/Unsigned operations warning

This seems to catch more cases on MSVC but is undocumented
32cbe27 s25client 15.08.2020 20:42 Flamefire Fix warnings not enabled for some targets
170f53c libutil 15.08.2020 20:41 Flamefire Enable "unreferenced formal parameter" warning
74caf67 s25client 15.08.2020 20:03 Flamefire Make SoundHandle a RAII wrapper around a RawSoundHandle

Previously we returned an allocated struct from the driver which the driver can change (to mark an unloaded sound) but which is deallocated from the exe
This is a problem with e.g. MSVC which may have separate heaps so all instances allocated from a DLL are deleted when the DLL is unloaded. This results in a dangling pointer.

Solution: Return an opaque DriverHandle (void*) from the DLL which is allocated and freed by the driver only. Then wrap this ASAP into a SoundHandle which calls the driver to free it on destruction of the last SoundHandle reference and also calls a register function for the contained pointer to have the driver reset the driverData pointer once the sound is freed to avoid calling into the driver when it is unloaded already.

Fixes #1280
5f3d761 s25client 14.08.2020 08:27 Flamefire Downgrade turtle

Fixes #1287
6d2cd3d s25client 13.08.2020 13:20 Flamefire Update clang-tidy

Remove non-existant s-c submodule reference
Disable readability-identifier-naming (takes the longest but we don't
actually use it)
cd602cb s25client 13.08.2020 13:14 Flamefire Avoid exception escape from destructor of iwMusicPlayer
18df677 s25client 12.08.2020 22:43 Flamefire Add tests for Playlist
e2f3978 s25client 12.08.2020 22:43 Flamefire Add missing iterator include
c984bae s25client 12.08.2020 22:42 Flamefire Remove the unused overwrite option of playlist
9d0dea6 s25client 12.08.2020 10:32 Flamefire Fix Lua SafeEnum and pair conversion
f9c1d9a s25client 11.08.2020 22:17 Flamefire Refactor playlist

Make it a data container and remove the circular reference to iwMusicPlayer
a98715f s25client 11.08.2020 21:59 Flamefire Disable buttons when playlist is readonly
3125196 s25client 11.08.2020 20:09 Flamefire Replace some usages of GD_NOTHING by optional
c1503d7 s25client 11.08.2020 18:51 Flamefire Thoroughly use PushEnum and Pop<Enum> to avoid wrong values when loading/saving

This also fixes #1284 and avoids similar issues.
ba19f6a libsiedler2 11.08.2020 11:16 FloSoft update .ccache dir
bfa0700 libsiedler2 11.08.2020 11:13 FloSoft Update credentials Id
fc7aad8 s25client 10.08.2020 15:22 Flamefire Add button to manually save the playlist
c622b6e s25client 10.08.2020 14:58 Flamefire Save custom playlists in user folder
cd8e78b s25client 10.08.2020 14:54 FloSoft Fix jenkins credentials id
1943c78 s25client 10.08.2020 14:22 Flamefire Fix saving of playlist

Fixes #1281
40750fd s25client 10.08.2020 13:58 Flamefire Refactor iwMusicPlayer and selection to use optional instead of -1

Avoids bugs seen in iwMusicPlayer where the int is assigned to an unsigned short without a check
2fc5ffa s25client 10.08.2020 12:13 Flamefire Require MSVC 2017+

Closes #1282
8737411 libsiedler2 10.08.2020 12:12 Flamefire Test with MSVC 2019
931345c turtle 03.08.2020 07:30 Mathieu Champlon Merge pull request #95 from Flamefire/mock_method_wo_sig

Auto-deduce method sig in MOCK_METHOD_(NON)CONST
08213cd turtle 03.08.2020 07:29 Mathieu Champlon Merge pull request #92 from Flamefire/clean_build_dir

Clean build dir
b153c48 s25client 01.08.2020 22:22 Flamefire Enforce use of Direction enum (& related)

This big refactoring does a huge step in ensuring consistent and correct usage of Directions:
- Use OptionalEnum dedicated types to express correct semantics and represent valid values uniquely
- Use EnumArray, (Enum)Range for typesafe range-based for loops
- Convert between direction types with enforced correctness
f6cd02f libutil 01.08.2020 22:22 Flamefire Add static_asserts to Push/Pop to enforce correctness
f6f0be4 s25client 28.07.2020 20:07 Flamefire Introduce constant CARRY_ID_CARRIER_OFFSET and translate docu
12fb604 s25client 28.07.2020 09:46 Flamefire Fix wrong image used for workers walking with ware

Regression from f3257cfca78d8c9ce589726c7f87ade6a3592276
675969e turtle 27.07.2020 16:02 Flamefire Auto-deduce method sig in MOCK_METHOD_(NON)CONST

Fixes #93
3197e89 s25client 27.07.2020 14:48 Flamefire Merge pull request #1274 from Flamefire/lua_doc

Improve docu and tests, add rttr:FormatNumGFs
7d27ec8 s25client 27.07.2020 11:05 Flamefire Use GetPlayerId instead of mainPlayer.id