tomo/examples/game/game.tm
2025-03-10 13:42:57 -04:00

41 lines
934 B
Tcl

# This game demo uses Raylib to present a simple
use libraylib.so
use <raylib.h>
use <raymath.h>
use ./world.tm
func main(map=(./map.txt)):
extern InitWindow:func(w:Int32, h:Int32, title:CString)
InitWindow(1600, 900, CString("raylib [core] example - 2d camera"))
map_contents := map:read() or exit("Could not find the game map: $map")
World.CURRENT:load_map(map_contents)
extern SetTargetFPS:func(fps:Int32)
SetTargetFPS(60)
extern WindowShouldClose:func(->Bool)
while not WindowShouldClose():
extern GetFrameTime:func(->Num32)
dt := GetFrameTime()
World.CURRENT:update(Num(dt))
extern BeginDrawing:func()
BeginDrawing()
inline C {
ClearBackground((Color){0xCC, 0xCC, 0xCC, 0xFF});
}
World.CURRENT:draw()
extern EndDrawing:func()
EndDrawing()
extern CloseWindow:func()
CloseWindow()