Empty version string had been interpreted as the 'zeroth' version instead of the latest, so an additional check was implemented. Also, the 'upper_bound' pointed at the next element after the latest, so it had to be shifted back by one.
Fixed the server crash when data is not specified because the assignation of an invalid value to a config causes an exception. Also, added the missing removelist/addlist tags to update pack file writing and simplified some code.
Added the basic machinery of update packs creation and their lifespan management. Also, fixed the naming of private variables and made invalid_ config actually invalid.
Note: the thing is not finished yet!
Redid campaignd's storage architecture so add-on metadata is stored separate from the server configuration (and not duplicated in the individual full packs).
The update packs has not been implemented yet.
Tested on my pet server.
Currently a push to a branch on the main repository that also has a PR open results in two separate travis builds being run - one for the branch and one for the PR.
This is part-way though a refactor, but I'm not committing myself to completing
it; publishing for the comments and discussion.
This solves PR #5198's compile errors about undefined references, but the
solution here is to expand the templates into the multiple hardcoded copies
block starting with `switch(events_.sdl_button_down_event)`.
This chooses a method that minimizes the need to alter the way log messages are written.
Only a few places that did unusual things with the logger needed to be updated.
Changed experience of Cave Bear to 100 since the Cave Bear is L2 and has no advancements.
Changed experience of Great Icemonax to 100
Changed experience of Giant Stoat to 25 since this unit is L0 and has no advancements.
Give Tusklet the Gorer as advancement since Tusklet (L0) and Gorer (L1) are of the same unit line.
Changed experience of Gorer to 50 since the Gorer is L1 and has no advancements.
Changed experience of Giant Ant to 25 since the Giant Ant is L0 and has no advancements.
I did notice this seemed able to arise after 555d8b667d6f6401fbfe8f8ce01be14c8b2f5ddd and/or 0571fefda3fa93a30f74e17a52f53a43710d4fe5,
but these have never really been issues to worry about.