Files
Patryk Gensch 198d9cf477 Finished automatically generated docs
Time to correct it by itself
2026-05-20 22:49:46 +02:00

2.6 KiB

PATTERN

A board built from a grid of fixed-size tiles arranged in multiple layers. Used in flying minigames such as the dragon-rider on Smokręt (Reksio i Wehikuł Czasu) and the broomstick (Reksio i Czarodzieje) — most likely to store the scrolling level map. Analysis of this type is still ongoing.

Fields

GRIDX

INTEGER GRIDX

Width of a single tile in pixels.

GRIDY

INTEGER GRIDY

Height of a single tile in pixels.

HEIGHT

INTEGER HEIGHT

Board height.

LAYERS

INTEGER LAYERS

Number of layers.

PRIORITY

INTEGER PRIORITY

Board render priority (Z position).

TOCANVAS

BOOL TOCANVAS

Whether the board is drawn on the canvas.

VISIBLE

BOOL VISIBLE

Whether the board is visible.

WIDTH

INTEGER WIDTH

Board width.

Methods

ADD

void ADD(STRING tileId, INTEGER posX, INTEGER posY, STRING animoName, [INTEGER layer])

Places a graphic onto the board.

Parameters

  • tileId — tile identifier.
  • posX, posY — tile coordinates.
  • animoName — name of the ANIMO variable to display in the tile.
  • layer — (optional) layer number.

Examples

PATBOARD^ADD(["E"+_I_],VARX,VARY,VARSTRING0,0);
PATTERNFOREST^ADD([VARSTRING0+"_"+_I_],VARINT1,VARINT2,VARSTRING1,VARINT3);

GETGRAPHICSAT

STRING GETGRAPHICSAT(INTEGER posX, INTEGER posY, BOOL onlyVisible, BOOL ignoreAlpha, INTEGER minZ, [INTEGER maxZ])

Returns the name of the tile at the given point. Behaves analogously to CANVAS_OBSERVER.GETGRAPHICSAT, but limited to this board's tiles.

Parameters

  • posX, posY — query point coordinates.
  • onlyVisible — if TRUE, only visible tiles are considered.
  • ignoreAlpha — if TRUE, only the tile's rectangle is tested; if FALSE, the pixel's alpha channel is also checked.
  • minZ — minimum layer.
  • maxZ — (optional) maximum layer.

Returns: STRING — tile name or "NULL".

Examples

PATTERNMASKKRET^GETGRAPHICSAT([ANNKRET^GETCENTERX()+20],ANNKRET^GETCENTERY(),TRUE,FALSE,0,1);
PATTERNFIRE^GETGRAPHICSAT(ANNCOLLUP^GETCENTERX(),ANNCOLLUP^GETCENTERY(),FALSE,FALSE,0);

MOVE

void MOVE(INTEGER offsetX, INTEGER offsetY)

Moves the board by the given X/Y offsets.

Parameters

  • offsetX, offsetY — translation vector.

Examples

PATBOARD^MOVE(0,-3000);
PATTERNBKG^MOVE(VARINT0,0);

Signals

ONINIT

Fired when the object is initialised.

ONSIGNAL

Fired when a signal arrives (see Events and signals).