Re: [Wesnoth-dev] Directory objects -- proposed change in preprocessor behavior

2007-05-15 Thread Eric S. Raymond
[EMAIL PROTECTED] [EMAIL PROTECTED]:
 why is core stuff inside the campaigns folder?

Because, in this draft of the reorganization, the 'campaigns'
folder really becomes a 'packages' folder with the name
'campaigns' kept for backwards compatibility.

Layout reproduced for reference:

 wesnoth
data
  campaigns
core
  images
  sounds
  music
Descent_Into_Darkness
  images
 :
Under_The_Burning_Suns
  images

With the name change, it would look like this:

wesnoth
   data
 packages
   core
 images
 sounds
 music
   Descent_Into_Darkness
 images
:
   Under_The_Burning_Suns
 images

I'm not sure yet, but I think it may make sense for multiplayer
to become a package too.
-- 
a href=http://www.catb.org/~esr/;Eric S. Raymond/a

___
Wesnoth-dev mailing list
Wesnoth-dev@gna.org
https://mail.gna.org/listinfo/wesnoth-dev


Re: [Wesnoth-dev] Directory objects -- proposed change in preprocessor behavior

2007-05-14 Thread Eric S. Raymond
Bruno Wolff III [EMAIL PROTECTED]:
  Personally I think it would make sense to require each campaign to
  be completely self-contained.  A more complex alternative would be
  to designate some content (as opposed to campaigns) as core.
 
 I would think the core is anything in data except for data/campaigns.

That's how I view the matter.

Actually, I want to move towards 'core' content being structured
*exactly the same way* that campaigns now are.  This implies some fairly
radical (though not player-visible) changes.  Notably, we'd have to move from 
a directory structure like this:

wesnoth
   images
   sounds
   music
   data
 campaigns
   Descent_Into_Darkness
 images
:
   Under_The_Burning_Suns
 images

to one like this:

wesnoth
   data
 campaigns
   core
 images
 sounds
 music
   Descent_Into_Darkness
 images
:
   Under_The_Burning_Suns
 images
-- 
a href=http://www.catb.org/~esr/;Eric S. Raymond/a

___
Wesnoth-dev mailing list
Wesnoth-dev@gna.org
https://mail.gna.org/listinfo/wesnoth-dev


Re: [Wesnoth-dev] Directory objects -- proposed change in preprocessor behavior

2007-05-12 Thread ott
Bruno Wolff III,

On Fri, May 11, 2007 at 01:36:21PM -0500, you wrote:
 If references were only allowed within
 a campaign or to main line stuff and not cross campaign, we could make sure
 that removing a campaign will not break another campaign because of
 dependencies. This could enforce the rule that you are supposed to copy
 non main line objects rather than make references to them.

This seems to contradict the stated aim that campaigns will be
included and excluded using more relaxed criteria.  Either mainline is
semi-permanent and can be referenced by campaigns, or it is transient
and should not be referenced by campaigns.  Which is it?

Personally I think it would make sense to require each campaign to
be completely self-contained.  A more complex alternative would be
to designate some content (as opposed to campaigns) as core.

-- [EMAIL PROTECTED]

___
Wesnoth-dev mailing list
Wesnoth-dev@gna.org
https://mail.gna.org/listinfo/wesnoth-dev


Re: [Wesnoth-dev] Directory objects -- proposed change in preprocessor behavior

2007-05-12 Thread Bruno Wolff III
On Sat, May 12, 2007 at 12:23:54 +0200,
  ott [EMAIL PROTECTED] wrote:
 Bruno Wolff III,
 
 On Fri, May 11, 2007 at 01:36:21PM -0500, you wrote:
  If references were only allowed within
  a campaign or to main line stuff and not cross campaign, we could make sure
  that removing a campaign will not break another campaign because of
  dependencies. This could enforce the rule that you are supposed to copy
  non main line objects rather than make references to them.
 
 This seems to contradict the stated aim that campaigns will be
 included and excluded using more relaxed criteria.  Either mainline is
 semi-permanent and can be referenced by campaigns, or it is transient
 and should not be referenced by campaigns.  Which is it?

