unnamed-platformer/levels.lua

62 lines
1.4 KiB
Lua

-- . air
-- 0 solid
-- - placeholder tile
-- v spike
levels = {[[
----------------------------
-00000000000000000000000000-
-0........................0-
-0........................0-
-0........................0-
-0........................0-
-0........................0-
-0........................0-
-0........................0-
-0........................00
-0.........................-
-0.........................-
-0.........................-
-0.......................000
-0.......................00-
-00000000000000000000000000-
----------------------------
]],
[[
----------------------------
-00000000000000000000000000-
-00000000000000000000000000-
-000000000000000000000000000
-00000000000...............-
-0000000000................-
-0000000000....0000000000000
-0000000000.....00000000000-
-00000000..........00000000-
000000.............00000000-
-..........-.00000000000000-
-..........0000000000000000-
-.......0000000000000000000-
000000000000000000000000000-
-00000000000000000000000000-
-00000000000000000000000000-
----------------------------
]],
}
to_write = ""
--remove all "\n" from level strings
for i, v in ipairs(levels) do
v = string.gsub(v, "\n", "")
to_write = to_write.." case "..(i-1)..":\n memcpy(level, \""..v.."\", "..#v..");\n break;\n"
end
--finish and write
to_write = [[#include "levels.h"
#include <gint/std/string.h>
void set_level(int level_id, char *level) {
switch (level_id)
{
]]..to_write.." }\n}\n"
io.write(to_write)