Asset package catalog
The assets/ Git submodule contains graphics definitions, shaders, UI fixtures and
recovered college assets. Initialize its pinned revision with the checkout’s
submodule setup. This catalog lists optional external
artwork packages and their image placement; those package PNGs are supplied
separately. Definitions live under graphics/definitions/, images under
graphics/textures/. The manifest guide owns index selection
and graphics-relative paths.
Located packages
Package and author page |
Download |
Tracked manifests |
|---|---|---|
|
||
|
||
|
||
|
||
|
The three MiniWorld sprite/building manifests share one archive. Character Customizer
is a separate archive on the same page. That page also offers MiniworldGuide.docx
for the artwork’s animation documentation.
Image placement
All image paths below are relative to the checkout’s assets/graphics/textures/ directory. Preserve
case, spaces and accented filenames when extracting; avoid adding an extra archive-wrapper
directory between assets/graphics/textures/ and the package paths listed below.
MiniWorld sprites
Place the archive’s MiniWorldSprites/ tree under assets/graphics/textures/, preserving its
internal directories. atlas.json references individual sheets in Animals/, Buildings/,
Characters/, Ground/, Miscellaneous/, Nature/, Objects/ and User Interface/.
The other two manifests reference these combined sheets from the same package:
MiniWorldSprites/ColoredBuildingsPreview.pngforbuildings-colored.json.MiniWorldSprites/Buildings/Enemy/Orc/AllBuildings-Preview.pngforbuildings-orc.json.
The combined sheets are required alongside the individual sheets; the top-level
AllAssetsPreview.png does not replace them.
Character Customizer
Place the flattened image at
char-customizer/Character-Customizer-Photoshop.png. The current manifest describes
an 80×320-pixel sheet arranged as five columns and twenty rows of 16-pixel cells.
If working from the package’s layered Gimp/Photoshop file, export the matching image
as PNG with transparency and the original canvas dimensions. Keep the editor files
and package readme separately if needed for further customization.
Puny World
Place punyworld-overworld-tileset.png at
tilesets/punyworld-overworld-tileset.png. The sheet is 432×1040 pixels, with
27 columns and 65 rows of 16-pixel cells. The full archive also supplies Tiled source
metadata, including punyworld-overworld-tiles.tsx; the manifest’s animation and Wang
tables follow that layout, as described in the manifest guide.
Mage City Arcanos
Place the downloaded magecity.png at tilesets/magecity.png. Preserve the original
256×1450-pixel image. The manifest describes its populated region as eight columns
and forty-four rows of 32-pixel cells.
Dungeon tileset
Place Buch’s dungeon_tiles.png at tilesets/dungeon_tiles.png. The hosted download
can be saved as dungeon_tiles_0.png; rename it to the manifest’s filename. The image
is 368×384 pixels, with twenty-three columns and twenty-four rows of 16-pixel cells.
This source PNG matches the existing sheet. The separate 0x72 packages below have
their own layouts and future manifests.
Load only installed packages
The repository’s full graphics index references artwork from several packages.
Checking out its manifests alone does not supply those PNGs. After placing one
package, select only its installed definitions instead of calling load_assets()
over that entire root.
For example, after installing Mage City, create
assets/graphics/selected/graphics-manifests.json:
{
"version": "2.0",
"manifests": ["definitions/tilesets/magecity.json"]
}
References still resolve from assets/graphics/, not the new selected/
directory. In platform-owned initialization, with asset_root naming assets
and engine the initialized runtime context:
CE::Assets::Loading::Loader loader(asset_root);
auto prepared = loader.prepare_graphics({"graphics/selected/graphics-manifests.json"});
loader.upload(std::move(prepared), engine.resources());
auto tileset = CE::Assets::Tilesets::Manager::get().get_asset("magecity:mage_city");
if (!tileset)
throw std::runtime_error("The selected Mage City tileset is required");
Include <cheryl/core/resources/asset-management/asset-loader.h>,
<cheryl/core/resources/asset-management/tileset-mgr.h>, <stdexcept> and <utility>.
The loading guide owns the preparation and
upload contract. This selection decodes only images referenced by that index.
Preparation rejects absent images or grids that exceed their decoded dimensions;
check the listed path, filename case and matching artwork revision before retrying.
A nonnull handle confirms the selected identity was published. It is ready for
tile submission.
For an introductory sprite with included artwork, use First Game.
Packages awaiting manifests
These packages need separate manifests for their layouts. Keep original downloads
in a staging directory outside the runtime asset roots.
The ignored asset-downloads/0x72/ tree is suitable for local staging. A local
sources.json, when available, records source pages, filenames, sizes and hashes;
downloads and provenance records are not included in Git.
Package and author page |
Staging directory under |
Source files |
|---|---|---|
|
|
|
|
|
Unpacking these packages and writing a manifest for each belongs to the long-term asset task. The extension and remix links on their author pages are separate candidate packages.
Recovered college assets
The submodule also contains Invaders, HyperMaze, Rover and Tileset definitions,
locally populated images under graphics/textures/misc/ and
graphics/textures/tilesets/, and tracked bitmap-font inputs
under graphics/fonts/. The legacy sprite/tile PNGs follow the same ignored local
image policy as external packages; checking out definitions does not supply them.
These are recovered project assets, not newly sourced or licensed packages. Their
original numeric definitions remain beside the JSON conversions. The submodule’s
provenance notice still applies where credits or sources
are unknown. Conversion alone does not establish native rendering acceptance.