The GEN8 chunk: what the game is called, the window it opens, the order of its rooms,
and which generation of GameMaker built it.
format is what every other reader branches on:
:gms1— GameMaker: Studio 1, whose rooms have backgrounds and tiles:gms2— GameMaker Studio 2 before 2.3, whose rooms have layers:gms2_3— 2.3 and after, which adds sequences to rooms and scripts as functions
bytecode is the version of the compiled code the file was written for, and
steam_app_id is 0 for a game not on Steam.
Summary
Functions
The GEN8 chunk at at, its format told apart with the help of the file's chunks.
Types
@type format() :: :gms1 | :gms2 | :gms2_3
@type t() :: %Cauldron2D.GameMaker.General{ bytecode: non_neg_integer(), config: String.t() | nil, display_name: String.t(), file_name: String.t() | nil, format: format(), fps: number() | nil, name: String.t(), room_order: [non_neg_integer()], steam_app_id: non_neg_integer(), version: {non_neg_integer(), non_neg_integer(), non_neg_integer(), non_neg_integer()}, window: {non_neg_integer(), non_neg_integer()} }
Functions
@spec read(binary(), non_neg_integer(), Cauldron2D.GameMaker.Chunks.t()) :: t()
The GEN8 chunk at at, its format told apart with the help of the file's chunks.