diff --git a/data/tutorial/images/portraits/delfador.png b/data/campaigns/tutorial/images/portraits/delfador.png similarity index 100% rename from data/tutorial/images/portraits/delfador.png rename to data/campaigns/tutorial/images/portraits/delfador.png diff --git a/data/tutorial/images/portraits/konrad.png b/data/campaigns/tutorial/images/portraits/konrad.png similarity index 100% rename from data/tutorial/images/portraits/konrad.png rename to data/campaigns/tutorial/images/portraits/konrad.png diff --git a/data/tutorial/images/portraits/lisar.png b/data/campaigns/tutorial/images/portraits/lisar.png similarity index 100% rename from data/tutorial/images/portraits/lisar.png rename to data/campaigns/tutorial/images/portraits/lisar.png diff --git a/data/tutorial/images/units/elder-mage-defend.png b/data/campaigns/tutorial/images/units/elder-mage-defend.png similarity index 100% rename from data/tutorial/images/units/elder-mage-defend.png rename to data/campaigns/tutorial/images/units/elder-mage-defend.png diff --git a/data/tutorial/images/units/elder-mage-melee1.png b/data/campaigns/tutorial/images/units/elder-mage-melee1.png similarity index 100% rename from data/tutorial/images/units/elder-mage-melee1.png rename to data/campaigns/tutorial/images/units/elder-mage-melee1.png diff --git a/data/tutorial/images/units/elder-mage-melee2.png b/data/campaigns/tutorial/images/units/elder-mage-melee2.png similarity index 100% rename from data/tutorial/images/units/elder-mage-melee2.png rename to data/campaigns/tutorial/images/units/elder-mage-melee2.png diff --git a/data/tutorial/images/units/elder-mage-ranged1.png b/data/campaigns/tutorial/images/units/elder-mage-ranged1.png similarity index 100% rename from data/tutorial/images/units/elder-mage-ranged1.png rename to data/campaigns/tutorial/images/units/elder-mage-ranged1.png diff --git a/data/tutorial/images/units/elder-mage-ranged2.png b/data/campaigns/tutorial/images/units/elder-mage-ranged2.png similarity index 100% rename from data/tutorial/images/units/elder-mage-ranged2.png rename to data/campaigns/tutorial/images/units/elder-mage-ranged2.png diff --git a/data/tutorial/images/units/elder-mage-ranged3.png b/data/campaigns/tutorial/images/units/elder-mage-ranged3.png similarity index 100% rename from data/tutorial/images/units/elder-mage-ranged3.png rename to data/campaigns/tutorial/images/units/elder-mage-ranged3.png diff --git a/data/tutorial/images/units/elder-mage.png b/data/campaigns/tutorial/images/units/elder-mage.png similarity index 100% rename from data/tutorial/images/units/elder-mage.png rename to data/campaigns/tutorial/images/units/elder-mage.png diff --git a/data/tutorial/images/units/human-princess-attack-1.png b/data/campaigns/tutorial/images/units/human-princess-attack-1.png similarity index 100% rename from data/tutorial/images/units/human-princess-attack-1.png rename to data/campaigns/tutorial/images/units/human-princess-attack-1.png diff --git a/data/tutorial/images/units/human-princess-attack-2.png b/data/campaigns/tutorial/images/units/human-princess-attack-2.png similarity index 100% rename from data/tutorial/images/units/human-princess-attack-2.png rename to data/campaigns/tutorial/images/units/human-princess-attack-2.png diff --git a/data/tutorial/images/units/human-princess-attack-3.png b/data/campaigns/tutorial/images/units/human-princess-attack-3.png similarity index 100% rename from data/tutorial/images/units/human-princess-attack-3.png rename to data/campaigns/tutorial/images/units/human-princess-attack-3.png diff --git a/data/tutorial/images/units/human-princess-attack-4.png b/data/campaigns/tutorial/images/units/human-princess-attack-4.png similarity index 100% rename from data/tutorial/images/units/human-princess-attack-4.png rename to data/campaigns/tutorial/images/units/human-princess-attack-4.png diff --git a/data/tutorial/images/units/human-princess-defend.png b/data/campaigns/tutorial/images/units/human-princess-defend.png similarity index 100% rename from data/tutorial/images/units/human-princess-defend.png rename to data/campaigns/tutorial/images/units/human-princess-defend.png diff --git a/data/tutorial/images/units/human-princess.png b/data/campaigns/tutorial/images/units/human-princess.png similarity index 100% rename from data/tutorial/images/units/human-princess.png rename to data/campaigns/tutorial/images/units/human-princess.png diff --git a/data/tutorial/images/units/konrad-fighter-attack-1.png b/data/campaigns/tutorial/images/units/konrad-fighter-attack-1.png similarity index 100% rename from data/tutorial/images/units/konrad-fighter-attack-1.png rename to data/campaigns/tutorial/images/units/konrad-fighter-attack-1.png diff --git a/data/tutorial/images/units/konrad-fighter-attack-2.png b/data/campaigns/tutorial/images/units/konrad-fighter-attack-2.png similarity index 100% rename from data/tutorial/images/units/konrad-fighter-attack-2.png rename to data/campaigns/tutorial/images/units/konrad-fighter-attack-2.png diff --git a/data/tutorial/images/units/konrad-fighter-defend.png b/data/campaigns/tutorial/images/units/konrad-fighter-defend.png similarity index 100% rename from data/tutorial/images/units/konrad-fighter-defend.png rename to data/campaigns/tutorial/images/units/konrad-fighter-defend.png diff --git a/data/tutorial/images/units/konrad-fighter.png b/data/campaigns/tutorial/images/units/konrad-fighter.png similarity index 100% rename from data/tutorial/images/units/konrad-fighter.png rename to data/campaigns/tutorial/images/units/konrad-fighter.png diff --git a/data/tutorial/images/units/quintain-attack1.png b/data/campaigns/tutorial/images/units/quintain-attack1.png similarity index 100% rename from data/tutorial/images/units/quintain-attack1.png rename to data/campaigns/tutorial/images/units/quintain-attack1.png diff --git a/data/tutorial/images/units/quintain-attack2.png b/data/campaigns/tutorial/images/units/quintain-attack2.png similarity index 100% rename from data/tutorial/images/units/quintain-attack2.png rename to data/campaigns/tutorial/images/units/quintain-attack2.png diff --git a/data/tutorial/images/units/quintain.png b/data/campaigns/tutorial/images/units/quintain.png similarity index 100% rename from data/tutorial/images/units/quintain.png rename to data/campaigns/tutorial/images/units/quintain.png diff --git a/data/tutorial/maps/2_Tutorial.map b/data/campaigns/tutorial/maps/2_Tutorial.map similarity index 100% rename from data/tutorial/maps/2_Tutorial.map rename to data/campaigns/tutorial/maps/2_Tutorial.map diff --git a/data/tutorial/scenarios/1_Tutorial.cfg b/data/campaigns/tutorial/scenarios/1_Tutorial.cfg similarity index 100% rename from data/tutorial/scenarios/1_Tutorial.cfg rename to data/campaigns/tutorial/scenarios/1_Tutorial.cfg diff --git a/data/tutorial/scenarios/2_Speaking.cfg b/data/campaigns/tutorial/scenarios/2_Speaking.cfg similarity index 100% rename from data/tutorial/scenarios/2_Speaking.cfg rename to data/campaigns/tutorial/scenarios/2_Speaking.cfg diff --git a/data/tutorial/scenarios/2_Tutorial.cfg b/data/campaigns/tutorial/scenarios/2_Tutorial.cfg similarity index 100% rename from data/tutorial/scenarios/2_Tutorial.cfg rename to data/campaigns/tutorial/scenarios/2_Tutorial.cfg diff --git a/data/tutorial/scenarios/utils.cfg b/data/campaigns/tutorial/scenarios/utils.cfg similarity index 100% rename from data/tutorial/scenarios/utils.cfg rename to data/campaigns/tutorial/scenarios/utils.cfg diff --git a/data/tutorial/units/Elder_Mage.cfg b/data/campaigns/tutorial/units/Elder_Mage.cfg similarity index 100% rename from data/tutorial/units/Elder_Mage.cfg rename to data/campaigns/tutorial/units/Elder_Mage.cfg diff --git a/data/tutorial/units/Fighter.cfg b/data/campaigns/tutorial/units/Fighter.cfg similarity index 100% rename from data/tutorial/units/Fighter.cfg rename to data/campaigns/tutorial/units/Fighter.cfg diff --git a/data/tutorial/units/Fighteress.cfg b/data/campaigns/tutorial/units/Fighteress.cfg similarity index 100% rename from data/tutorial/units/Fighteress.cfg rename to data/campaigns/tutorial/units/Fighteress.cfg diff --git a/data/tutorial/units/Quintain.cfg b/data/campaigns/tutorial/units/Quintain.cfg similarity index 100% rename from data/tutorial/units/Quintain.cfg rename to data/campaigns/tutorial/units/Quintain.cfg diff --git a/data/tools/wmlmove b/data/tools/wmlmove index b803074badb..72d4f7a4030 100755 --- a/data/tools/wmlmove +++ b/data/tools/wmlmove @@ -95,16 +95,11 @@ if __name__ == "__main__": cref = wmltools.CrossRef(".", exclude="icons/|tutorial/") # Filter reference information on all files referenced in the source .cfgs - for name in cref.fileref.keys(): - for referenced in cref.fileref[name].references: - if os.path.basename(referenced) in map(os.path.basename, srclist): - break - else: - del cref.fileref[name] + srcrefs = cref.subtract(filelist) # List all relevant resources and their other references if listem: - for (name, defloc) in cref.fileref.items(): + for (name, defloc) in srcref.fileref.items(): print "Resource %s is used in %d files:" % \ (defloc, len(defloc.references)) defloc.dump_references() diff --git a/data/tools/wmltools.py b/data/tools/wmltools.py index 811e9207467..91167d36961 100644 --- a/data/tools/wmltools.py +++ b/data/tools/wmltools.py @@ -40,6 +40,7 @@ class Forest: "Are two files from the same tree?" return self.clique[fn1] == self.clique[fn2] def flatten(self): + "Return a flattened list of all files in the forest." allfiles = [] for tree in self.forest: allfiles += tree @@ -131,7 +132,7 @@ class CrossRef: # coloring logic to simulate include path interpretation. # If that logic ever gets built, it will go here. return True - def __init__(self, dirpath, exclude="", warnlevel=0): + def __init__(self, dirpath=[], exclude="", warnlevel=0): "Build cross-reference object from the specified filelist." self.dirpath = dirpath self.filelist = Forest(dirpath, exclude) @@ -198,8 +199,7 @@ class CrossRef: dfp = open(filename) for line in dfp: self.xref[line.strip()] = True - dfp.close() - + dfp.close() # Next, decorate definitions with all references from the filelist. self.unresolved = [] self.missing = [] @@ -262,6 +262,18 @@ class CrossRef: if not key: self.missing.append((name, Reference(fn,n+1))) rfp.close() + def subtract(self, filelist): + "Remove file references in files in filelist." + smallref = CrossRef() + for filename in self.fileref: + for ref in self.fileref[filename]: + if ref.filename in filelist: + if filename not in smallref.fileref: + smallref.fileref[filename] = [] + smallref.fileref[filename].append(ref.filename) + ref.filename = None + self.fileref[filename] = filter(lambda ref: ref.filename, self.fileref[filename]) + return smallref ## Version-control hooks begin here. #