diff semicongine.nim @ 1423:3b8a736c45a7

did: put almost all global state into a single struct
author sam <sam@basx.dev>
date Thu, 09 Jan 2025 23:03:47 +0700
parents 6f81a41603d9
children 0daed956cf9e
line wrap: on
line diff
--- a/semicongine.nim	Thu Jan 09 01:03:06 2025 +0700
+++ b/semicongine.nim	Thu Jan 09 23:03:47 2025 +0700
@@ -16,6 +16,24 @@
 import ./semicongine/rendering
 export rendering
 
+import ./semicongine/rendering/renderer
+export renderer
+
+import ./semicongine/rendering/swapchain
+export swapchain
+
+import ./semicongine/rendering/renderpasses
+export renderpasses
+
+import ./semicongine/rendering/shaders
+export shaders
+
+import ./semicongine/rendering/memory
+export memory
+
+import ./semicongine/rendering/vulkan_wrappers
+export vulkan_wrappers
+
 import ./semicongine/storage
 import ./semicongine/input
 export storage
@@ -25,6 +43,9 @@
 export audio
 
 # texture packing is required for font atlas
+import ./semicongine/text/font
+export font
+
 import ./semicongine/text
 export text
 
@@ -54,3 +75,10 @@
   engine_obj_internal.mixer[] = initMixer()
   engine_obj_internal.audiothread.createThread(audioWorker, engine_obj_internal.mixer)
   engine_obj_internal.initialized = true
+
+  engine_obj_internal.rawLoader = initBackgroundLoader(loadBytes)
+  engine_obj_internal.jsonLoader = initBackgroundLoader(loadJson)
+  engine_obj_internal.configLoader = initBackgroundLoader(loadConfig)
+  engine_obj_internal.grayImageLoader = initBackgroundLoader(loadImage[Gray])
+  engine_obj_internal.imageLoader = initBackgroundLoader(loadImage[BGRA])
+  engine_obj_internal.audioLoader = initBackgroundLoader(loadAudio)