-
Notifications
You must be signed in to change notification settings - Fork 15
Cheatsheet
Wang Renxin edited this page Dec 1, 2020
·
1 revision
Operator | Note |
---|---|
x + y |
plus; string concatenation |
x - y |
minus |
x * y |
multiply |
x / y |
divide |
x MOD y |
modulus |
x ^ y |
exponential |
-y |
unary negative |
(expr) |
explicit priority indicator |
x = y |
equals to; the same symbol as assignment |
x < y |
less than |
x > y |
greater than |
x <= y |
less than or equals to |
x >= y |
greater than or equals to |
x <> y |
not equals to |
p AND q |
logical "and" |
p OR q |
logical "or" |
NOT q |
logical "not" |
BAND(x, y) |
bitwise "and" |
BOR(x, y) |
bitwise "or" |
BNOT(y) |
bitwise "not" |
BXOR(x, y) |
bitwise "xor" |
SHL(m, n) |
bitwise "left shift" |
SHR(m, n) |
bitwise "right shift" |
Function | Note |
---|---|
LIST(...) |
creates a list, with optional initialization elements |
DICT(...) |
creates an unordered dictionary, with optional initialization key-value pairs |
PUSH(lst, v) |
pushes a value to the tail of a list |
POP(lst) |
pops and returns a value from the tail of a list |
BACK(lst) |
peeks and returns the value at the tail of a list |
INSERT(lst, where, v) |
inserts a value at a specific position of a list |
SORT(lst) |
sorts a list increasingly |
EXISTS(coll, what) |
tells whether a list contains a specific value, or whether a dictionary contains a specific *key |
INDEX_OF(lst, what) |
gets the index of a specific value in a list |
GET(coll, where) |
gets the value at a specific index in a list, or the value at a specific key in a dictionary, or the value of an iterator |
SET(coll, where, v) |
sets the value at a specific index in a list, or the value at a specific key in a dictionary |
REMOVE(coll, where) |
removes the element at a specific index in a list, or the element at a specific key in a dictionary |
CLEAR(coll) |
clears a list or a dictionary |
CLONE(coll) |
clones a collection, each element will be duplicated, except for non-copyable ones; or clones a copyable referenced usertype |
TO_ARRAY(lst) |
copies all elements from a list to a new array |
ITERATOR(coll) |
gets an iterator of a list or a dictionary |
MOVE_NEXT(iter) |
advances an iterator to the next element on a list or a dictionary |
VAL(iter) |
returns the value of a dictionary iterator |
LEN(coll) |
gets the element count of a collection |
Function | Note |
---|---|
COROUTINE(invokable, ...) |
creates a coroutine, with optional initialization arguments |
YIELD v |
yields from a coroutine, hands over the execution flow to other coroutines or the main program flow |
RETURN v |
returns from a coroutine |
START(co) |
starts a coroutine, which will be automatically scheduled by a dispatcher |
ABORT(co) |
aborts an automatically dispatching coroutine |
MOVE_NEXT(co) |
iterates a coroutine for one step manually |
GET(co) |
gets any yielded or returned value of the current iteration |
GET_ERROR(co) |
gets any execution error of a coroutine |
WAIT_FOR(s) |
constructs a non-referenced value that represents for waiting for certain seconds before dispatching to next coroutine cycle, only works with automatically dispatched coroutine |
Function | Note |
---|---|
END |
terminates the current program |
INPUT [prompt,] x |
this function suspends the current execution and opens a dialog box for inputting data to x , with an optional input prompt |
PRINT expr, ... |
for the purpose of debugging; writes some value to the output window (click Window , Output to open it), comma , is used to separate arguments, semicolon ; is used to make a new line |
ASSERT(cond [, text]) |
for the purpose of debugging; prompts an assertion and terminates execution immediately if cond results in false |
SWAP(x, y) |
swaps the values of x and y ; this statement can be only called in global scope |
IIF(cond, val0, val1) |
shortcut function to get one of the two values according to a condition expression |
TRACE() |
for the purpose of debugging; prints the current stack trace |
RAISE([ex]) |
raises an error, with an optional exception message |
GC() |
tries to trigger garbage collection, and returns how much bytes have been collected; do not need to call this manually |
MEM |
for the purpose of debugging; gets the size of the allocated memory in bytes |
BEEP |
beeps once with the (PC) speaker, not available for all platforms |
TYPEOF(v) |
gets the type of a non-referenced library value |
Function | Note |
---|---|
DRIVER() |
gets the current driver, there's only one driver instance for a running disk |
VALID(drv) |
checks whether a driver is valid |
SET_CLEARER(drv, auto) |
sets whether the clears frame buffers automatically |
SET_INTERPOLATOR(drv, rule) |
sets a graphics interpolator of a driver; defaults to "nil" without calling this function |
SET_ORDERBY(drv, rule ...) |
sets ordering rules of graphics commands; defaults to "nil" without calling this function |
UPDATE_WITH(drv [, r]) |
sets a driver to the automatic updating mode, with an invokable argument |
LOCK(drv) |
locks a driver; suspends any resource loading procedures, and audio committing |
UNLOCK(drv) |
unlocks a driver; resumes any resource loading procedures, and audio committing |
LOAD_RESOURCE(path) |
loads a resource from the disk |
LOAD_BLANK(y, w, h, n = 1) |
loads a blank resource |
CLONE(g) |
clones a graphics object, and its states |
RGBA(r, g, b, a = 255) |
constructs a color value with RGBA components, each component is an integer with range of values from 0 to 255 |
UNPACK(c, r, g, b [, a]) |
unpacks a color value with RGBA components, and assigns all result values to rest variables |
PLAY(spr, b = -1, e = -1, loop = TRUE, init = FALSE) |
plays a range of frames of a sprite |
STOP(spr) |
stops animating a sprite |
FLIP_X(spr, f = FALSE) |
sets whether flipping a sprite horizontally |
FLIP_Y(spr, f = FALSE) |
sets whether flipping a sprite vertically |
SET_FLIP_CONDITION(spr, fx, fy) |
sets the flipping condition of a sprite |
Function | Note |
---|---|
SYNC |
synchronizes primitive commands to the driver, used in the manual updating mode only (without calling UPDATE_WITH ) |
CLS [l] |
clears a frame buffer at a specific layer, with range of values from 0 to 4, see top most of the graphics section for details; clears all layers if no argument passed |
COL c |
sets the default color value of future commands |
CLIP [x, y, w, h, ss = TRUE, ip = TRUE] |
sets a clip area, resets to none clip areas if no argument passed |
CAMERA [x, y] |
moves the camera to a specific position, resets its position if no argument passed |
FONT [i, cw = 8, ch = 8, channel = -1] |
customizes the font face to be used with the TEXT function with a quantized image, only determines whether pixels are transparent but not the final color; resets to the default built-in font if no argument passed |
TEXT x, y, v [, c] |
draws a text |
PLOT x, y [, c] |
plots a point |
LINE x0, y0, x1, y1, w = 1 [, c] |
draws a line |
CIRC x, y, r [, c] |
draws a circle |
CIRCFILL x, y, r [, c] |
draws a filled circle |
ELLIPSE x, y, rx, ry [, c] |
draws an ellipse |
ELLIPSEFILL x, y, rx, ry [, c] |
draws a filled ellipse |
ARC x, y, r, sa, ea, pie = FALSE [, c] |
draws an arc |
ARCFILL x, y, r, sa, ea, pie = FALSE [, c] |
draws a filled arc |
RECT x0, y0, x1, y1 [, c] |
draws a rectangle |
RECTFILL x0, y0, x1, y1 [, c] |
draws a filled rectangle |
TRI x0, y0, x1, y1, x2, y2 [, c] |
draws a triangle |
TRIFILL x0, y0, x1, y1, x2, y2 [, c] |
draws a filled triangle |
TRITEX i, v0, v1, v2, s = FALSE |
draws a textured triangle |
QUAD x0, y0, x1, y1, x2, y2, x3, y3 [, c] |
draws a quadrangle |
QUADFILL x0, y0, x1, y1, x2, y2, x3, y3 [, c] |
draws a filled quadrangle |
PGET i |
gets the color of a palette, at a specific index |
PSET i, c, ip = FALSE |
sets the color of a palette; only affects during driver's updating |
Function | Note |
---|---|
STEP_ON(y) |
creates a non-referenced "step on" value, that represents for aligning a sprite's bottom edge to y
|
SPR spr, x, y, r = 0 |
draws a sprite |
SSPR spr, sx, sy, sw, sh, x, y [, w [, h, r = 0]] |
stretches rectangle from sprite sheet sx, sy, sw, sh , and draws in rectangle x, y, w, h
|
SGET spr, i, x, y |
gets the color index of a sprite, at a specific position |
SGET spr, i, what |
gets the data of a sprite |
SSET spr, i, x, y, v |
sets the color index of a sprite, at a specific position |
SSET spr, i, what, v |
sets the data of a sprite |
Function | Note |
---|---|
MAP m, x, y, r = 0 |
draws one or more map layers at a specific position |
MGET m, i, x, y |
gets the tile index or logic mark of a map layer at a specific position |
MSET m, i, x, y, v |
sets the tile index or logic mark of a map layer |
Function | Note |
---|---|
IMG i, x, y, r = 0, q = 0, fx = FALSE, fy = FALSE |
draws a quantized image at a specific position |
SIMG i, sx, sy, sw, sh, x, y [, w [, h, r = 0, q = 0, fx = FALSE, fy = FALSE]] |
stretches rectangle from a quantized image sx, sy, sw, sh , and draws in rectangle x, y, w, h
|
IGET i, x, y |
gets the color index of a quantized image, at a specific position |
ISET i, x, y, v |
sets the color index of a quantized image, at a specific position |
Function | Note |
---|---|
TOUCH i, x, y [, b0 [, b1 [, b2]]] |
gets mouse/touch states |
BTN b, p = 0 |
checks whether a virtual button is pressed |
BTN() |
returns true if any virtual button of the first player is pressed |
BTNP b, p = 0 |
checks whether a virtual button is just released from pressing |
BTNP() |
returns true if any virtual button of the first player is just released from pressing |
KEY k |
checks whether a key is pressed, eg. IF KEY ASC("a") THEN PRINT "Aha!";
|
KEY() |
returns true if any key is pressed |
KEYP k |
checks whether a key is just released from pressing |
KEYP() |
returns true if any key is just released from pressing |
Function | Note |
---|---|
SET_VOLUME(mv = 1, sv = 1, sp = 1) |
sets the volume values of audio, with range of values from 0.0 to 1.0 |
USE_SOUND_FONT([path, r = TRUE]) |
uses a sound font bank for music |
PLAY seq, ch = 0, preset = 0, loop = FALSE |
plays an MML (Music Macro Language) string; use PLAY "P", ch to stop music at specific channel, or use the following STOP instead |
STOP ch |
stops music started by PLAY
|
WAVE() |
creates a wave object for prefab sound effect |
Wave.PUSH(y, hz, tm, vol = 1) |
pushes a sample node, each wave object contains up to 256 sample nodes |
Wave.LEN() |
gets the sample count of a wave object |
SFX wav, loop = FALSE |
plays a prefab sound effect |
SFX y, hz, tm, ... |
plays a sound effect sequence, can be used with one or more sets of tones as SFX y0, hz0, tm0, y1, hz1, tm1, ... yn, hzn, tmn
|
STOP id |
stops sound effect started by SFX
|
SAY words, speed = 72, pitch = 64, throat = 128, mouth = 128 |
synthesizes speech according to specific text |
Function | Note |
---|---|
ABS(n) |
gets the absolute value of a number |
SGN(n) |
gets the sign of a number |
SQR(n) |
gets the square root of a number |
FLOOR(n) |
gets the greatest integer not greater than a number |
CEIL(n) |
gets the least integer not less than a number |
FIX(n) |
gets the integer part of a number |
ROUND(n) |
gets the nearest approximate integer of a number |
SRND(n) |
plants a random seed |
RND |
gets a random value between [0, 1] |
RND([lo = 0,] hi) |
gets a random value between [lo , hi ] |
SIN(n) |
gets the sin value of a number |
COS(n) |
gets the cos value of a number |
TAN(n) |
gets the tan value of a number |
ASIN(n) |
gets the asin value of a number |
ACOS(n) |
gets the acos value of a number |
ATAN(n) |
gets the atan value of a number |
EXP(n) |
gets the exp value of a number |
LOG(n) |
gets the log(e) value of a number |
ASC(ch) |
gets the ASCII code of a character; eg. ASC("E")
|
CHR(n) |
gets the character of an ASCII code; eg. CHR(69)
|
LEFT(txt, n) |
gets a number of characters from the left of a string |
MID(txt, off, n) |
gets a number of characters from a specific position of a string |
RIGHT(txt, n) |
gets a number of characters from the right of a string |
STR(n) |
converts a number to string; eg. STR(22 / 7)
|
VAL(txt) |
converts a string to number; eg. VAL("3.14")
|
LEN(txt) |
gets the length of a string |
DATA ... |
declares some in-code data sequence |
READ ... |
retrieves some in-code data to a list of variables |
RESTORE [p] |
accepts an indicated target position, or 0 as default to go back to the very beginning |
PERSIST ... |
marks some variables as nonvolatile persistence; can be only called in global scope with global variables |
Function | Note |
---|---|
PATHER(w, n, e, s) |
creates a pather object |
Pather.GET(x, y) |
gets the walking cost of a prefilled grid at a specific position, will raise an error if there's no grid prefilled |
Pather.SET(x, y, cost) |
sets the walking cost of a prefilled grid, initializes cost matrix with 1 for all grids when first calling to this function |
Pather.CLEAR() |
clears prefilled matrix and internal cached data |
Pather.SET_DIAGONAL_COST(cost = 1.414) |
sets the walking cost of diagonal direction neighbors |
Pather.FIND(bx, by, ex, ey, p = NIL) |
resolves a pathfinding |
Function | Note |
---|---|
WALKER() |
creates a walker object |
Walker.SET_OBJECT_SIZE(w, h) |
sets the object size, defaults to 8x8 |
Walker.SET_TILE_SIZE(w, h) |
sets the tile size, defaults to 8x8 |
Walker.SET_OFFSET(x, y) |
sets the offset, defaults to 0, 0 |
Walker.SOLVE(objx, objy, expx, expy, p = NIL, slidable = 5) |
resolves a walking step |
Function | Note |
---|---|
ZIP() |
creates an archive object with the "zip" algorithms |
Archive.OPEN(path, z) |
opens an archive file |
Archive.CLOSE() |
closes an archive file |
Archive.PACK(dst, src) |
packs from a file or byte array |
Archive.UNPACK(src, dst) |
unpacks to a file or byte array |
Archive.UNPACK_ALL(dir) |
unpacks everything to a directory |
COMPRESS(bytes) |
compresses a byte array |
DECOMPRESS(bytes) |
decompresses a byte array |
Function | Note |
---|---|
BYTES() |
creates a byte array object |
Bytes.PUSH(v) |
pushes a byte, is equivalent to Bytes.PUSH_U8(v)
|
Bytes.PUSH_U8(v) |
pushes a number as 8-bit unsigned integer; all pushing functions increase the buffer size by adding new elements |
Bytes.PUSH_S8(v) |
pushes a number as 8-bit signed integer |
Bytes.PUSH_U16(v) |
pushes a number as 16-bit unsigned integer |
Bytes.PUSH_S16(v) |
pushes a number as 16-bit signed integer |
Bytes.PUSH_INT(v) |
pushes a number as 32-bit signed integer |
Bytes.PUSH_REAL(v) |
pushes a number as single precision float point |
Bytes.POP() |
pops a byte, is equivalent to Bytes.POP_U8()
|
Bytes.POP_U8() |
pops a number as 8-bit unsigned integer; all popping functions retrieve data from buffer tail to head, and decrease the buffer size by removing read elements |
Bytes.POP_S8() |
pops a number as 8-bit signed integer |
Bytes.POP_U16() |
pops a number as 16-bit unsigned integer |
Bytes.POP_S16() |
pops a number as 16-bit signed integer |
Bytes.POP_INT() |
pops a number as 32-bit signed integer |
Bytes.POP_REAL() |
pops a number as single precision float point |
Bytes.READ() |
reads a byte, is equivalent to Bytes.READ_U8()
|
Bytes.READ_U8() |
reads a number as 8-bit unsigned integer; all reading functions retrieve data with an automatically increasing cursor from head to tail, without changing elements |
Bytes.READ_S8() |
reads a number as 8-bit signed integer |
Bytes.READ_U16() |
reads a number as 16-bit unsigned integer |
Bytes.READ_S16() |
reads a number as 16-bit signed integer |
Bytes.READ_INT() |
reads a number as 32-bit signed integer |
Bytes.READ_REAL() |
reads a number as single precision float point |
Bytes.END_OF_STREAM() |
checks whether has read to the end of a buffer |
Bytes.POKE(i) |
sets the accessing position of a buffer |
Bytes.CLEAR() |
clears byte array |
Bytes.LEN() |
gets the buffer size in bytes |
Bytes.GET(i) |
gets the byte at a specific index |
Bytes.SET(i, v) |
sets the byte at a specific index with a value |
Function | Note |
---|---|
DATABASE() |
creates a database object |
Db.OPEN(path) |
opens a database connection |
Db.CLOSE() |
closes a database connection |
Db.HAS_TABLE(tbl) |
checks whether a table exists or not |
Db.QUERY(sql) |
executes an SQL query |
Db.EXEC(sql) |
executes an SQL statement |
Function | Note |
---|---|
SLEEP(s) |
sleeps for certain seconds |
TICKS() |
gets the wall clock independent ticks in milliseconds, relevant to specific hardware cycles or platform ticks |
NOW([fmt]) |
gets the current time in string |
Function | Note |
---|---|
FILE() |
creates a file object |
File.OPEN(path, acc) |
opens a file on disk |
File.CLOSE() |
closes a file |
File.WRITE(v ...) |
writes one or more values to a file |
File.WRITE_U8(v) |
writes a number as 8-bit unsigned integer |
File.WRITE_S8(v) |
writes a number as 8-bit signed integer |
File.WRITE_U16(v) |
writes a number as 16-bit unsigned integer |
File.WRITE_S16(v) |
writes a number as 16-bit signed integer |
File.WRITE_INT(v) |
writes a number as 32-bit signed integer |
File.WRITE_REAL(v) |
writes a number as single precision float point |
File.WRITE_LINE(v) |
writes one value and a newline character CHR(10) to file |
File.READ([n]) |
reads a byte as number, or some bytes as string |
File.READ_U8() |
reads a number as 8-bit unsigned integer |
File.READ_S8() |
reads a number as 8-bit signed integer |
File.READ_U16() |
reads a number as 16-bit unsigned integer |
File.READ_S16() |
reads a number as 16-bit signed integer |
File.READ_INT() |
reads a number as 32-bit signed integer |
File.READ_REAL() |
reads a number as single precision float point |
File.READ_LINE() |
reads a line of text |
File.END_OF_STREAM() |
checks whether has read to the end of a file |
File.PEEK() |
gets the accessing position of a file |
File.POKE(i) |
sets the accessing position of a file |
File.LEN() |
gets the file size in bytes |
Function | Note |
---|---|
MSGBOX(msg) |
shows a message box with text |
OPEN_FILE_DIALOG([y [, m]]) |
shows a file opening dialog box |
SAVE_FILE_DIALOG([y]) |
shows a file saving dialog box |
PICK_DIRECTORY_DIALOG([d]) |
shows a directory picking dialog box |
Function | Note |
---|---|
IMAGE() |
creates an image object |
Image.LOAD(v) |
loads an image from a file, or byte array |
Image.SAVE(v, y) |
saves an image to a file, or byte array |
Image.RESIZE(w, h) |
resizes an image |
Image.GET(x, y) |
gets the color of a pixel |
Image.SET(x, y, c) |
sets the color of a pixel |
Image.LEN([r]) |
gets the count of total pixels, or width, or height of an image |
Function | Note |
---|---|
GET_DOCUMENT_PATH() |
gets the document path, with writable accessing rights, often termed as "Documents" or "My Documents" |
COMBINE_PATH(x, y) |
combines two path parts into a path string |
FILE_INFO(path) |
creates a file information object |
Fi.READ_ALL() |
reads all the content of a file as string |
Fi.CREATE() |
tries to create a file |
Fi.PARENT() |
gets the directory information of a file's parent |
Fi.GET_FULL_PATH() |
returns the full path of a file |
Fi.GET_PARENT_PATH() |
gets the directory path of a file's parent |
Fi.GET_FILE_NAME() |
gets the file name of a file |
Fi.GET_EXT_NAME() |
gets the extension name of a file |
Fi.IS_BLANK() |
checks whether a file is blank |
Fi.EXISTS() |
checks whether a file exists |
Fi.COPY_TO(dst) |
copies a file to another location |
Fi.REMOVE() |
removes a file |
DIRECTORY_INFO(path) |
creates a directory information object |
Dir.CREATE() |
tries to create a directory |
Dir.PARENT() |
gets the directory information of a directory's parent |
Dir.GET_FILES([p, r = FALSE]) |
gets the files in a directory |
Dir.GET_DIRECTORIES(r = FALSE) |
gets the sub directories under a directory |
Dir.GET_FULL_PATH() |
returns the full path of a directory |
Dir.GET_PARENT_PATH() |
gets the directory path of a directory's parent |
Dir.GET_DIR_NAME() |
gets the directory name of a directory |
Dir.IS_BLANK() |
checks whether a directory is blank |
Dir.EXISTS() |
checks whether a directory exists |
Dir.REMOVE() |
removes a directory |
Function | Note |
---|---|
JSON() |
creates a JSON object |
Json.PARSE(txt) |
parses from a JSON string |
Json.SERIALIZE() |
serializes to a JSON string |
Json.GET() |
gets BASIC8 objects and values from a JSON object |
Json.SET(v) |
sets BASIC8 objects and values to a JSON object |
JSON_BOOL(b) |
creates a JSON bool with a BASIC8 integer |
UNPACK(b) |
unpacks a BASIC8 integer from a JSON bool |
Functions | Note |
---|---|
PI |
gets the constant Pi |
DEG(r) |
converts radians to degrees |
RAD(d) |
converts degrees to radians |
MIN(...) |
gets the minimum one among some numbers |
MAX(...) |
gets the maximum one among some numbers |
VEC2(x = 0, y = 0) |
constructs a vec2 with two real numbers |
VEC2(v3) |
constructs a vec2 with a vec3, takes two components and ignores the last one |
VEC3(x = 0, y = 0, z = 0) |
constructs a vec3 with three real numbers |
VEC3(v2, z = 0) |
constructs a vec3 with a vec2 and a real number |
VEC4(x = 0, y = 0, z = 0, w = 1) |
constructs a vec4 with some real numbers |
VEC4(v2, z = 0, w = 1) |
constructs a vec4 with a vec2 and two real numbers |
VEC4(v3, w = 1) |
constructs a vec4 with a vec3 and a real number |
VEC4(mat44) |
extracts the rotation part from a matrix to a quaternion |
MAT4x4(m11 = 0, m12 = 0, ... = 0, m44 = 0) |
constructs a mat4x4 with some real numbers |
MAT4x4(v4) |
constructs a rotation matrix from a quaternion |
VEC4_FROM_EULER(x, y, z) , VEC4_FROM_AXIS_ANGLE(axis_v3, angle)
|
|
MAT4x4_FROM_EULER(x, y, z) , MAT4x4_FROM_AXIS_ANGLE(axis_v3, angle)
|
|
MAT4x4_FROM_SCALE(x, y, z) |
|
MAT4x4_FROM_TRANSLATION(x, y, z) |
|
MAT4x4_LOOKAT(pos_v3, target_v3, up_v3, lh = FALSE) |
makes a lookat matrix |
MAT4x4_ORTHO(left, right, bottom, top, near, far, zclip, lh = FALSE) |
constructs a matrix represents for a orthographic projection |
MAT4x4_PERSPECTIVE(left, right, bottom, top, near, far, zclip, lh = FALSE) |
constructs a matrix represents for a perspective projection |
MAT4x4_PERSPECTIVE_FOV(fov, aspect, near, far, zclip, xfov = TRUE, lh = FALSE) |
|
UNPACK(v2, x [, y]) |
|
UNPACK(v3, x [, y [, z]]) |
|
UNPACK(v4, x [, y [, z [, w]]]) |
|
UNPACK(mat44, m11 [, m12 [, ... [, m44]]]) |
Operator | Note |
---|---|
v2 + v2 , v3 + v3 , v4 + v4
|
|
v2 - v2 , v3 - v3 , v4 - v4
|
|
v2 * v2 , v3 * v3 , v4 * v4
|
|
v2 * num , v3 * num , v4 * num
|
|
num * v2 , num * v3 , num * v4
|
|
mat44 * num |
|
num * mat44 |
|
v2 / v2 , v3 / v3 , v4 / v4
|
|
v2 / num , v3 / num , v4 / num
|
|
num / v2 , num / v3 , num / v4
|
|
-v2 , -v3 , -v4 , -mat44
|
|
mat44 * mat44 |
|
mat44 * v3 |
equals to mat44 * VEC4(v3, 1) , results in vec4 |
mat44 * v4 |
|
v3 * mat44 |
equals to VEC4(v3, 1) * mat44 , results in vec4 |
v4 * mat44 |
|
DOT(v2, v2) , DOT(v3, v3) , DOT(v4, v4)
|
|
CROSS(v3, v3) |
|
NORMALIZE(v2) , NORMALIZE(v3) , NORMALIZE(v4)
|
|
LENGTH_SQUARE(v2) , LENGTH_SQUARE(v3) , LENGTH_SQUARE(v4)
|
|
LENGTH(v2) , LENGTH(v3) , LENGTH(v4)
|
|
DISTANCE_SQUARE(v2, v2) , DISTANCE_SQUARE(v3, v3) , DISTANCE_SQUARE(v4, v4)
|
|
DISTANCE(v2, v2) , DISTANCE(v3, v3) , DISTANCE(v4, v4)
|
|
LERP(v2, v2, beta) , LERP(v3, v3, beta)
|
|
IDENTITY() |
constructs an identity matrix |
CONJUGATE(v4) |
|
TRANSPOSE(mat44) |
|
INVERSE(v4) , INVERSE(mat44)
|
Function | Note |
---|---|
NET() |
creates a network object |
Net.OPEN(addr, recv [, stbl [, dscn]]) |
opens a network, either as server or client |
Net.CLOSE() |
closes a network, clears all options; will neither be impossible to send nor receive anything after closing |
Net.SEND(d) |
sends data via network |
Net.BROADCAST(d, e = FALSE) |
broadcasts data to all connections, cannot be used with UDP instance |
Net.GET(k) |
gets an option value with a specific key |
Net.SET(k, v) |
sets an option with a specific key and value, the options will be cleared after closing a network; set any options before opening |
Function | Note |
---|---|
CPU_CORE_COUNT |
gets the core count of the current CPU |
SET_OUTPUT_VISIBLE(s = TRUE) |
for the purpose of debugging; sets the visibility of the output window programmatically |
GET_APP_DIRECTORY() |
platform dependent, gets the directory path of the current BASIC8 fantasy computer |
GET_CURRENT_DIRECTORY() |
platform dependent, gets the current working directory path |
SET_CLIPBOARD_TEXT(txt) |
sets the text content of the clipboard |
GET_CLIPBOARD_TEXT() |
gets the text content of the clipboard |
HAS_CLIPBOARD_TEXT() |
checks whether the clipboard is filled with text content |
OS() |
platform dependent, gets the name of the current OS |
SYS(cmd) |
platform dependent, executes a system command |
Function | Note |
---|---|
LCASE(txt) |
transforms a string to lower case |
UCASE(txt) |
transforms a string to upper case |
SPLIT(txt, d) |
splits a string into parts |
STARTS_WITH(txt, what, ci = TRUE) |
checks whether a string starts with a sub string |
ENDS_WITH(txt, what, ci = TRUE) |
checks whether a string ends with a sub string |
FIND(txt, what, off = 0) |
gets the start position of a sub string |
LIKE(txt, what) |
matches a string with a wildcard pattern |
REGEX(text, re) |
matches a string with a regular expression |
Function | Note |
---|---|
WEB_REQUEST(url, method = "get" [, fields[, headers]]) |
performs an http request |
- Links
- Guides
- References
- Built-in examples
- Gist