Track app assets

This commit is contained in:
2026-10-09 02:57:04 +02:00
parent e05d973a8d
commit c1e0bddfff
11 changed files with 13 additions and 15 deletions

View File

@@ -2,8 +2,8 @@
python tools/build_app.py [--art FOLDER] -> dist/UnheardCity/ and dist/UnheardCity-<ver>-<os>.zip|.tar.gz
One command does everything: artwork (app/assets, made from FOLDER - default ~/Downloads/Arkham City - when
missing or older than tools/make_assets.py), PyInstaller bundle, THIRD_PARTY_LICENSES.txt, docs, archive.
One command does everything: artwork (app/assets, committed; remade from ~/Downloads/Arkham City when missing,
or from FOLDER with --art), PyInstaller bundle, THIRD_PARTY_LICENSES.txt, docs, archive.
Requirements: the dev environment (`pip install -e .[app,dev]`). All native libraries come from the pinned
PyPI wheels (Qt, libsndfile with libvorbis/FLAC/opus/mpg123, soxr); no external programs are bundled or
@@ -38,8 +38,7 @@ def main():
assets = os.path.join(ROOT, "app", "assets")
art = sys.argv[sys.argv.index("--art") + 1] if "--art" in sys.argv else None
ico = os.path.join(assets, "app_icon.ico")
stale = not os.path.exists(ico) or os.path.getmtime(ico) < os.path.getmtime(os.path.join(ROOT, "tools", "make_assets.py"))
if art or stale:
if art or not os.path.exists(ico):
import make_assets
src = art or make_assets.DEFAULT_SRC
if os.path.exists(os.path.join(src, "bac_logo_full.png")):

View File

@@ -2,11 +2,11 @@
python tools/make_assets.py ["C:/Users/<you>/Downloads/Arkham City"]
tools/build_app.py runs this by itself when app/assets is missing or older than this script (from the default
folder or --art FOLDER).
tools/build_app.py runs this by itself when app/assets is missing (from the default folder) or with --art FOLDER.
After changing this script, run it by hand and commit the new app/assets.
Input folder: bac_logo_full.png (logo with transparent background) and wallpaper.jpg.
Output (app/assets/, git-ignored because it is Warner Bros. artwork):
Output (app/assets/, committed: public artwork and generated content):
wallpaper.jpg background of the filter panel
app_icon.png 256 px icon: the logo bat in black over a red audio waveform, on a white rounded tile
app_icon.ico Windows icon (16-256 px)

View File

@@ -32,7 +32,7 @@ def main():
app = QApplication([])
with tempfile.TemporaryDirectory() as td:
os.environ["ACKIT_HOME"] = td # do not touch the real settings/notes
# docs show no wallpaper (Warner Bros. artwork stays out of the repository; the app still shows it)
# docs show no wallpaper (the app still shows it)
st = {"full_backup": True, "background_enabled": False}
theme.apply(app)
w = MainWindow(settings=st, runner=Runner(sync=True), game_dir=a.game)