Reused from games/mario-mix/classic-mix.js, existing 1-1 sprite data and decoder.
Source: umaim/Mario, Source/settings/sprites.js, blob 9566387f26f584b197859aa8e2f0b7e481d1cb79.
Code license does not transfer character/artwork rights. Existing website RIGHTS.md applies; no new asset rights are granted.

MIT License

Copyright (c) 2018 Cloud

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

2026-09-19: source-sprite-data.mjs additionally retains the complete sprite library, palette and filter data from the same fixed upstream commit. Provenance and source hashes: ../reference/SPRITE_SOURCE.json. source-art.mjs decodes data only; no upstream game scripts are executed.

2026-09-19: Castle, Underwater, hurry variants, World Clear and Bowser recordings use the same fixed upstream source. Hashes: ../reference/AUDIO_ADDITIONS.json. Original game audio remains third-party material, not relicensed by this project.

2026-10-04 private Castle audio revision: castle-loop.wav is derived solely from the existing castle.mp3 recording of Nintendo's original Super Mario Bros. Castle BGM. It preserves one measured musical period, with a 10 ms blend between matching repeats of that same recording at the loop seam. Source hash, decoded PCM crop, derivative hash, and objective seam measurements are in assets/classic-audio/AUDIO_LOOP_PROVENANCE.json; build-castle-audio-loop.py reproduces the derivative. Nintendo game audio is included for private study; no new rights or MIT license for this audio are granted. The existing hurry_castle.mp3 recording is unchanged.

2026-09-20 local Bill integration: reuses existing games/mario-mix/assets/bill.png, projectiles/contra-*.png and character-audio recordings (Contra jungle, Bill death/pickup and N/M/S/F/L shots). Character/art/audio rights remain with their respective owners; the Mario source code license above does not cover these Contra assets. No new third-party assets were downloaded.

2026-10-04 private texture revision: Dry Bones Shell and Super Mario riding shell use SMM2 SMB1 public catalogue PNGs hosted by Mario Wiki. Dry Bones standing/collapsed, Bowser statue, Castle bone semisolid and Fire Bar orb use SMM1 SMB1 catalogue pixels visually matched to the SMM2 study. Per-file original URLs, SHA-256, dimensions and rights are in assets/smm2-private/SOURCE_ASSETS.json. Image copyright remains Nintendo, independent of MIT code; these assets are bundled only for the authorized private learning comparison. Small/Fire seated variants, missing walking second frame, adapted short statue/column heights and restored firebar mount are documented approximations. No original walkthrough frames are used as runtime sprites.

2026-10-04 detail correction: Podoboo native RLE dimensions corrected from misread16x14 to14x16, retaining all original224 pixels. The opted-in SMM2 Castle study uses a matched SMM1 original transparent14x16 Lava Bubble sprite. Fire Bar internal flame artwork uses four quarter-turns of the matched SMM1 static8x8 orb, supported by original NES GIF white-core motion; sampled50ms cadence is a local animation adaptation, not recovered SMM2 timing. No GIF walkthrough/background crops enter runtime sprites.

2026-10-04 private ghost-house study: SMB1 Ghost House ground composite, timber semisolid, Thwomp, Spiny, P Switch and POW single-frame catalogue images preserve their decoded native palette pixels. Per-file source URLs, hashes, dimensions, gamma interpretation and SMM1-to-SMM2 limits are in assets/smm2-ghost-private/SOURCE_ASSETS.json. Composite cell tiling, thick timber beams, missing P/POW flash frames and source-relative placement remain stated adaptations. Original copyrighted Nintendo material is independent of the code licence and retained only for authorized private learning. No walkthrough screenshots are runtime textures.

2026-10-04 Ghost House Night audio: ghost-house-night-loop.wav is a private-study derivative of the supplied SMM2 SMB Ghost House Night 30s public catalogue sample, one 21⅓-second recurring phrase cropped at documented quiet phases. It preserves speed and pitch, omits the catalogue tail fade, and uses no source-video extraction. Original source and exact crop/output hashes are retained in assets/classic-audio/GHOST_NIGHT_LOOP_PROVENANCE.json. Original game loop metadata, auditory seam review and hurry variation are not claimed. Nintendo audio rights are not transferred by the code licence.

2026-10-05 private SMB1 switch study: ON/OFF and active/inactive red/blue dotted
blocks use six unchanged SMM2 SMB1 original catalogue sprites. Exact static
palette/alpha, native 16px or 14px bounds and 1px inactive inset are retained.
Nintendo copyright remains independent of MIT code. Bright ON/highlight source
phase is static: finite original frames show phase differences but no verified
blink period. No screenshot texture, added shadow, physics/reward/audio changes,
or original SMB3/other-style claim. Sources/rights/hashes are recorded in
assets/smm2-switch-private/SOURCE_ASSETS.json and NOTICE.txt.
