On Sat, 12 Feb 2005 19:40:46 +0100, Susanna Björverud wrote: > Hej allesammans, > > 2005-02-12 kl. 19.12 skrev Guillaume Melquiond: > > > More seriously, there is also the whole > > campaign-ifdefing idea that I find quite disturbing. It would be a lot > > better if we hadn't to use it, by design. > > I will not presume to state that I understand all the implications of > the proposed change of model, but there is one thing that worries me: > Currently there are several campaigns that AFAIK redefines units from > the main campaigns, and I am quite certain that far from all of them > specifies new unique id:s for these redefined units. How would this > scheme (without ifdef) handle this?
It would handle this fine. That's the whole point of my dependency scheme. When a campaign is loaded, the associated package and all the required packages are loaded and mounted. It will then work as an union mount: if many files have the same name, the older ones are invisible. The files of depended packages are hidden by the files of dependent packages if they have the same name, otherwise they are visible. And a package on which there is no dependency won't be mounted, and its files will not be visible. For example, Liberty redefines some units of HttT. But the HttT package will never depend directly or indirectly on the Liberty package. So when playing HttT, the files from Liberty won't be mounted in the virtual filesystem and the redefined units won't be available to the game, it's as if they had never been redefined.
