韦诺之战
Go to file
Ignacio R. Morelle 9137a88b58 Add-ons client: Big refactoring step 3
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.
2012-02-24 06:45:15 +00:00
attic
cmake
data
doc
fonts
graphincludes/project
icons
images
misc/fortunes
packaging
po
projectfiles
resources
scons
sounds
src
utils
website
.gitignore
changelog
CMakeLists.txt
config.h.cmake
COPYING
copyright
Doxyfile
INSTALL
l10n-spec
l10n-track
NaCl-LICENSE
players_changelog
py-compile
README
RELEASE_NOTES
SConstruct
wesnoth.kdevelop

The game's license is described in COPYING.  Note that for artwork and
music, we interpret "preferred form of the work for making modifications" as
the modifiable form that the author chooses to ship us for the source tree.

See INSTALL for instructions on how to build the game from source code.

A (translated) description of how to play the game can be found in 
doc/manual/manual.*.html .

To be notified of new releases, subscribe to this rss feed:
    http://feed43.com/wesnoth.xml
It does list all news from the Wesnoth frontpage, so you will also have some
additional notifications, but at least you should be aware of all releases.

Wesnoth User and Developer Forums (with over 390,000 posts from more
than 16,000 registered members) can be found at
    http://forums.wesnoth.org/

For extensive documentation about all aspects of the game, see the
official Battle for Wesnoth web site:
    http://www.wesnoth.org/

David White <davidnwhite@verizon.net>