extern statement

This commit is contained in:
2025-11-16 13:30:07 +01:00
parent 552a404d73
commit 5a41163ca1
6 changed files with 38 additions and 29 deletions

View File

@@ -1,42 +1,40 @@
// musl doesnt like dlopen, needs to be compiled with -m
// musl doesnt like dlopen, needs to be compiled with -m -C="/usr/local/lib/libraylib.a -lm"
func main[] : I64
let rl: Ptr = c.dlopen("libraylib.so", 2)
extern InitWindow
extern SetTargetFPS
extern WindowShouldClose
extern BeginDrawing
extern EndDrawing
extern ClearBackground
extern CloseWindow
extern DrawRectangle
extern IsKeyDown
let rl.InitWindow: Ptr = c.dlsym(rl, "InitWindow")
let rl.SetTargetFPS: Ptr = c.dlsym(rl, "SetTargetFPS")
let rl.WindowShouldClose: Ptr = c.dlsym(rl, "WindowShouldClose")
let rl.BeginDrawing: Ptr = c.dlsym(rl, "BeginDrawing")
let rl.EndDrawing: Ptr = c.dlsym(rl, "EndDrawing")
let rl.ClearBackground: Ptr = c.dlsym(rl, "ClearBackground")
let rl.CloseWindow: Ptr = c.dlsym(rl, "CloseWindow")
let rl.DrawRectangle: Ptr = c.dlsym(rl, "DrawRectangle")
let rl.IsKeyDown: Ptr = c.dlsym(rl, "IsKeyDown")
let rl.KEY_W: I64 = 87
let rl.KEY_S: I64 = 83
let rl.KEY_A: I64 = 65
let rl.KEY_D: I64 = 68
let KEY_W: I64 = 87
let KEY_S: I64 = 83
let KEY_A: I64 = 65
let KEY_D: I64 = 68
let x: I64 = 200
let y: I64 = 200
rl.InitWindow(800, 600, "Hello, World!")
rl.SetTargetFPS(60)
InitWindow(800, 600, "Hello, World!")
SetTargetFPS(60)
while !rl.WindowShouldClose()
if rl.IsKeyDown(rl.KEY_W) & 255
while !WindowShouldClose()
if IsKeyDown(KEY_W) & 255
y = y - 10
if rl.IsKeyDown(rl.KEY_S) & 255
if IsKeyDown(KEY_S) & 255
y = y + 10
if rl.IsKeyDown(rl.KEY_A) & 255
if IsKeyDown(KEY_A) & 255
x = x - 10
if rl.IsKeyDown(rl.KEY_D) & 255
if IsKeyDown(KEY_D) & 255
x = x + 10
rl.BeginDrawing()
rl.ClearBackground(0xffffffff)
rl.DrawRectangle(x, y, 100, 100, 0xff0000ff)
rl.EndDrawing()
BeginDrawing()
ClearBackground(0xffffffff)
DrawRectangle(x, y, 100, 100, 0xff0000ff)
EndDrawing()
rl.CloseWindow()
CloseWindow()