Files
0ad/source/tools/entity
Stanislas Daniel Claude Dolcini 806225a5d4 Track default music tracks from music.js and cheats
checkrefs.py only traced music files referenced in civ JSON Music[]
arrays. Two additional sources were missed:

- gui/common/music.js DEFAULT_*_TRACKS prototype arrays define fallback
  playlists used when a civ has no music entries. All .ogg filenames
  found in that file are now added as deps of the music.js root.
- simulation/data/cheats/*.json files can reference audio files via
  Data.DefaultParameter (e.g. retroMe.json -> 0_8Bit_Bonus_Track.ogg).
  These are now tracked as deps of each cheat root.

Fixes 10 false-positive unused-file warnings.
2026-10-03 22:54:15 +02:00
..
2024-08-27 10:06:31 +02:00

Checkrefs.py

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

  • Python 3.6+ interpreter installed
  • lxml for the -a option.

Usage

  • cd in source/tools/entity and run the script.
usage: checkrefs.py [-h] [-u] [-x] [-a] [-t] [-m MOD [MOD ...]]

Checks the game files for missing dependencies, unused files, and for file integrity.

options:
  -h, --help            show this help message and exit
  -u, --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.
  -x, --check-map-xml   check maps for missing actor and templates.
  -a, --validate-actors
                        run the validator.py script to check if the actors files have extra or
                        missing textures.
  -t, --validate-templates
                        run the validator.py script to check if the xml files match their (.rng)
                        grammar file.
  -m MOD [MOD ...], --mods MOD [MOD ...]
                        specify which mods to check. Default to public.