Variable types

Number

A 16-bit number between -32768 and 32767.

Example:

// An immediate
Wait(1234)

// Assigned to a variable
(var someNum)
= someNum 1234
Wait(someNum)

Boolean

A TRUE or FALSE expression. This is the same as a number, but is evaluated differently. If it’s value is 0, it is a FALSE expression, otherwise it is a TRUE expression.

String

A string of characters. A string is a pointer to memory containing null-terminated text.

HeapPtr

A pointer to a block of memory. Blocks of memory can contain anything, from classes, to strings, to variables.

Examples:

// An immediate string
Display("Hello World")

// A string variable
(string
        helloStr = "Hello World"
)
...
Display(helloString)

// A variable (local, global, var, param, property) containing a pointer to a string
(var strPtr)
= strPtr "Hello World"
Display(strPtr)

// A pointer to a variable (local, global, var, param)
(var strBuf[40])
StrCpy(@strBuf "Hello World")
Display(@strBuf)

Rect

An array of four variables defining a rectangle

Example:

(var rect[4])
TextSize(@rect)
= yMin rect[0]
= xMin rect[1]
= yMax rect[2]
= xMax rect[3]

Point

An array of two variables defining a point

Example:

(var point[2])
= y point[0]
= x point[1]