Files
claude 132646f6c3
ci / verify (push) Successful in 48s
Rework the UI on Crusenho's pack; credit it in the game, not just the repo
Crusenho's Complete UI Essential Pack is CC BY 4.0 -- redistributable and
commercial-friendly, confirmed from the License.txt the pack itself ships --
so unlike the two bdragon packs a subset is committed: twelve PNGs, 48 KB,
under assets/sprites/ui/. Only what is used, because each committed PNG costs
a Godot .import sidecar and a directory nothing references is one nobody
prunes.

UiTheme builds a Theme in code from it -- button states, panels, line edits --
and every screen roots itself through UiTheme.themed_root(). The HUD's bars are
the pack's frame with a tinted fill, drawn as three horizontal slices because
Godot's nine-patch lives on nodes and the HUD is drawn rather than built from
controls. Inventory slots use the pack's slot art at exactly twice the source
size; a non-integer scale on a 1px border reads as a wobble along every edge.

The credits screen is the other half of the request and it is a licence
obligation, not a nicety: two packs are now CC BY, which asks for attribution
"in any reasonable manner", and a markdown file in a source repo is not
reasonable for someone who downloaded a build. Settings -> Credits shows every
source with its terms and a link to the licence text. test_credits.gd asserts
CREDITS.md and docs/ASSETS.md name every entry, so the three cannot drift.

Two things found by actually looking at the screen, which is the point:

  - The FIRST version of this styled nothing. A Control inherits its theme from
    Control ANCESTORS only, and the chain breaks at the first plain Node or
    CanvasLayer -- which is every screen here. get_window().theme set the
    property, changed nothing, and read as correct. check.sh, 458 tests and a
    clean smoke run all passed with the entire interface unstyled. The theme
    test now instantiates every screen and asks what its buttons resolve.
  - The settings screen showed Fire bound to the right mouse button, because
    the test suite was writing the player's real user://settings.cfg --
    rebinding calls save() and nothing had redirected the path. Settings.path
    is now redirectable, the fixture points it at a scratch file, and a test
    asserts the default is still the player's own.

tools/screenshot.tscn is what found both. It boots the client windowed and
saves the menus, the HUD, settings and credits. Manual, needs a display, and
the only thing in the project that can tell you the interface rendered.

check.sh clean, 460 tests, SMOKE PASS, all four diagnostics green.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 11:12:13 +02:00

2.9 KiB

Credits

Every third-party asset pack used or bundled during development, credited regardless of whether its licence requires it. Some of them do not require it — they are here because the work deserves it.

This file is not the only place credit appears. Two of the packs are CC BY 4.0, which asks for attribution "in any reasonable manner", and a markdown file in a source repository is not reasonable for someone who downloaded a build. The game carries the same list on its own credits screen (Settings → Credits), built from src/core/credits.gd; tests/unit/test_credits.gd asserts the two agree.

In the game

16x16 DungeonTileset II0x72 (Robert Norenberg) Terrain, player, enemies and boss sprites. CC0 1.0 — public domain. Credit not required.

Complete UI Essential PackCrusenho Agus Hennihuno Buttons, panels, bars and inventory slots. Used unmodified; a subset of the pack's individual sprites is committed under assets/sprites/ui/. CC BY 4.0. Credit required by licence.

Pixel Combat SFXHelton Yan All sound effects. Converted to 16-bit / 44.1 kHz mono and trimmed. CC BY 4.0. Credit required by licence.

Fire Pixel Bullet 16x16bdragon1727 Bullet sprites. Custom licence; credit encouraged, not required. Not distributed with this repository — see below.

750+ Effect and FX Pixel Allbdragon1727 Impact effect artwork. Custom licence; credit encouraged, not required. Not distributed with this repository — see below.

Present during development, not used in the game

Kept in the untracked assetpacks/considering_dont_use_yet/ and referenced by nothing. Credited for completeness.

RF Catacombs v1.0 — Szadi art. Public domain per the pack's bundled public-license.txt: free for personal or commercial use, credit appreciated but not required, no reselling of the pack itself.

Tiny RPG Character Asset Pack 02 and neo_zero (v1.0 and 3.0 demo) — creators not recorded in the packs themselves. If either is ever used, record the source and terms here first.

Why two packs are not in this repository

Both bdragon1727 packs forbid redistribution, in every tier:

Free tier: "You cannot do: Resell / redistribute this asset."

Paid tier: "You can NOT re-distribute the file, no matter how much you modify it you can use it but not share or re-sell it."

A public repository distributes what it contains, so those files live in the untracked assets/local/. The game falls back to generated placeholders without them. See docs/ASSETS.md.