A collection of frames representing a single action animation (i.e. Idle, Run, etc.). To provide multiple anims to an entity,
simply store multiple Anim structs somewhere and assign one of them to the entity.
Stores all tilesets and their associated data like Anims, Fonts and Tilemaps.
Can be referenced by a Renderer to load only the tilesets you need at a time.
Provides a way for a tilemap to regenerate the bg “behind” a BgSprite (a moving element that writes to the tilemap)
Helps building up a byte array for serialization. Similar to Pool.
Allows an entity to specify a collision shape, a position offset and collision layer masking.
Contains details about a collision that occurred in the current frame.
Generated when checking for collisions, contains additional collider information like velocity and start position.
8 bits per channel representation of an RGB color.
Intended for framebuffer only, minimal size
8 bits per channel representation of an RGBA color.
Intended for palette generation preserving transparency information.
Contains the necessary structs to provide rendering and collisions
A key to the World slotmap containing entities.
A contiguous group of tiles representing text characters and numbers.
Currently only supports 0 to 9, followed by ‘A’ to ‘Z’, upper case only.
The smallest part of an animation, contains tiles indices up to ANIM_TILES_PER_FRAME.
Allows writing pixels to a frame buffer.
A generic rectangular area.
Loads and stores fixed size tiles organized into tilesets that can be added and removed individually.
Simple ringbuffer with fast averaging and smoothing.
The smallest part of a Tilemap, contains a tile index and its flags.
Allows recovering the absolute Renderer index from a tile within a tileset.
A rectangular array of tiles that belong to a single Tileset. Also provides “BgBuffers” so that
BgTiles can restore the BG contents they overwrite.
The main way to organize different tiles and their associated assets: Fonts, Anims and Tilemaps.
A generic 2D vector.
A World contains all necessary data to render and detect collisions on entities, including the
tile Renderer and associated data like Tilemaps and Animations.