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>

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Wesnoth-dev mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-dev

Reply via email to