I think we are using 'mainline' differently. I meant it to mean config files
in data but not in data/campaigns. You might have thought I meant it to
be the same as httt.

 Personally I think it would make sense to require each campaign to
 be completely self-contained.  A more complex alternative would be
 to designate some content (as opposed to campaigns) as core.

I would think the core is anything in data except for data/campaigns.

___
Wesnoth-dev mailing list
Wesnoth-dev@gna.org
https://mail.gna.org/listinfo/wesnoth-dev


Re: [Wesnoth-dev] Directory objects -- proposed change in preprocessor behavior

2007-05-11 Thread John McNabb
Sounds reasonable to me.

On 5/11/07, Eric S. Raymond [EMAIL PROTECTED] wrote:
 Some of you know that, with encouragement from other devs, I'm doing a
 cleanup and reorganization of the Wesnoth directory layout.  The immediate
 motivation is to make correct behavior easier for tools like wmlscope
 and wmllint, but there are long-standing issues about our data layout
 beneath these symptoms.

 After staring at the layout for a while, I think one source of
 grubbiness is that we've used directories to create a sort of
 half-baked package structure without making them package objects.
 The way capaigns are laid out is representative; for a campaign
 named Battle of Foobar there will be a Battle_of_Foobar.cfg
 and a Battle_of_Foobar directory, with the directory sort of
 accidentally a package by virtue of {}-inclusions in the .cfg.

 I have a proposal for a small extension of preprocessor behavior to
 make things cleaner.

 New rule: When a directory reference like {foodir/} resolves
 to a directory containing a file named %main.cfg, it is treated
 as though the reference had been {foodir/%main.cfg}.

 With this rule, Battle_of_Foobar.cfg can move to Battle_of_Foobar/%main.cfg.
 The directory Battle_of_Foobar becomes a self-contained package.  Including
 it processes %main.cfg and whatever files %main.cfg chooses to include.
 --
 esr

 ___
 Wesnoth-dev mailing list
 Wesnoth-dev@gna.org
 https://mail.gna.org/listinfo/wesnoth-dev



-- 
---
In theory, theory and practice are the same,
 but in practice they're different.
---
John W. C. McNabb
---

___
Wesnoth-dev mailing list
Wesnoth-dev@gna.org
https://mail.gna.org/listinfo/wesnoth-dev


Re: [Wesnoth-dev] Directory objects -- proposed change in preprocessor behavior

2007-05-11 Thread jeremy rosen
yes, this sounds good


Eric, you might want to discuss your project specifically with the
guys from Spacenoth/SoS since they try to redo the whole directory
structure and might be interested to provide their input in such a
project...

On 5/11/07, John McNabb [EMAIL PROTECTED] wrote:
 Sounds reasonable to me.

 On 5/11/07, Eric S. Raymond [EMAIL PROTECTED] wrote:
  Some of you know that, with encouragement from other devs, I'm doing a
  cleanup and reorganization of the Wesnoth directory layout.  The immediate
  motivation is to make correct behavior easier for tools like wmlscope
  and wmllint, but there are long-standing issues about our data layout
  beneath these symptoms.
 
  After staring at the layout for a while, I think one source of
  grubbiness is that we've used directories to create a sort of
  half-baked package structure without making them package objects.
  The way capaigns are laid out is representative; for a campaign
  named Battle of Foobar there will be a Battle_of_Foobar.cfg
  and a Battle_of_Foobar directory, with the directory sort of
  accidentally a package by virtue of {}-inclusions in the .cfg.
 
  I have a proposal for a small extension of preprocessor behavior to
  make things cleaner.
 
  New rule: When a directory reference like {foodir/} resolves
  to a directory containing a file named %main.cfg, it is treated
  as though the reference had been {foodir/%main.cfg}.
 
  With this rule, Battle_of_Foobar.cfg can move to Battle_of_Foobar/%main.cfg.
  The directory Battle_of_Foobar becomes a self-contained package.  Including
  it processes %main.cfg and whatever files %main.cfg chooses to include.
  --
  esr
 
  ___
  Wesnoth-dev mailing list
  Wesnoth-dev@gna.org
  https://mail.gna.org/listinfo/wesnoth-dev
 


 --
 ---
 In theory, theory and practice are the same,
  but in practice they're different.
 ---
 John W. C. McNabb
 ---

 ___
 Wesnoth-dev mailing list
 Wesnoth-dev@gna.org
 https://mail.gna.org/listinfo/wesnoth-dev


