Skip to content

Commit 837218d

Browse files
committed
gh-18: gh-19: rework asset management system
- introduce asset db and asset info struct - introduce asset artifact cache - introduce asset importer interface - introduce asset manifests - add asset import manager - rework asset load manager - rework asset classes to be serializable - rework asset meda data files - implement asset importers for engine asset
1 parent d40cffc commit 837218d

File tree

230 files changed

+7463
-2732
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

230 files changed

+7463
-2732
lines changed

.vscode/settings.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,11 @@
9999
"typeindex": "cpp",
100100
"**/*.glsl": "hlsl",
101101
"**/*.asset": "yaml",
102+
"**/*.manifest": "yaml",
102103
"**/*.shader": "yaml",
103104
"**/*.scene": "yaml",
104105
"**/*.style": "yaml",
106+
"**/*.uixml": "xml",
105107
"*.moc": "cpp",
106108
"coroutine": "cpp",
107109
"resumable": "cpp",
@@ -114,5 +116,6 @@
114116
"cmake.generator": "Ninja",
115117
"cmake.buildArgs": [
116118
"-j 8"
117-
]
119+
],
120+
"cmake.parallelJobs": 8
118121
}

editor/assets.manifest

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
assets:
2+
- "./fonts/roboto_black_italic.ttf"
3+
- "./fonts/roboto_black.ttf"
4+
- "./fonts/roboto_bold_italic.ttf"
5+
- "./fonts/roboto_bold_small.ttf"
6+
- "./fonts/roboto_bold.ttf"
7+
- "./fonts/roboto_italic.ttf"
8+
- "./fonts/roboto_light_italic.ttf"
9+
- "./fonts/roboto_light.ttf"
10+
- "./fonts/roboto_medium_italic.ttf"
11+
- "./fonts/roboto_medium.ttf"
12+
- "./fonts/roboto_regular.ttf"
13+
- "./styles/dark.style"
14+
- "./views/window_main.uixml"

editor/code/system/edt_editor.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
#include "edt_editor.hpp"
2929

30+
#include "asset/asset_db.hpp"
3031
#include "core/ioc_container.hpp"
3132
#include "system/engine.hpp"
3233

@@ -38,11 +39,11 @@ namespace wmoge {
3839

3940
Status EdtEditor::setup() {
4041
m_engine = m_ioc_container->resolve_value<Engine>();
41-
4242
return WG_OK;
4343
}
4444

4545
Status EdtEditor::init() {
46+
WG_CHECKED(m_engine->asset_db()->load_manifest("editor/assets.manifest"));
4647
return WG_OK;
4748
}
4849

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
1-
# Wmoge asset meta file
2-
version: 1
3-
uuid: 0
4-
loader: FreetypeAssetLoader
5-
rtti: Font
6-
deps: [ ]
7-
description: "font"
8-
import_data:
9-
rtti: FreetypeImportData
10-
source_files: [{file: "editor/fonts/roboto_black.ttf"}]
1+
uuid: 6708578728034997760
2+
flags:
3+
- Resolvable
4+
cls: Font
5+
importer: FreetypeFontImporter
6+
import_env:
7+
file_to_id:
8+
- key: editor/fonts/roboto_black.ttf
9+
value: 6708578728034997760
10+
- key: editor/fonts/roboto_black.ttf.bitmap
11+
value: 16381709934524848970
12+
deps: []
13+
errors: []
14+
import_settings:
15+
rtti: FontImportSettings
16+
user_data: ''
1117
height: 38
12-
glyphs_in_row: 16
18+
glyphs_in_row: 16
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
uuid: 16381709934524848970
2+
flags:
3+
- Hidden
4+
cls: Texture2d
5+
importer: ''
6+
import_env:
7+
file_to_id:
8+
- key: editor/fonts/roboto_black.ttf.bitmap
9+
value: 16381709934524848970
10+
deps: []
11+
errors: []
12+
import_settings:
Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
1-
# Wmoge asset meta file
2-
version: 1
3-
uuid: 0
4-
loader: FreetypeAssetLoader
5-
rtti: Font
6-
deps: [ ]
7-
description: "font"
8-
import_data:
9-
rtti: FreetypeImportData
10-
source_files: [{file: "editor/fonts/roboto_black_italic.ttf"}]
1+
uuid: 5476464690915011635
2+
flags:
3+
- Resolvable
4+
cls: Font
5+
importer: FreetypeFontImporter
6+
import_env:
7+
file_to_id:
8+
- key: editor/fonts/roboto_black_italic.ttf
9+
value: 5476464690915011635
10+
- key: editor/fonts/roboto_black_italic.ttf.bitmap
11+
value: 6864243949204656953
12+
deps: []
13+
errors: []
14+
import_settings:
15+
rtti: FontImportSettings
16+
user_data: ''
1117
height: 38
12-
glyphs_in_row: 16
18+
glyphs_in_row: 16
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
uuid: 6864243949204656953
2+
flags:
3+
- Hidden
4+
cls: Texture2d
5+
importer: ''
6+
import_env:
7+
file_to_id:
8+
- key: editor/fonts/roboto_black_italic.ttf.bitmap
9+
value: 6864243949204656953
10+
deps: []
11+
errors: []
12+
import_settings:

editor/fonts/roboto_bold.ttf.asset

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
1-
# Wmoge asset meta file
2-
version: 1
3-
uuid: 0
4-
loader: FreetypeAssetLoader
5-
rtti: Font
6-
deps: [ ]
7-
description: "font"
8-
import_data:
9-
rtti: FreetypeImportData
10-
source_files: [{file: "editor/fonts/roboto_bold.ttf"}]
1+
uuid: 13526067265454288763
2+
flags:
3+
- Resolvable
4+
cls: Font
5+
importer: FreetypeFontImporter
6+
import_env:
7+
file_to_id:
8+
- key: editor/fonts/roboto_bold.ttf
9+
value: 13526067265454288763
10+
- key: editor/fonts/roboto_bold.ttf.bitmap
11+
value: 1848047419099338625
12+
deps: []
13+
errors: []
14+
import_settings:
15+
rtti: FontImportSettings
16+
user_data: ''
1117
height: 38
12-
glyphs_in_row: 16
18+
glyphs_in_row: 16
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
uuid: 1848047419099338625
2+
flags:
3+
- Hidden
4+
cls: Texture2d
5+
importer: ''
6+
import_env:
7+
file_to_id:
8+
- key: editor/fonts/roboto_bold.ttf.bitmap
9+
value: 1848047419099338625
10+
deps: []
11+
errors: []
12+
import_settings:
Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
1-
# Wmoge asset meta file
2-
version: 1
3-
uuid: 0
4-
loader: FreetypeAssetLoader
5-
rtti: Font
6-
deps: [ ]
7-
description: "font"
8-
import_data:
9-
rtti: FreetypeImportData
10-
source_files: [{file: "editor/fonts/roboto_bold_italic.ttf"}]
1+
uuid: 2950733916632536715
2+
flags:
3+
- Resolvable
4+
cls: Font
5+
importer: FreetypeFontImporter
6+
import_env:
7+
file_to_id:
8+
- key: editor/fonts/roboto_bold_italic.ttf
9+
value: 2950733916632536715
10+
- key: editor/fonts/roboto_bold_italic.ttf.bitmap
11+
value: 10258568960416946343
12+
deps: []
13+
errors: []
14+
import_settings:
15+
rtti: FontImportSettings
16+
user_data: ''
1117
height: 38
12-
glyphs_in_row: 16
18+
glyphs_in_row: 16

0 commit comments

Comments
 (0)