# Astonia asset notice and provenance

The curated files under `public/assets/astonia/` come from the Astonia 3 PNG and
sound-effect archives published by Daniel Brockhaus on the official
[Astonia 3 page](https://brockhaus.org/astonia3.html). They are kept separate
from original IdleAstonia artwork and code so their source and terms remain
clear.

Required project credit:

> IdleAstonia is based on the Astonia 3 engine by Daniel Brockhaus.

## Sources

- PNG archive: <https://brockhaus.org/astonia3_pngs.zip>
  - SHA-256: `9eec34248d5664af15077a5a6a2b705c46308884cc052bfad3b9fcba47bfe8a6`
- WAV archive: <https://brockhaus.org/astonia3_sfx.zip>
  - SHA-256: `9284599e7678b085c5ba50f41774547b2f07636b8fa18a332b7b35ccc72ed669`
- Official client reference: <https://github.com/DanielBrockhaus/astonia_client>
- Official Astonia 3 source and current license page:
  <https://brockhaus.org/astonia3.html>

The two downloaded asset archives do not contain their own per-file license or
third-party attribution inventory. This notice therefore records the page from
which the archives are officially distributed; it does not claim that a
standard SPDX license applies to every file.

## License and copyright notice

The official page describes a custom permission: the software is supplied
without warranty and may be used with proper credit and a link to
`brockhaus.org`. It also asks revenue-generating projects to donate 10% of
revenue to charity and asks projects making more than US$100,000 per year from
Astonia to contact Daniel Brockhaus about a commercial license. Read the
[current official terms](https://brockhaus.org/astonia3.html) before release or
commercial use; this summary is not a replacement for them or legal advice.

The official client records:

- Copyright 1997–2000 Daniel Brockhaus and Markus Roeder
- Copyright 2001–2007 Intent Software GmbH & Co. KG
- Copyright 2008–2023 Daniel Brockhaus

Because no asset-level third-party inventory ships in the archives, this
project does not relicense these files or make a blanket representation about
every file's authorship. A production release should preserve this notice,
retain the required visible credit, and independently clear any asset whose
provenance is material to that release.

## Curated scope and transformations

This is an expanded gameplay-first subset, not a mirror of the full PNG
archive:

- 3,174 PNGs: original GUI pieces, starter equipment, potions, orb and orb
  spawner, Cameron ground/foreground/doors, expanded authentic mortal and Arch
  animation families for male and female Warriors, Mages, and Seyans, plus the
  six Earth Demon suit icons, a source-sprite-27 Earth Demon animation slice,
  and the original lollipop used by Rodney's Warped World
- 49 WAVs: every sound published in the official Astonia 3 sound-effect
  archive, including door, combat, spell, ambient, creature, pent, and ancient
  sounds

Four RGB PNGs used pure magenta as a legacy chroma key. For browser use, only
those key pixels were changed to transparent pixels (and their hidden RGB
values cleared):

- `gui/00000994.png`
- `gui/00000998.png`
- `items/00051085.png`
- `items/00051086.png`

All other curated files are byte-for-byte copies of their archive entries.
Source and output hashes, byte sizes, dimensions, Astonia numeric IDs,
categories, and archive paths are recorded in
[`manifest.json`](../assets/astonia/manifest.json).

The Earth Demon item sprites are numeric IDs `53001` through `53006`. The
disguise animation uses Astonia source sprite 27, whose official PNG graphic
base is `127000`. These files are byte-for-byte archive copies; no image
transformation or recoloring is applied to them.

The Rodney's Warped World lollipop is numeric sprite ID `10437`, defined by
`lollipop` in `zones/generic/bonus_items.itm` and awarded by the white sphere.
Its curated PNG is likewise an unmodified, byte-for-byte archive copy.

The player sprites are Astonia's original dynamic color-mask frames. Their
red/green/blue mask regions are intentional and must be mapped through the
client's `c1`/`c2`/`c3` player palette logic to reproduce final in-game
colors. The game performs that conversion at runtime with a browser port of
the original pre-220000 `sdl_colorize_pix` routine and palette values recorded
in the official client's `sprite.c`; it does not replace or silently modify the
archived PNG files.