___
Wesnoth-dev mailing list
Wesnoth-dev@gna.org
https://mail.gna.org/listinfo/wesnoth-dev


Re: [Wesnoth-dev] Directory objects -- proposed change in preprocessor behavior

2007-05-11 Thread Bruno Wolff III
I have thought of something else that might be nice to do after each
campaign is in its own directory. If references were only allowed within
a campaign or to main line stuff and not cross campaign, we could make sure
that removing a campaign will not break another campaign because of
dependencies. This could enforce the rule that you are supposed to copy
non main line objects rather than make references to them.

___
Wesnoth-dev mailing list
Wesnoth-dev@gna.org
https://mail.gna.org/listinfo/wesnoth-dev


Re: [Wesnoth-dev] Directory objects -- proposed change in preprocessor behavior

2007-05-11 Thread Nils Kneuper
Bruno Wolff III schrieb:
 I have thought of something else that might be nice to do after each
 campaign is in its own directory. If references were only allowed within
 a campaign or to main line stuff and not cross campaign, we could make sure
 that removing a campaign will not break another campaign because of
 dependencies. This could enforce the rule that you are supposed to copy
 non main line objects rather than make references to them.
   
Ehm, we are already using this policy. It will be enforced for all new 
content to add mainline and it is eg needed for the split debian 
packages. So in this matter it does not make a real difference, since we 
already do handle things this way.
Btw, I do completely agree to restructuring things. One short proposal 
to work together with the soon to come campaign server changes:
Devide data in some groups like campaigns_singleplayer and multiplayer 
where under multiplayer all the factions stuff, mp maps/scenarios and 
(once they come) mp campaigns reside. The same structure should be used 
inside the userdata dir to make it in the end easier to see what the 
installed content is. So a new faction (with all needed for it) would go 
to userdata/multiplayer/factions/newfaction, where a normal campaign 
would do to userdata/campaign_singleplayer/newcampaign and so on.
I think some structure like this would help users that only want to get 
rid of the mp content but keep the usercampaigns and makes it easier to 
see what which UMC is meant to be.
Cheers,
Nils Kneuper aka Ivanovic

___
Wesnoth-dev mailing list
Wesnoth-dev@gna.org
https://mail.gna.org/listinfo/wesnoth-dev


Re: [Wesnoth-dev] Directory objects -- proposed change in preprocessor behavior

2007-05-11 Thread Bruno Wolff III
On Fri, May 11, 2007 at 21:14:36 +0200,
  Nils Kneuper [EMAIL PROTECTED] wrote:
 Bruno Wolff III schrieb:
  I have thought of something else that might be nice to do after each
  campaign is in its own directory. If references were only allowed within
  a campaign or to main line stuff and not cross campaign, we could make sure
  that removing a campaign will not break another campaign because of
  dependencies. This could enforce the rule that you are supposed to copy
  non main line objects rather than make references to them.

 Ehm, we are already using this policy. It will be enforced for all new 
 content to add mainline and it is eg needed for the split debian 
 packages. So in this matter it does not make a real difference, since we 
 already do handle things this way.

I knew we had a policy of that is how things are supposed to work. What I
was suggesting was that this policy be enforced in code. It might be that
there is a relatively new feature doing this. I know Eric has been doing
all sorts of clean up checks and of his tools may catch campaigns that do
this when they are run, but that isn't the same as having wesnoth do it.

Having the check in wesnoth will let campaign developers notice the problem
before they try to submit their campaign (or changes to an existing campaign).

___
Wesnoth-dev mailing list
Wesnoth-dev@gna.org
https://mail.gna.org/listinfo/wesnoth-dev