55 lines
1.1 KiB
Odin
55 lines
1.1 KiB
Odin
package assetviewer
|
|
|
|
import rl "vendor:raylib"
|
|
import "core:os"
|
|
import "core:fmt"
|
|
import fp "core:path/filepath"
|
|
|
|
SCREEN_WIDTH : i32 = 1000
|
|
SCREEN_HEIGHT : i32 = 800
|
|
BW := f32(SCREEN_WIDTH)
|
|
BH := f32(SCREEN_HEIGHT)
|
|
|
|
AppState :: struct {
|
|
dt: f32,
|
|
test: string,
|
|
}
|
|
|
|
check_dir :: proc(info: os.File_Info, in_err: os.Error, user_data: rawptr) -> (err: os.Error, skip_dir: bool) {
|
|
state := transmute(^AppState) user_data
|
|
fmt.println(state^);
|
|
return nil, false
|
|
}
|
|
|
|
init_state :: proc() -> ^AppState {
|
|
state := AppState {dt = 5.0, test="Test String"}
|
|
return new_clone(state)
|
|
}
|
|
|
|
main :: proc() {
|
|
rl.SetTraceLogLevel(.ERROR)
|
|
rl.InitWindow(SCREEN_WIDTH, SCREEN_HEIGHT, "Asset Browser")
|
|
rl.SetTargetFPS(60)
|
|
|
|
state := init_state()
|
|
|
|
fp.walk("./Assets", check_dir, state)
|
|
|
|
for !rl.WindowShouldClose() {
|
|
state.dt = rl.GetFrameTime()
|
|
|
|
// player_input(state)
|
|
|
|
// update(state)
|
|
|
|
rl.BeginDrawing()
|
|
rl.ClearBackground(rl.WHITE)
|
|
|
|
// draw2d(state)
|
|
|
|
rl.EndDrawing()
|
|
}
|
|
|
|
rl.CloseWindow()
|
|
}
|