This test is added to test modifications of the algorithm. It also adds a
programme to create the test images. And the test images to test whether
the output of the algorithm remains the same after changing the algorithm.
loonycyborg can you add this new programme to scons.
...used for representing add-on dependencies in the source code"
This reverts my own commit 2012-02-29T22:07:01Z!shadowm@wesnoth.org, which is really stupid in hindsight
and should have been in a private branch instead.
...used for representing add-on dependencies in the source code
This struct type is currently unused while some state tracking
functionality is moved around. It will work with the current
campaignd/pbl protocol first until the new syntax is discussed and later
finalized.
This is a very large step and it's most likely not exempt of
regressions, hence I decided to push it as soon as possible so it can
receive more testing before 1.11.0. Please read the full commit message
in SVN to see what changed, instead of just the CIA version.
A changelog entry will be coming eventually, just shortly before 1.11.0
in order to give me time to finalize many other ongoing and pending changes.
Overall changes:
* Moved most of the GUI1-dealing code to manager_ui.?pp, and rewrote
substantial parts of it for better code cohesion.
* The Get Add-ons and Update Add-ons dialog share most of their code, so
they are effectively one and the same now.
* The behavior of the add-ons dependencies resolution code has changed;
broken dependencies (i.e. add-ons not found in the server) are
reported properly, and the base dependant is always downloaded _before_
its dependencies.
* The add-ons menu dialog no longer has the trivial description text
taking up space above the Filter box.
* When only displaying add-ons that can be upgraded, there is now a
Description button as usual, and add-ons with .pbl information or
lacking _info.cfg data are exempt from listing.
* The underpinnings of an add-on status classification (i.e. installed,
installed+outdated, installed+upgradable, broken, not tracked) have
begun to appear, and will be used for improving the add-ons menu and
later implementing more dependency tiers (required, recommended,
conflicts) in both server and client side.
* Some translatable strings were changed along the way.
* Add-ons are now always sorted by their ids (not titles, though)
thanks to the introduction of a parsed add-ons list generated from
the server's WML reply. This should help eliminate upload races
traditionally occuring when an add-ons server instance in wesnoth.org
has been newly started.
* Some codepaths (check_whether_overwrite() and addon_dependencies_met()
in particular) were greatly improved with more proper usage of our
available infrastructure, and the C++ language itself. Furthermore,
checking whether an add-on is already installed is not a costly
operation anymore and it's implemented by a unique function instead
of several algorithms scattered throughout everywhere.
Known problems:
* The GUI2 codepath is entirely orphaned and I'll evaluate later
whether to reconcile it or replace it entirely with a new
experimental GUI2 front-end. This means --new-widgets has no effect
on the Add-ons Manager code anymore, for now.
* The GUI2 Uninstall Add-ons dialog is still in the original code unit
and needs to be moved soon.
* Some code (such as the add-on status tracking code) will be
refactored further later.
* Quite a few TODOs and FIXMEs still exist, or were newly introduced
with this.
* It needs to become about 20% cooler at a minimum before 1.11.0.
* Recursive dependency tree handling may need further testing.
...about add-ons and teach it to read campaignd's WML responses
This will allow me later to get rid of some vectors that are passed
around a lot between the add-on management UI functions.
Additionally, the static format_file_size() function was moved from
addon/manager.cpp to addon/info.* because addon_info no longer stores
the add-on size display string and a GUI2 codepath needs it. I'm not
quite sure what this function's definitive home will be.
This affects the cmake and scons scripts, and various project files in
projectfiles/. I have only tested my changes to scons (and loonycyborg
might still want to review the diff regarding a line in src/SConscript
involving game.cpp).
This code can use several fixed point formats or a double to emulate
floating point code. The code is still work in progress. The intention
is to replace the current fixed point code and use it in more
areas. Hopefully this makes Wesnoth run snappier on devices with slow
floating point hardware, read the Pandora.
By default it uses doubles, so when used in existing code there should
be no differences, between the existing code and the new code.
This tool in intended to make it easier to test SDL image manipulation
functions and thus make it easier to test changes to the algorithms.
loonycyborg please add SCons support.
* Moved a substantial part of the logic to the addons_client class,
which handles lower-level operations like downloading, installing,
publishing and deleting remote add-ons
* addons_client also handles displaying the network status window
* Some translatable strings were rewritten or moved around
Converted old GUI1 starting positions tool menu to GUI2
* Added a column displaying existing starting locations' coordinates to
the player numbers list
* May have made the player number entries easier to translate
* Removed overly long infodump about hotkeys that's already part of the
tooltip on the editor palette anyway.
* Ran into a lot of frustration involving adding or substracting one
from various things like map coordinates and team numbers because the
zero-based C arrays assumption doesn't seem to work here.
Changed assertion to a wml_syntax_exception that provides an error to
user informing them of invalid wml syntax and then continues with the
variable marked as invalid.