How to define macros: #define foo [bar/$1] #define bar $1 + $1 = [add/$1/$1] [foo/1] Changes: [macro] <- returns a boolean instead [unixtime] <- ymmv on the precision due to js security features, otherwise unchanged [replace] <- uses rust regex, which doesn't support lookaheads or backreferences (all macros that use regex have this change) [base64.encode] <- uses url-safe base64 [base64.decode] ^ [zlib.compress] ^ [zlib.decompress] ^ Not implemented: [try] <- will not be implemented due to it being incompatible with the interruptible execution system [variables] <- nobody is using this so i'm not keeping it lol [json.*] <- nobody was using any of these macros Builtins: [tiles] Performs a search on the tile database, and returns the names of all tiles that match, separated by `/`. The arguments are expected to be an arbitrarily long list of search queries. Valid search queries are: - `name:<pattern>` Fully matches the tile name using a regex pattern (e.g. `baba` will match baba only, but `baba.*` will match all tiles starting with baba) - `tiling:<tiling mode>` Matches the tiling mode - `source:<string>` Matches the source the tile came from - `tag:<string>` Matches if the tile has this tag # Arguments 1... The search queries