Mercurial > games > semicongine
annotate semicongine.nim @ 1431:b03d3d8524fc
fix: import
author | sam <sam@basx.dev> |
---|---|
date | Sun, 19 Jan 2025 21:34:16 +0700 |
parents | ab01c577d91c |
children | 3502e1efaeb4 |
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/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
|
9 import ./semicongine/loaders |
1429 | 10 import ./semicongine/images |
11 import ./semicongine/audio | |
1420
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
12 |
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
13 proc initEngine*(appName: string) = |
1428 | 14 ## 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
|
15 engine_obj_internal = Engine() |
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
16 engine_obj_internal.vulkan = initVulkan(appName) |
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
17 |
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
18 # start audio |
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
19 engine_obj_internal.mixer = createShared(Mixer) |
1427 | 20 engine_obj_internal.mixer[] = Mixer() |
21 engine_obj_internal.mixer[].tracks[""] = Track(level: 1) | |
22 engine_obj_internal.mixer[].lock.initLock() | |
1420
6f81a41603d9
did: start working on big restructuring
sam <sam@basx.dev>
parents:
1362
diff
changeset
|
23 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
|
24 |
1428 | 25 # start background resource loaders |
1423
3b8a736c45a7
did: put almost all global state into a single struct
sam <sam@basx.dev>
parents:
1420
diff
changeset
|
26 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
|
27 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
|
28 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
|
29 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
|
30 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
|
31 engine_obj_internal.audioLoader = initBackgroundLoader(loadAudio) |
1425 | 32 |
1427 | 33 engine_obj_internal.initialized = true |