Kelsidavis-WoWee/tools/asset_extract
Kelsi 397034a750 feat(extract): incremental --upgrade-extract skips up-to-date sidecars
Compares the source file's mtime against the sidecar's; if the
sidecar is newer, the conversion is skipped and counted into
stats.skipped. Re-running --upgrade-extract on a fully-converted
tree is now nearly free (just an mtime check per file).

  asset_extract --upgrade-extract Data/expansions/wotlk
  Walking ... (first run)
    JSON (DBC→JSON)   : 240 ok
  asset_extract --upgrade-extract Data/expansions/wotlk
  Walking ... (second run, all sidecars up to date)
    up-to-date (skip) : 240
    JSON (DBC→JSON)   : 0 ok

emitOpenFormats() takes a new optional 'incremental' flag (default
false to preserve the asset_extract main-loop's overwrite behavior
since fresh extraction always wants new sidecars).

Verified end-to-end with a hand-built DBC: first run converts,
second run reports 'up-to-date (skip): 1'.
2026-05-06 11:00:20 -07:00
..
extractor.cpp feat(extract): emit WHM+WOT+WOC for ADT terrain tiles 2026-05-06 10:36:14 -07:00
extractor.hpp feat(extract): emit WHM+WOT+WOC for ADT terrain tiles 2026-05-06 10:36:14 -07:00
main.cpp feat(extract): incremental --upgrade-extract skips up-to-date sidecars 2026-05-06 11:00:20 -07:00
manifest_writer.cpp Replace MPQ runtime with loose file asset system 2026-02-12 20:32:14 -08:00
manifest_writer.hpp Replace MPQ runtime with loose file asset system 2026-02-12 20:32:14 -08:00
open_format_emitter.cpp feat(extract): incremental --upgrade-extract skips up-to-date sidecars 2026-05-06 11:00:20 -07:00
open_format_emitter.hpp feat(extract): incremental --upgrade-extract skips up-to-date sidecars 2026-05-06 11:00:20 -07:00
path_mapper.cpp refactor path mapper 2026-04-04 14:34:23 -03:00
path_mapper.hpp refactor path mapper 2026-04-04 14:34:23 -03:00