diff --git a/config.nims b/config.nims index 55a64b3..c180457 100644 --- a/config.nims +++ b/config.nims @@ -23,7 +23,7 @@ when defined( emscripten ): --panics:on --exceptions:goto --define:noSignalHandler - # --passL:"-Oz" # Production bu ld + --passL:"-Oz" # Production build # --passL:"-O0 -gDebug -gsource-map" # Debug build --passL:"-s EXPORT_ES6" --passL:"-s EXPORT_NAME=NimTest" diff --git a/resources/config.ini b/resources/config.ini index f56f523..798314f 100644 --- a/resources/config.ini +++ b/resources/config.ini @@ -1,5 +1,4 @@ [Performance] -# In milliseconds -tick = 1000 +fps = 60 diff --git a/src/nim_wasm_test.nim b/src/nim_wasm_test.nim index 935a87e..d7c3b9a 100644 --- a/src/nim_wasm_test.nim +++ b/src/nim_wasm_test.nim @@ -1,7 +1,6 @@ # vim: set et sta sw=4 ts=4 : import - std/os, std/parsecfg, std/strformat, std/strutils @@ -10,18 +9,15 @@ import raylib var conf: Config try: conf = loadConfig( "resources/config.ini" ) -except IOError as err: +except IOError: echo "No config file, using defaults." conf = newConfig() -when defined( emscripten ): - var tick = conf.getSectionValue( "Performance", "tick", defaultVal = "10").parseInt.cuint -else: - var tick = conf.getSectionValue( "Performance", "tick", defaultVal = "10").parseInt +var fps = conf.getSectionValue( "Performance", "fps", defaultVal = "60").parseInt # Emscripten specific imports proc emscripten_set_main_loop( f: proc() {.cdecl.}, a: cint, b: bool ) {.importc.} -proc emscripten_sleep( a: cuint ) {.importc.} +# proc emscripten_sleep( a: cuint ) {.importc.} var camera = Camera( position: Vector3(x: 5, y: 5, z: 10), # Camera position @@ -45,6 +41,7 @@ proc mainLoop() {.cdecl.} = defer: closeWindow() initWindow( 800, 600, "raylib nim playground" ) + setTargetFPS( fps.int32 ); var count = 0 @@ -62,11 +59,6 @@ proc mainLoop() {.cdecl.} = count = count + 1 - when defined( emscripten ): - emscripten_sleep( tick ) - else: - sleep( tick ) - when defined( emscripten ): emscripten_set_main_loop( mainLoop, 0, true );