diff semicongine.nim @ 1427:676fc13685a9

did: restructure files and imports
author sam <sam@basx.dev>
date Sat, 11 Jan 2025 14:04:39 +0700
parents 0daed956cf9e
children d16964858790
line wrap: on
line diff
--- a/semicongine.nim	Sat Jan 11 12:22:21 2025 +0700
+++ b/semicongine.nim	Sat Jan 11 14:04:39 2025 +0700
@@ -1,68 +1,13 @@
+import std/tables
+import std/locks
+
 import ./semicongine/core
 export core
 
-import ./semicongine/resources
-export resources
-
+from ./semicongine/rendering import initVulkan
+from ./semicongine/audio import audioWorker
+from ./semicongine/background_loaders import initBackgroundLoader
 import ./semicongine/loaders
-export loaders
-
-import ./semicongine/background_loader
-export background_loader
-
-import ./semicongine/image
-export image
-
-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
-export input
-
-import ./semicongine/audio
-export audio
-
-# texture packing is required for font atlas
-import ./semicongine/text/font
-export font
-
-import ./semicongine/text
-export text
-
-import ./semicongine/gltf
-export gltf
-
-when not defined(WITHOUT_CONTRIB):
-  import ./semicongine/contrib/steam
-  import ./semicongine/contrib/settings
-  import ./semicongine/contrib/algorithms/texture_packing
-  import ./semicongine/contrib/algorithms/collision
-  import ./semicongine/contrib/algorithms/noise
-  export steam
-  export settings
-  export texture_packing
-  export collision
-  export noise
 
 #### Main engine object
 
@@ -72,9 +17,10 @@
 
   # start audio
   engine_obj_internal.mixer = createShared(Mixer)
-  engine_obj_internal.mixer[] = initMixer()
+  engine_obj_internal.mixer[] = Mixer()
+  engine_obj_internal.mixer[].tracks[""] = Track(level: 1)
+  engine_obj_internal.mixer[].lock.initLock()
   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)
@@ -83,5 +29,4 @@
   engine_obj_internal.imageLoader = initBackgroundLoader(loadImage[BGRA])
   engine_obj_internal.audioLoader = initBackgroundLoader(loadAudio)
 
-proc setEngine*(e: Engine) =
-  engine_obj_internal = e
+  engine_obj_internal.initialized = true