Go to file
Alexandre 7bb62ba808 updated readme (5) 2025-02-24 17:02:26 +01:00
.vscode fixed read_float incorrectly reading when -1.0 < x < 0.0 and updated textures 2025-02-24 11:56:48 +01:00
bin updated readme (5) 2025-02-24 17:02:26 +01:00
include IM FREEEEEEEEE 2025-01-30 21:45:46 +01:00
levels updated readme (5) 2025-02-24 17:02:26 +01:00
obj updated readme (5) 2025-02-24 17:02:26 +01:00
res fixed read_float incorrectly reading when -1.0 < x < 0.0 and updated textures 2025-02-24 11:56:48 +01:00
src updated readme (5) 2025-02-24 17:02:26 +01:00
templates smol changes 2025-02-23 18:37:13 +01:00
Makefile working (?) textures 2025-02-20 12:25:43 +01:00
README.md updated readme (5) 2025-02-24 17:02:26 +01:00

README.md

--| 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

  1. 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