Jazz2::Tiles namespace

Tile sets and maps.

Classes

struct AnimatedTile
Represents an animated tile.
struct AnimatedTileFrame
Represents a single frame of an animated tile.
class ITileMapOwner
Interface used to notify tile map owner of various events.
struct LayerDescription
Describes the configuration of a tile map layer.
struct LayerTile
Represents a single tile placed in a tile map layer.
struct TileCollisionParams
Describes how the object interacts and collides with the environment.
class TileMap
Represents a renderable tile map, consists of multiple layers.
struct TileMapLayer
Represents a single tile map layer.
class TileSet
Represents tile set used by tile map, consists of texture and collision mask.

Enums

enum class TileDestructType { None = 0x00, Weapon = 0x01, Speed = 0x02, Collapse = 0x04, Special = 0x08, Trigger = 0x10, IgnoreSolidTiles = 0x20, VerticalMove = 0x40 }
Specifies how a tile reacts when collided with.
enum class LayerSpeedModel { Default, AlwaysOnTop, FitLevel, SpeedMultipliers }
Describes how a layer's parallax scrolling speed is interpreted.
enum class LayerRendererType { Default, Solid, Tinted, Sky = 10, Circle }
Specifies how a layer is rendered.
enum class LayerTileFlags : std::uint8_t { None = 0x00, FlipX = 0x01, FlipY = 0x02, OneWay = 0x10, Collapsing = 0x80 }
Per-tile state flags of a tile placed in a layer.

Enum documentation

enum class Jazz2::Tiles::TileDestructType

Specifies how a tile reacts when collided with.

Assigned per tile to describe what can destroy or trigger it (a weapon hit, movement speed, a special move, collapsing or acting as a trigger) along with collision modifiers such as ignoring solid tiles or restricting movement to the vertical axis. Supports a bitwise combination of its member values.

Enumerators
None

No collision

Weapon

Destroyed by a weapon

Speed

Destroyed by movement speed

Collapse

Collapsible tile

Special

Destroyed by a special move

Trigger

Trigger tile

IgnoreSolidTiles

Solid tiles are ignored during collision

VerticalMove

Movement is vertical

enum class Jazz2::Tiles::LayerSpeedModel

Describes how a layer's parallax scrolling speed is interpreted.

Selected per axis in LayerDescription to control how a layer follows the camera — the default parallax model, locking to the top/left of the screen, fitting the whole layer into view, or treating the speed values as multipliers of the camera size rather than its position.

Enumerators
Default

Default model.

AlwaysOnTop

Ignores all speed and offset settings to be tied to the top/left side of the screen.

FitLevel

Ignores the speed and auto speed properties, and instead ensures that the full extent of this layer will be visible and no blank space outside of it will be shown.

SpeedMultipliers

Treats the layer's speed and auto speed properties on this axis as multipliers of the current camera size, rather than camera position.

enum class Jazz2::Tiles::LayerRendererType

Specifies how a layer is rendered.

Stored in LayerDescription to choose the rendering path for a layer — ordinary textured tiles, a solid or color-tinted fill, or one of the special textured background effects (sky or circle) used for distant parallax backdrops.

Enumerators
Default

Default rendering

Solid

Solid color rendering

Tinted

Color-tinted rendering

Sky

Textured background — Sky

Circle

Textured background — Circle

enum class Jazz2::Tiles::LayerTileFlags : std::uint8_t

Per-tile state flags of a tile placed in a layer.

Stored on each LayerTile to mark horizontal/vertical flipping, one-way collision and the runtime-only state of a tile already queued in the active collapsing list. Supports a bitwise combination of its member values.

Enumerators
None

None

FlipX

Flipped horizontally

FlipY

Flipped vertically

OneWay

One-way collision

Collapsing

Runtime-only: tile is already queued in the active collapsing list