# --| Syntax for level files |-- 1) **General rules** . each file must be named "room_k" where k is a positive integer if "room_k" exists then all "room_u" where 0 <= u < k exists . you can add text at the end of each line as comments but *do not use caps*, *this might confuse the parser* 2) **Data structure** below is a detailled list for all block types ; each block type (Blocks, Teleporters, Entities) must have the corresponding word directly above it not all three keywords have to be written *Data-specific structure :* ``` blocks: [x, y, z, w, h, d, rhz, rvt, r, g, b] teleporters: [x, y, z, w, h, d, rhz, rvt, r, g, b, dest_chx, dest_chy] entities: [x, y, z, w, h, d, rhz, rvt, r, g, b, hp, damage, entityType ..] |> if entityType >= 4, use 1 for HP and 0 for damage <| |> *Entity types are :* <| -> 0 (coin) -> damage equals the coin's value -> 1 (non-moving explosive) -> 2 (seeking explosive) -> 3 (shooting non-moving explosive) -> 4 (moving platform) [.. amplitude_x, amplitude_y, amplitude_z, mult, divd, phase] with *<- extra arguments at the end of []* amplitude_{x,y,z} = double[>= 0.0] {mult,divd} = int {phase} = int[0, 360] -> 5 (linear moving platform) [.. amplitude_x, amplitude_y, amplitude_z, speed_x, speed_y, speed_z] with amplitude_{x,y,z} = double[>= 0.0] speed_{x,y,z} = double -> 6 (text box) [.. text, tred, tgreen, tblue] with text = {char*} -> 7 (warp text box) [.. dest_folder, room_count, text, tred, tgreen, tblue] with {dest_folder,text} = {char*} (length <= 50) {r,g,b} = int[0-256] -> 8 (lock box) [.. cost, doPay, tred, tgreen, tblue] with cost = int[> 0] (0 breaks) doPay = {0, 1} (bool) -> 9 (beat block) [.. ontime, offtime, start] with {ontime,offtime} = double[>0.0] start = {0,1} -> 10 (spinning platform) [.. hz_speed, vt_speed] with {hz_speed,vt_speed} = double -> 11 (button trigger) [.. freq, dtime] with freq = int[0 - 15] dtime = double([>0.0] for time-limited press, or use -1.0 if no deactivation) -> 12 (button block) [.. freq, defaultState] with freq = int[0 - 15] defaultState = {0, 1} ```