0ad/source/tools/entity
wraitii d73a3f59ad Allow arbitrary compositions in TemplateLoader template names.
- Allows compositing any two templates in TemplateLoader, and not just
filters: 'A|B|C' is now valid for any template A, B and C.
- Allows parents to be composited paths 'A|B|C'. In such a schema, if A
or B themselves specify a parent, the actual composition becomes
A|pA|B|pB|C and so on.

This allows, by leveraging the common schema of our entities, to reduce
duplication.

For convenience, templates in "special/filters/" and "mixins/" can be
included by their direct name. Others have to be completely specified.

See the two provided cases for examples:
- 'hoplite' becomes a mixin that can be used to apply the Phalanx
formation
- 'builder' becomes a mixin that can be give a template the ability to
build the standard structures, and gives the 'Builder' identity class.
This also allows deduplicating that list of tokens.

Update checkrefs & swap std::map for std::unordered_map in
TemplateLoader.

Differential Revision: https://code.wildfiregames.com/D3801
This was SVN commit r25223.
2021-04-09 15:43:50 +00:00
..
checkrefs.pl Allow arbitrary compositions in TemplateLoader template names. 2021-04-09 15:43:50 +00:00
creationgraph.pl Improve and fix checkrefs.pl, add a readme for usage, add mod support, add command line arguments. 2019-02-24 21:19:20 +00:00
Entity.pm Allow arbitrary compositions in TemplateLoader template names. 2021-04-09 15:43:50 +00:00
entvalidate.pl Improve and fix checkrefs.pl, add a readme for usage, add mod support, add command line arguments. 2019-02-24 21:19:20 +00:00
readme.md Fix lineendings. 2019-07-12 17:40:40 +00:00

Checkrefs.pl

Description

This script checks the game files for missing dependencies, unused files, and for file integrity. If mods are specified, all their dependencies are also checked recursively. This script is particularly useful to detect broken actors or templates.

Requirements

  • Perl interpreter installed
  • Dependencies:
    • XML::Parser
    • XML::Simple
    • Getopt::Long
    • File::Find
    • Data::Dumper
    • JSON

Usage

  • cd in source/tools/entity and run the script.
Usage: perl checkrefs.pl [OPTION]...
Checks the game files for missing dependencies, unused files, and for file integrity.
      --check-unused         check for all the unused files in the given mods and their dependencies. Implies --check-map-xml. Currently yields a lot of false positives.
      --check-map-xml        check maps for missing actor and templates.
      --validate-templates   run the validate.pl script to check if the xml files match their (.rng) grammar file. This currently only works for the public mod.
      --mod-to-check=mods    specify which mods to check. 'mods' should be a list of mods separated by '|'. Default value: 'public|mod'.