comparison 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
comparison
equal deleted inserted replaced
1426:075e4197bc95 1427:676fc13685a9
1 import std/tables
2 import std/locks
3
1 import ./semicongine/core 4 import ./semicongine/core
2 export core 5 export core
3 6
4 import ./semicongine/resources 7 from ./semicongine/rendering import initVulkan
5 export resources 8 from ./semicongine/audio import audioWorker
6 9 from ./semicongine/background_loaders import initBackgroundLoader
7 import ./semicongine/loaders 10 import ./semicongine/loaders
8 export loaders
9
10 import ./semicongine/background_loader
11 export background_loader
12
13 import ./semicongine/image
14 export image
15
16 import ./semicongine/rendering
17 export rendering
18
19 import ./semicongine/rendering/renderer
20 export renderer
21
22 import ./semicongine/rendering/swapchain
23 export swapchain
24
25 import ./semicongine/rendering/renderpasses
26 export renderpasses
27
28 import ./semicongine/rendering/shaders
29 export shaders
30
31 import ./semicongine/rendering/memory
32 export memory
33
34 import ./semicongine/rendering/vulkan_wrappers
35 export vulkan_wrappers
36
37 import ./semicongine/storage
38 import ./semicongine/input
39 export storage
40 export input
41
42 import ./semicongine/audio
43 export audio
44
45 # texture packing is required for font atlas
46 import ./semicongine/text/font
47 export font
48
49 import ./semicongine/text
50 export text
51
52 import ./semicongine/gltf
53 export gltf
54
55 when not defined(WITHOUT_CONTRIB):
56 import ./semicongine/contrib/steam
57 import ./semicongine/contrib/settings
58 import ./semicongine/contrib/algorithms/texture_packing
59 import ./semicongine/contrib/algorithms/collision
60 import ./semicongine/contrib/algorithms/noise
61 export steam
62 export settings
63 export texture_packing
64 export collision
65 export noise
66 11
67 #### Main engine object 12 #### Main engine object
68 13
69 proc initEngine*(appName: string) = 14 proc initEngine*(appName: string) =
70 engine_obj_internal = Engine() 15 engine_obj_internal = Engine()
71 engine_obj_internal.vulkan = initVulkan(appName) 16 engine_obj_internal.vulkan = initVulkan(appName)
72 17
73 # start audio 18 # start audio
74 engine_obj_internal.mixer = createShared(Mixer) 19 engine_obj_internal.mixer = createShared(Mixer)
75 engine_obj_internal.mixer[] = initMixer() 20 engine_obj_internal.mixer[] = Mixer()
21 engine_obj_internal.mixer[].tracks[""] = Track(level: 1)
22 engine_obj_internal.mixer[].lock.initLock()
76 engine_obj_internal.audiothread.createThread(audioWorker, engine_obj_internal.mixer) 23 engine_obj_internal.audiothread.createThread(audioWorker, engine_obj_internal.mixer)
77 engine_obj_internal.initialized = true
78 24
79 engine_obj_internal.rawLoader = initBackgroundLoader(loadBytes) 25 engine_obj_internal.rawLoader = initBackgroundLoader(loadBytes)
80 engine_obj_internal.jsonLoader = initBackgroundLoader(loadJson) 26 engine_obj_internal.jsonLoader = initBackgroundLoader(loadJson)
81 engine_obj_internal.configLoader = initBackgroundLoader(loadConfig) 27 engine_obj_internal.configLoader = initBackgroundLoader(loadConfig)
82 engine_obj_internal.grayImageLoader = initBackgroundLoader(loadImage[Gray]) 28 engine_obj_internal.grayImageLoader = initBackgroundLoader(loadImage[Gray])
83 engine_obj_internal.imageLoader = initBackgroundLoader(loadImage[BGRA]) 29 engine_obj_internal.imageLoader = initBackgroundLoader(loadImage[BGRA])
84 engine_obj_internal.audioLoader = initBackgroundLoader(loadAudio) 30 engine_obj_internal.audioLoader = initBackgroundLoader(loadAudio)
85 31
86 proc setEngine*(e: Engine) = 32 engine_obj_internal.initialized = true
87 engine_obj_internal = e