Mercurial > games > semicongine
annotate semicongine.nim @ 1429:ab01c577d91c
fix: some more import-stuff
author | sam <sam@basx.dev> |
---|---|
date | Sat, 11 Jan 2025 15:34:21 +0700 |
parents | d16964858790 |
children | b03d3d8524fc |
rev | line source |
---|---|
1427 | 1 import std/tables |
2 import std/locks | |
3 | |
1298
1feaa8a97acf
did: halfway complete refactoring to move from all-include to some-include+imports, no API changes
sam <sam@basx.dev>
parents:
1277
diff
changeset
|
4 import ./semicongine/core |
1feaa8a97acf
did: halfway complete refactoring to move from all-include to some-include+imports, no API changes
sam <sam@basx.dev>
parents:
1277
diff
changeset
|
5 export core |
1feaa8a97acf
did: halfway complete refactoring to move from all-include to some-include+imports, no API changes
sam <sam@basx.dev>
parents:
1277
diff
changeset
|
6 |
1427 | 7 from ./semicongine/rendering import initVulkan |
8 from ./semicongine/audio import audioWorker | |
9 from ./semicongine/background_loaders import initBackgroundLoader | |
1362
3dbf77ca78b9
did: refactor loading, adding threaded background loading (still missing stuff though)
sam <sam@basx.dev>
parents:
1299
diff
changeset
|
10 import ./semicongine/loaders |
1429 | 11 import ./semicongine/images |
12 import ./semicongine/audio | |
1420
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
13 |
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
14 proc initEngine*(appName: string) = |
1428 | 15 ## Required to be called before most features of the engine can be used |
1420
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
16 engine_obj_internal = Engine() |
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
17 engine_obj_internal.vulkan = initVulkan(appName) |
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
18 |
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
19 # start audio |
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
20 engine_obj_internal.mixer = createShared(Mixer) |
1427 | 21 engine_obj_internal.mixer[] = Mixer() |
22 engine_obj_internal.mixer[].tracks[""] = Track(level: 1) | |
23 engine_obj_internal.mixer[].lock.initLock() | |
1420
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
24 engine_obj_internal.audiothread.createThread(audioWorker, engine_obj_internal.mixer) |
1423
3b8a736c45a7
did: put almost all global state into a single struct
sam <sam@basx.dev>
parents:
1420
diff
changeset
|
25 |
1428 | 26 # start background resource loaders |
1423
3b8a736c45a7
did: put almost all global state into a single struct
sam <sam@basx.dev>
parents:
1420
diff
changeset
|
27 engine_obj_internal.rawLoader = initBackgroundLoader(loadBytes) |
3b8a736c45a7
did: put almost all global state into a single struct
sam <sam@basx.dev>
parents:
1420
diff
changeset
|
28 engine_obj_internal.jsonLoader = initBackgroundLoader(loadJson) |
3b8a736c45a7
did: put almost all global state into a single struct
sam <sam@basx.dev>
parents:
1420
diff
changeset
|
29 engine_obj_internal.configLoader = initBackgroundLoader(loadConfig) |
3b8a736c45a7
did: put almost all global state into a single struct
sam <sam@basx.dev>
parents:
1420
diff
changeset
|
30 engine_obj_internal.grayImageLoader = initBackgroundLoader(loadImage[Gray]) |
3b8a736c45a7
did: put almost all global state into a single struct
sam <sam@basx.dev>
parents:
1420
diff
changeset
|
31 engine_obj_internal.imageLoader = initBackgroundLoader(loadImage[BGRA]) |
3b8a736c45a7
did: put almost all global state into a single struct
sam <sam@basx.dev>
parents:
1420
diff
changeset
|
32 engine_obj_internal.audioLoader = initBackgroundLoader(loadAudio) |
1425 | 33 |
1427 | 34 engine_obj_internal.initialized = true |