Hello For years, it's been a bit confusing for users and User-Made Content authors when they are told to do something with the add-ons directory, currently <preferences dir>/data/campaigns, and the task in question is not related to a real campaign. In the official forums and IRC channels, it's been suggested every now and then that this directory should be renamed to something that better reflects its actual purpose: holding not only single-player campaigns, but also MP map packs, eras, scenarios and campaigns.
I think it would be nice to introduce another early-enough change in the next
development series (1.7.x) to this long tradition of non-intuitive naming
schemata in Wesnoth. In 1.5.x/1.6, some devs did a pretty good job with doing
something similar to the WML (remember unit.user_description?), although
getting to complete that project was a lot difficult since the bad names were
used in just so many places.
For this idea, all that needs to be changed in the game's source code is a few
lines in src/filesystem.cpp and a code comment in src/addon_checks.hpp. The
good part is that users are expected to "start fresh" for playing 1.7.x
anyway, and it is not necessary to worry about supporting the old
data/campaigns now, from my point of view. It may be a good idea nonetheless
to issue a deprecation message (or similar) if Wesnoth finds a data/campaigns
directory on startup.
However, I'm not sure about how this could possibly affect other scripts in
mainline that assume <pref>/data/campaigns exist. What other scripts need to
know of such a change? What are the relevant lines that would need to be
fixed? At least the wmltest, wmlunits and the wmlparser.py component seem to
make reference to it. I'm guessing wmllint, wmlscope and their Makefile
triggers also have something to do with the directory.
In general: what is your opinion about this? Can we do it once for all? Any
objections? I think someone mentioned to me before on IRC that the resultant
naming scheme difference between mainline (/data/multiplayer,/data/campaigns)
and user-made content (/data/add-ons) would be a bit confusing; I don't see
it like this because mainline content, packaged separately as Debian
GNU/Linux does or not, is not of the "(user-made) add-on" class by any means,
since it is still part of the official source distribution and the SVN tree,
maintained by the same people who make the core of the game.
While we are at it, we could also get rid of the C++ code that creates the
directories /data/multiplayer, /data/ais, and /data/units in the preferences
dir; I cannot find any WML preprocessor or parser reference to those
directories or their contents in the C++ or core WML, except for the usage of
the preprocessor inclusion {~units} in /data/core/units.cfg. All this stuff
seems to have been added at some point for quick and dirty testing/sandboxing
of add-on content, but at the moment none of them really make sense to me,
except for {~units} (which would still be pretty much useless out of
data/campaigns unless the unit WML being tested does not involve new
graphics, etc.).
--
Regards
Ignacio R. Morelle <shadowmaster>
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Wesnoth-dev mailing list [email protected] https://mail.gna.org/listinfo/wesnoth-dev
