...of all the text files distributed with the game: the various
translations of the MANUAL, the changelog, the license information in
COPYING, the instructions in INSTALL, and the README. Changes
sequences of lines to DOS-style single paragraphs, and attempts to
preserve displayed text and tables. The resulting files should be
ready to be shipped with the Windows package, and for most people
these files will be shown in NotePad when double-clicked.
Run inside the top level source directory to produce a pseudo-diff
highlighting possible unused images. Many image filenames (eg. for
terrains) are actually constructed by the code, so these are not
actually unused.
This is more general than the in-game code in Damage Calculations
since it handles berserk. It computes the joint conditional
probability function of the hitpoints each unit will have at the end
of the skirmish. The algorithm is currently slow: O(r*(n+N)*(h*H))
operations (n and N are number of swings per round, h and H are
hitpoints, and r is 30 if berserk is in effect otherwise 1). Hence,
probably not yet suitable for AI use.
Basically, I made the storyboards not say "Isle of the Damned" until
it reveals that Konrad has been shipwrecked. It's supposed to add to
the suspense. Although, since you are asked to save the game before
you get to the stories, I'm not sure how effective it will be...
...because of the new unit costs for level 2, 3 and 4 (by Elvish
Pillager). I haven't committed the new costs yet, so all of these
scenarios will be, temporarily, slightly unbalanced. These should
definitely not go into the 1.0 branch, since they will be unbalancing
unless the unit costs are also ported over, which they won't be.
I think it would probably better to try to list valid patterns rather than
invalid ones. Something like names can be letters, digits and underlines
(and maybe dashes). For example those matched by the perl pattern:
^[A-Za-z0-9_]+$
...that could be used to overwrite unexpected files when downloaded. This
doesn't protect people downloading campaigns from untrusted servers. That will
be a separate fix.
campaign_name is now set to the campaign_name and name is cleared (in
the event that a bad client were to set its value). The issue is that
the top level is treated as a directory entry, but the clients make a
special check for a null name. So if the name isn't null it is treated
as a directory name.
However there is still a security issue that I will be addressing in a
separate patch coming shortly.
The [dir] and [file] "name" attributes to not appear to be checked on either
upload or download and should really be checked in both places. It looks like
"name" can be checked to make sure it is not null and then use the same
valid filename check that is applied the campaign name.
...since those are only with literal strings to refer to another
domain than the one the file is attached to (typically to refer to
strings already existing in wesnoth-lib) - this is a revert of
2004-09-03T09:36:36Z!ydirson@free.fr. Commit also known as "everyone back to 100%" or so ;)