Jazz2::Compatibility::JJ2Level class

Parses original .j2l level files.

Public types

struct AlternatePalette
Alternate palette.
struct ExtraTilesetEntry
Extra tileset used in the level.
struct LevelToken
Episode name and level name.
enum class TilesetColorMode : std::uint8_t { Original8bit, Remapped8bit, Original24bit, AlternatePalette24bit }
Color mode of tile set.

Public static variables

static std::int32_t JJ2LayerCount constexpr
Number of layers in the original game.
static std::int32_t TextEventStringsCount constexpr
Number of level text entries in the original game.

Constructors, destructors, conversion operators

JJ2Level()

Public functions

auto Open(StringView path, bool strictParser) -> bool
void Convert(StringView targetPath, EventConverter& eventConverter, Function<LevelToken(StringView)>&& levelTokenConversion = {})
void AddLevelTokenTextID(std::uint8_t textId)
auto GetVersion() const -> JJ2Version
Returns target version of the level.
auto GetMaxSupportedTiles() const -> std::int32_t
Returns maximum number of supported tiles.
auto GetMaxSupportedAnims() const -> std::int32_t
Returns maximum number of supported animations.

Public variables

String LevelName
String DisplayName
String Tileset
SmallVector<AlternatePalette, 0> AlternatePalettes
SmallVector<ExtraTilesetEntry, 0> ExtraTilesets
String Music
String NextLevel
String BonusLevel
String SecretLevel
std::uint8_t LightingMin
std::uint8_t LightingStart

Enum documentation

enum class Jazz2::Compatibility::JJ2Level::TilesetColorMode : std::uint8_t

Color mode of tile set.

Enumerators
Original8bit

Original 8-bit palette is used

Remapped8bit

8-bit palette is remapped according to PaletteRemapping

Original24bit

Original 24-bit palette is used

AlternatePalette24bit

Alternate 24-bit palette is used