Mercurial > games > semicongine
annotate semicongine.nim @ 1501:f40d9d814c08 default tip
did: correct vulkan-api generator
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 23:34:29 +0700 |
| parents | 3502e1efaeb4 |
| children |
| 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() |
| 1439 | 21 engine_obj_internal.mixer[].level = 1 |
| 1427 | 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 |
