anyone want the ancient info on appel level codes that i am cursed to bear forever

and because im talking about appel here’s an unsubtle plug for https://surfaceapl.deno.dev/

comments

i would glady take the ancient info

Level in pure form (the format the game save files use):

Seperated by spaces.

First segment is width number

Then repeat until you get an empty segment:

Read length

Read tile id, (run length encoding)

If there is no segments, you’re running with the legacy level format, you’re done, use a flat wall.

Now read rotations, also run length encoding.

Now read data, just read until blank segment, will discuss how to read data later.

Now read the walls, until there's a blank segment, read wall height and type

Now read the hue, if the hue is not empty, read hue 2

Data consists of a list of tile index, then data string

How to convert level codes to pure form:

Remove magic by chopping off first 7 characters (or is it 8, or 6, i forgor)

Replace Z with space

Replace plus with B

Replace minus with C

Code Implementation:

https://putty.deno.dev/file/8/694c988d616c4c4782bcd37f7db9157b

(putty for some reason believes this to be a .tts file, it’s not, it’s a .ts)

i geniunely dont know what most of this means, funnily enough, the code helps me understand more

might be useful for my project i have never started (shameless plug https://github.com/Late-Is-Cool/Appel-CPP)

idk @late is an appel fan he might like this

unmaintained, havent worked on it in months i just remembered appel lmao