Compare commits

...

222 Commits

Author SHA1 Message Date
ca6f7e9f55 Added SQLite 2025-05-19 11:33:25 +03:00
dd3867fbf1 Fixed lines data issues 2025-04-30 23:19:00 +03:00
bc0dcfaead Completed conversion of buildings handling to ECS systems 2025-04-29 16:15:37 +03:00
dd00a41024 Converted buildings loading to flecs 2025-04-17 19:30:39 +03:00
fd23aa6287 Update thirdparties 2025-04-15 10:01:04 +03:00
e441cd9c0a Updated thirdparty submodules 2025-04-01 12:18:19 +03:00
64424e3111 update build 2025-04-01 12:09:43 +03:00
c727a1912c Fixed build 2025-04-01 12:04:50 +03:00
69993ba696 remove more junk 2025-03-24 02:01:52 +08:00
af55e598e3 removed junk 2025-03-24 01:52:38 +08:00
77def2c519 Fixed EGL support for X11 2025-03-23 10:48:45 +08:00
676ef45897 x11es: use EGL 2025-03-23 05:15:03 +08:00
04e75ebd81 debugging 2025-03-21 00:50:55 +03:00
cafe9ba094 Enabled GL debug 2025-03-21 00:09:56 +03:00
05755827ce Updated GLES patch 2025-03-20 23:44:58 +03:00
691b8e22bd Fix embree build problems with x11es and aarch64 2025-03-20 22:43:00 +03:00
d087ca7c85 Updated makefile 2025-03-20 22:13:38 +03:00
5c9dda161b Added support for GLES on X11 2025-03-20 22:04:44 +03:00
1ac88ba5f8 tmp: fix build 2025-03-20 18:02:58 +08:00
53bb26c347 Disable async pixel transfer API for X11 2025-03-20 12:44:49 +03:00
7f87876cd5 Returned missing scenes 2025-03-19 04:47:26 +03:00
f4e551f053 Fixed tipoed 2025-03-19 09:34:48 +08:00
6819357b67 flecs and meshoptimizer update 2025-03-18 17:18:35 +03:00
ea792d8ea9 Save on draw calls 2025-03-17 19:40:50 +03:00
8e140fb878 Optimize buildings 2025-03-16 23:59:00 +03:00
7eceed3ee5 Optimized buildings a bit 2025-03-14 16:51:50 +03:00
85900e3ef1 Disable buildingd layouts graph 2025-03-13 22:47:00 +03:00
c7fe27c36e Fix weird issue with flecs 2025-03-13 21:46:05 +03:00
881c7b3229 Fix architecture detection 2025-03-14 01:28:09 +08:00
a9a1bbe740 Update gitmodules 2025-03-13 20:25:05 +03:00
876eefeea5 Less verbose log 2025-03-13 20:14:58 +03:00
5f1fdddc5d City generation works now 2025-03-13 18:11:51 +03:00
0f21cce741 Compoile fixes 2025-03-12 05:25:35 +03:00
32a8e1fb58 flecs and meshoptimizer update 2025-03-04 02:48:34 +03:00
e83cecc8b3 Lot separation and splitting works 2025-03-04 02:43:08 +03:00
2afa4feee8 Updated generation of lots 2025-03-03 10:00:13 +03:00
fc1c4b5168 Separating line data classes into components 2025-02-27 10:34:02 +03:00
d79222c86c Update - fixed lots generation, now can save lots polygons 2025-02-26 08:02:41 +03:00
66838892d5 Propagated side to wedge 2025-02-15 01:30:31 +03:00
2eed8ef509 Quality of life in procedural town creation improved 2025-02-13 14:41:53 +03:00
b56103930c Quality of life with road lines edge data (lots, buildings, etc.) 2025-02-12 05:50:12 +03:00
2780fd300a Updated systems handling 2025-02-08 22:32:21 +03:00
7518a6a360 Updated .gitignore 2025-01-31 09:57:46 +03:00
d2cc947ae7 Added blender plugins 2025-01-31 09:46:02 +03:00
6eae0ac557 Character VRMs 2025-01-31 09:36:51 +03:00
e5f22d47ab Update everything 2025-01-31 09:33:19 +03:00
c8f4ff5a4e VRoid source files 2025-01-31 08:53:06 +03:00
2e35ff4ec6 Update settings 2025-01-31 08:50:50 +03:00
dc6c8f881a update third party tools 2025-01-31 08:49:33 +03:00
a5bb11f5bf Adding more models 2025-01-29 14:29:02 +03:00
71b709726e Update blender export scripts 2025-01-28 12:39:38 +03:00
6eedf347ba Updated Makefile 2025-01-28 12:35:30 +03:00
37fc4da92d Added mixamo animations 2025-01-28 11:31:50 +03:00
9107ccbaa3 Added blender scripts 2025-01-28 11:30:59 +03:00
d34369512b Worked on brush parameter editing 2025-01-13 21:29:50 +03:00
2b671cedb2 Added missing file 2025-01-12 19:13:01 +03:00
6617b66ff3 Brushes work now, curve editor 2025-01-12 18:46:11 +03:00
59a99ff706 Proper brush configuration 2025-01-03 04:22:54 +03:00
b7b746d000 MeshOptimizer update 2025-01-02 04:20:31 +03:00
6622e1a6ac Started terrain editor 2025-01-02 04:16:30 +03:00
c3720f69c8 Finally shrinking looks sane 2024-12-29 00:06:10 +03:00
2f8031fa8e Fixed iteration finish code 2024-12-17 14:50:37 +03:00
6f2ab0105d Shrinking is broken 2024-12-17 00:57:21 +03:00
4c2049f05c Fixed processing of graphs 2024-12-11 00:06:37 +03:00
af490a5eb4 Roworking enterance handling 2024-12-10 21:59:26 +03:00
d2cd99d325 remove inkcpp 2024-12-10 19:31:10 +03:00
5c57390d4c Added Ink 2024-12-09 12:12:38 +03:00
49a0fd7e74 Use integer for rotation 2024-12-09 01:15:06 +03:00
54a9b6f9ad Rewritten grid matching in more declarative way 2024-12-09 00:52:04 +03:00
5d4c653c9a Now generating layouts with corridoors 2024-12-08 19:16:06 +03:00
d46401b973 Separated and cleaned interior/exterior stuff 2024-12-06 01:00:03 +03:00
b427de968f Now we can generate 3D layouts 2024-12-05 22:00:18 +03:00
770a163c63 Handling aspect 2024-12-02 16:32:52 +03:00
482194b14c Flecs update 2024-12-01 19:08:53 +03:00
5dfa476a54 Better drawing of layout tiles 2024-12-01 19:04:49 +03:00
42dc811cf6 Now layout build works fine 2024-12-01 04:12:25 +03:00
34bded906c Added sokol for tests 2024-11-25 17:07:46 +03:00
c0248e1b11 Updated test 2024-11-25 16:20:48 +03:00
40183a44a7 Added region_tree tests 2024-11-25 15:34:42 +03:00
fe876fccca tests 2024-11-25 11:06:35 +03:00
5d59a15e36 Reworked growing of regions into jbo system 2024-11-19 12:33:16 +03:00
aff536d37f Updated flecs and meshoptimizer 2024-11-16 11:49:19 +03:00
74afcaf126 Reworked region creation 2024-11-16 11:42:25 +03:00
abd814eba2 Refactored region growth 2024-11-16 06:24:34 +03:00
0b4a942acb Updated TODO 2024-11-14 07:06:05 +03:00
90bfc54952 Allocate rooms in zones started 2024-11-14 06:57:47 +03:00
13fa1e6eef Need to limit per region growth 2024-11-12 08:10:32 +03:00
d1bcf3af7b Did a small refactoring 2024-11-12 07:51:34 +03:00
124a080840 Visualize grid in 2D: multiple floors support 2024-11-11 03:03:43 +03:00
8381e37fbe Grid 2D display 2024-11-11 01:05:19 +03:00
2eee5efd95 Updated flecs, godot, meshoptimizer 2024-11-10 05:25:01 +03:00
db2942986d Now able to create grid 2024-11-10 05:12:47 +03:00
bfa2621dee Building skeleton generation done 2024-11-04 04:26:43 +03:00
f474ada828 Added commands to config 2024-11-03 06:33:06 +03:00
3b60d685f7 flecs update 2024-11-03 06:26:40 +03:00
50b2ae5363 proper command interface was implemented 2024-11-03 06:23:10 +03:00
e3f37cdcdc Implemented ordering and command setting 2024-11-01 22:54:51 +03:00
f1d5b75ca1 Forgot to add a file 2024-11-01 00:04:22 +03:00
41e9590bda Update Godot, flecs, meshoptimizer 2024-11-01 00:03:38 +03:00
7b87d9bea6 Fixed lots of problems 2024-10-31 23:15:04 +03:00
f59f2dce09 Added article 2024-10-31 14:24:57 +03:00
245cb1e408 Separated module; generate grid size 2024-10-30 17:31:24 +03:00
6e1e864197 Working on initial stages of procedural generator 2024-10-30 03:04:03 +03:00
a91bda34e5 Graph look + cleanup 2024-10-28 03:48:31 +03:00
21fb3833cc Save/Load works for building layout graphs 2024-10-28 02:03:00 +03:00
799ac40a4a Made layout saving work 2024-10-27 22:36:30 +03:00
7152267937 Separated dlayout data code 2024-10-27 18:29:28 +03:00
ae3d86d391 Continued work on layout graph 2024-10-27 17:50:48 +03:00
6eb584f73c Getting room types from file 2024-10-27 00:32:04 +03:00
0356746749 meshoptimizer update 2024-10-26 21:59:21 +03:00
5b4fcdd0f6 Finally implemented interior graph 2024-10-26 21:56:07 +03:00
69b807bf22 Working on interior graph 2024-10-26 02:41:33 +03:00
3b4006e02d Refactoring; Started GUI for interior layout graph 2024-10-25 22:16:35 +03:00
2cc591706f MeshOptimizer update 2024-10-24 04:51:12 +03:00
aa324903fd Editor UI refactoring 2024-10-24 04:48:36 +03:00
7bac24d34e Cellular automata implementation 2024-10-21 19:54:07 +03:00
997b66b7f9 Mesh optimizations 2024-10-17 01:03:15 +03:00
b2fe7d7e46 Added MeshOptimizer 2024-10-16 21:58:17 +03:00
844056de64 Now creating MeshLibrary for buildings 2024-10-16 01:10:15 +03:00
b6b5fdada9 Fixed instabilities 2024-10-15 19:59:25 +03:00
3241905ad1 Added camera controls 2024-10-12 17:49:13 +03:00
2424659058 Building models update 2024-10-11 03:16:34 +03:00
bbb608611c Now mesh merging for elements works 2024-10-10 17:20:35 +03:00
f4f8bbce0b Started mesh merging implementation 2024-10-10 12:25:32 +03:00
2597802469 Fixed tile growing 2024-10-10 01:30:57 +03:00
69b62c8c97 Multiple levels support 2024-10-08 04:31:36 +03:00
f62dbbf505 ECS redesign for buildings layout editor 2024-10-07 18:38:46 +03:00
64a66d1c50 Can now select grid node with mouse click 2024-10-06 18:17:45 +03:00
0e5a2e7f9b Worked on building layout editor 2024-10-06 09:08:28 +03:00
6986a4a334 Split ElementType editor from LayoutEditor 2024-10-05 08:42:32 +03:00
57f34b93bf Flecs update 2024-10-05 03:43:04 +03:00
c8072b8457 Added NPC roster data 2024-10-05 03:36:27 +03:00
166e6d6b4a Started buildings layout editor 2024-10-05 03:35:32 +03:00
db39715354 Lines are under ECS too 2024-10-03 01:35:31 +03:00
b0613d9ad1 Accessor is ready for ECS 2024-10-02 23:09:01 +03:00
794857209d Made accessor for lines 2024-10-02 20:49:41 +03:00
521ae37202 Update godot 2024-10-02 11:25:23 +03:00
175c863577 Removed unneeded stuff 2024-10-01 12:48:14 +03:00
b6971322f2 Now access buildings externally only by string keys 2024-10-01 12:40:38 +03:00
5e6bcedd09 Refactor more for string key access to buildings 2024-10-01 05:27:15 +03:00
9705200853 Fixed double deletion check assert 2024-10-01 04:12:51 +03:00
b2bcfd0253 Started implementing data model friendly to ECS 2024-10-01 03:58:15 +03:00
97172fff8d Cleanup 2024-10-01 00:33:29 +03:00
20807366d1 Adapted ECS for building instances 2024-09-29 18:36:11 +03:00
0d425391ce Refactor building access keys 2024-09-29 01:59:55 +03:00
e19dbd7a4f Started using ECS 2024-09-28 05:23:24 +03:00
dfb24aa4b2 Added flecs distributed files 2024-09-27 15:55:49 +03:00
5778c79bba Buildings refactoring 2024-09-27 15:40:28 +03:00
8f36415891 Add flecs 2024-09-27 15:39:48 +03:00
63b9e710f5 Godot update 2024-09-27 12:00:21 +03:00
8fa68006bc Added some icons 2024-09-27 11:59:50 +03:00
144b737dc3 Now line buildings save/load works 2024-09-24 22:00:24 +03:00
12822d2f65 Adding rotation support for offsets 2024-09-24 18:18:53 +03:00
1d620a3326 Direct rotation control, closes #49 2024-09-23 12:21:34 +03:00
7648beb507 Implemented direct cursor and building coordinate setting 2024-09-23 01:33:05 +03:00
72bc6ade25 Added UI to control cursor and building position in buildings editor 2024-09-22 04:33:35 +03:00
a21bd9dc9b godot update 2024-09-22 02:22:18 +03:00
2f3187257d Worked on buildings in lines 2024-09-22 02:19:40 +03:00
6fa644c57d All editor is in c++ now 2024-09-20 18:40:32 +03:00
9ad8bb2620 Removed script from editor 2024-09-20 16:06:27 +03:00
43c312e371 Worked on debugging and metadata stuff 2024-09-18 23:00:52 +03:00
a9190fcc09 Fight with event leaking; disabled unncecessary camera checks 2024-09-17 23:08:41 +03:00
c268a4992a fixed camera rotation fixed 2024-09-17 15:30:35 +03:00
3c99a0b09c fixed camera rotation 2024-09-17 15:29:29 +03:00
43bc11b6e8 Godot update, camera nav widget, closes #35 2024-09-17 02:27:31 +03:00
49e7b9f970 Create records for doors and aabbs, debug events problem, closes #38 2024-09-16 19:06:04 +03:00
ccc1555424 Separated BuildingsData to a singleton as RoadLinesData 2024-09-16 13:34:06 +03:00
e971020cb3 Building creation done 2024-09-16 01:37:41 +03:00
d5ad5bac8c Almost separated the buildings editor 2024-09-15 23:57:40 +03:00
e505c6df0d Started working on building creation 2024-09-14 21:19:33 +03:00
196ce25dbe Generated stuff removal done, closes #27 2024-09-14 20:10:00 +03:00
e720697b70 Now can move camera in line editor mode, closes #2 2024-09-14 19:29:31 +03:00
01c69a4ae9 rebuilding roads done, closes #20 2024-09-14 17:00:08 +03:00
c95976016e Added callables 2024-09-11 22:11:29 +03:00
c0b2081242 Godot update 2024-09-11 16:00:32 +03:00
b3b7cc0d90 Refactoring of lines handling 2024-09-11 15:59:00 +03:00
2f3465350e Started work on procgen 2024-09-09 23:55:46 +03:00
f103860c79 Removing generated stuff via prefixes 2024-09-08 20:12:05 +03:00
41b46c9526 Building removal works now 2024-09-08 19:28:21 +03:00
eac265642e Working on building removal 2024-09-08 17:25:57 +03:00
4468c839ec Implemented metadata editor. closes #19 2024-09-08 15:01:25 +03:00
67e3057109 Lines saving works 2024-09-07 22:58:20 +03:00
88317b2564 Can create and delete lines 2024-09-05 15:16:19 +03:00
ed09663bcc worked on lines saving 2024-09-05 12:11:46 +03:00
4c26ff677c Godot update 2024-09-04 20:04:43 +03:00
ccc15bbe6c Manual coordinates for curspr and point work 2024-09-04 20:02:47 +03:00
ab9387a06a Point create/Delete and cursor lineedit display 2024-09-03 22:42:28 +03:00
802ff0fd53 Godot update 2024-09-03 20:29:15 +03:00
818c21ecac Line filter is implemented 2024-09-01 06:13:06 +03:00
0e819d6e7e Actual line editing 2024-08-31 11:53:28 +03:00
1aa73b4367 Added spinbox patch to godot 2024-08-31 06:12:31 +03:00
49a88f7c2e Using lines cursor 2024-08-30 13:49:07 +03:00
4f1477982a Working on map lines editing GUI 2024-08-29 03:22:21 +03:00
bbb13546b1 Fixed reactivation problems 2024-08-28 16:41:02 +03:00
7486334c04 Building editing update 2024-08-25 02:00:01 +03:00
0daf02795e Initial camera control code added 2024-08-19 22:05:15 +03:00
d1dc024353 Added camera mode to c++ 2024-08-19 18:30:02 +03:00
72beab0829 Proper display of building types 2024-07-26 23:37:15 +03:00
d61618c895 Backup buildings state 2024-07-26 22:45:51 +03:00
b486453b59 Added serialization for structures 2024-07-26 19:19:39 +03:00
127192ddbe Added proper building de-serialization code 2024-07-26 18:04:33 +03:00
efddadd01b Godot update 2024-07-26 13:46:16 +03:00
e30e1ed2d8 Started buildings undo system implementation 2024-07-26 13:44:03 +03:00
42ac0f19ca Implemented structure relocation 2024-07-25 21:07:59 +03:00
144f45d522 Added initial implementation of world editor 2024-06-01 02:50:37 +03:00
e3dab9f816 Godot update 2024-05-28 19:16:35 +03:00
d1142eb57a Use architecture for debugger 2024-05-28 19:10:53 +03:00
38e8b868e8 Set main scene for export 2024-05-28 19:10:01 +03:00
26d9719c37 Updated ARM export settings 2024-05-28 18:45:36 +03:00
b427e0d9be Added export presets 2024-05-28 18:34:36 +03:00
70049d5195 Updated Makefile for aarch64 2024-05-28 14:07:24 +03:00
bf78f29ca0 The town should work now 2024-05-28 13:22:08 +03:00
ab5f35eba1 Now road, terrain and buildings work fine 2024-05-26 01:21:19 +03:00
d0db1e45a3 Road lines seems to be working and converted to road nodes 2024-05-20 17:23:23 +03:00
33dd2be5ac Added missing data 2024-05-20 17:22:19 +03:00
073854c107 Added streaming system 2024-05-19 04:18:53 +03:00
ee792671b0 Added walls 2024-05-16 23:22:53 +03:00
20cc941316 Added vscode data 2024-05-15 14:41:31 +03:00
3d54b42863 Patching voxel 2024-05-15 14:40:17 +03:00
6046785697 Godot update 2024-05-15 14:17:05 +03:00
3750690533 Added mapper 2024-05-15 14:13:42 +03:00
43acc25e35 Added submodule 2024-05-15 13:57:02 +03:00
737 changed files with 357422 additions and 18 deletions

3
.gitignore vendored
View File

@@ -1,5 +1,6 @@
.import .import
godot/logs godot/logs
godot/character-data/*
assets/blender/**/*.blend1 assets/blender/**/*.blend1
assets/blender/**/*.blend2 assets/blender/**/*.blend2
assets/blender/**/*.blend3 assets/blender/**/*.blend3
@@ -10,3 +11,5 @@ assets/blender/scripts/*.blend*
.*.swp .*.swp
*.kra~ *.kra~
*.png~ *.png~
godot/astream/road_lines.json.*

20
.gitmodules vendored
View File

@@ -1,4 +1,22 @@
[submodule "src/godot"] [submodule "src/godot"]
path = src/godot path = src/godot
url = git@github.com:godotengine/godot url = https://github.com/godotengine/godot
branch = 3.x branch = 3.x
[submodule "src/modules/voxel"]
path = src/modules/voxel
url = https://github.com/Zylann/godot_voxel
branch = godot3.x
[submodule "src/flecs"]
path = src/flecs
url = https://github.com/SanderMertens/flecs
[submodule "src/meshoptimizer"]
path = src/meshoptimizer
url = https://github.com/zeux/meshoptimizer
branch = master
[submodule "tests/flecs-systems-sokol"]
path = tests/flecs-systems-sokol
url = https://github.com/flecs-hub/flecs-systems-sokol
branch = master
[submodule "src/sqlite"]
path = src/sqlite
url = https://github.com/sqlite/sqlite

26
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,26 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Run Editor",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/src/godot/bin/godot.x11.opt.tools.64",
"args": ["main/editor.tscn"],
"cwd": "${workspaceRoot}/godot",
"setupCommands": [{"text": "source ${workspaceRoot}/debug.py"}]
},
{
"name": "Run Game",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/src/godot/bin/godot.x11.opt.tools.64",
"args": ["main/main.tscn"],
"cwd": "${workspaceRoot}/godot",
"setupCommands": [{"text": "source ${workspaceRoot}/debug.py"}]
}
]
}

81
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,81 @@
{
"godot_tools.editor_path": "/home/slapin/godot-projects/office/src/godot/bin/godot.x11.opt.tools.64",
"files.associations": {
"*.ipp": "cpp",
"array": "cpp",
"*.tcc": "cpp",
"*.inc": "cpp",
"atomic": "cpp",
"bit": "cpp",
"cctype": "cpp",
"charconv": "cpp",
"chrono": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"compare": "cpp",
"concepts": "cpp",
"condition_variable": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"deque": "cpp",
"list": "cpp",
"map": "cpp",
"set": "cpp",
"string": "cpp",
"unordered_map": "cpp",
"vector": "cpp",
"exception": "cpp",
"algorithm": "cpp",
"functional": "cpp",
"iterator": "cpp",
"memory": "cpp",
"memory_resource": "cpp",
"numeric": "cpp",
"optional": "cpp",
"random": "cpp",
"ratio": "cpp",
"string_view": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"fstream": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"mutex": "cpp",
"new": "cpp",
"numbers": "cpp",
"ostream": "cpp",
"semaphore": "cpp",
"span": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"stop_token": "cpp",
"streambuf": "cpp",
"thread": "cpp",
"cinttypes": "cpp",
"typeinfo": "cpp",
"variant": "cpp",
"format": "cpp",
"future": "cpp",
"cassert": "cpp",
"bitset": "cpp",
"unordered_set": "cpp",
"strstream": "cpp",
"typeindex": "cpp",
"shared_mutex": "cpp",
"any": "cpp"
},
"cmake.ignoreCMakeListsMissing": true
}

37
.vscode/snippets.code-snippets vendored Normal file
View File

@@ -0,0 +1,37 @@
{
// Place your streaming_world workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"cppHeaderGuard": {
"prefix": "hg1",
"body": [
"#ifndef ${TM_FILEPATH/(?:^.*\\\\src\\\\)?(\\w+)\\W?/${1:/upcase}_/g}",
"#define ${TM_FILEPATH/(?:^.*\\\\src\\\\)?(\\w+)\\W?/${1:/upcase}_/g}",
"",
"#endif // ${TM_FILEPATH/(?:^.*\\\\src\\\\)?(\\w+)\\W?/${1:/upcase}_/g}"
]
},
"cppHeaderGuard2": {
"prefix": "hg2",
"body": [
"/* ${TM_FILEPATH} */",
"#ifndef ${TM_FILENAME/(\\w+)\\W?/${1:/upcase}_/g}",
"#define ${TM_FILENAME/(\\w+)\\W?/${1:/upcase}_/g}",
"",
"#endif // ${TM_FILENAME/(\\w+)\\W?/${1:/upcase}_/g}"
]
}
}

27
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,27 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "make",
"args": [
"godot-editor-main"
],
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn":[
]
},
{
"label": "run-gym",
"type": "shell",
"command": "../src/godot/bin/godot.x11.opt.tools.64",
"args": ["locations/gym.tscn"]
}
]
}

115
Makefile
View File

@@ -1,34 +1,109 @@
BLENDER = ../../blender-3.3.1-linux-x64/blender ARCH=$(patsubst aarch64,arm64,$(shell uname -m))
SERVER = src/godot/bin/godot_server.x11.opt.tools.64 BLENDER = ../../blender-3.6.20-linux-x64/blender
SERVER = src/godot/bin/godot_server.x11.opt.tools.$(ARCH)
EDITOR_PLATFORM=x11es
EDITOR2_PLATFORM=x11
DEMO_PLATFORMS=x11 x11es
EDITOR = src/godot/bin/godot.$(EDITOR_PLATFORM).opt.tools.$(ARCH)
EDITOR_DBG = src/godot/bin/godot.$(EDITOR_PLATFORM).tools.$(ARCH)
EDITOR2 = src/godot/bin/godot.$(EDITOR2_PLATFORM).opt.tools.$(ARCH)
EDITOR2_DBG = src/godot/bin/godot.$(EDITOR2_PLATFORM).tools.$(ARCH)
.PHONY: all godot-editor-main export export-models export-clothes export-clean export-linux-demo export-windows-demo export-binaries patch .PHONY: all godot-editor-main godot-editor-debug export export-models export-clothes \
all: godot-editor-main godot-main export-clean export-linux-demo export-windows-demo \
godot-main: patch export-binaries patch tests import-vrm export-buildings
all: godot-editor-main godot-editor-debug godot-main
SCONS_EXTRA=-j16
define build_godot
$(4): $(5)
@echo Building $(4)
cd src/godot; \ cd src/godot; \
scons platform=x11 target=release tools=no custom_modules=../modules -j16; \ scons platform=$(1) arch=$(ARCH) target=$(2) tools=$(3) custom_modules=../modules $(SCONS_EXTRA)
scons platform=x11 target=release_debug tools=no custom_modules=../modules -j16; endef
cd src/godot; \
scons platform=x11 target=release tools=no custom_modules=../modules -j16; \ define build_godot_platform
scons platform=server target=release_debug tools=yes custom_modules=../modules -j16 $(eval $(call build_godot,$(1),release,no,godot-main-release-$(1),patch))
godot-editor-main: patch $(eval $(call build_godot,$(1),debug,no,godot-main-debug-$(1),patch))
cd src/godot; \ $(eval $(call build_godot,$(1),release_debug,no,godot-main-rdebug-$(1),patch))
scons platform=x11 target=release_debug tools=yes custom_modules=../modules -j16; GODOT_MAIN_TARGETS += godot-main-release-$(1) godot-main-debug-$(1) godot-main-rdebug-$(1)
endef
$(foreach pt,$(DEMO_PLATFORMS),$(eval $(call build_godot_platform,$(pt))))
godot-main: $(GODOT_MAIN_TARGETS) godot-editor-main godot-server-main
godot-server-main: $(SERVER)
godot-editor-main: $(EDITOR) $(EDITOR2)
godot-editor-debug: $(EDITOR_DBG) $(EDITOR2_DBG)
#$(SERVER): patch
# cd src/godot; \
# scons platform=server arch=$(ARCH) target=release_debug tools=yes custom_modules=../modules -j16
$(eval $(call build_godot,server,release_debug,yes,$(SERVER),patch))
$(eval $(call build_godot,x11es,release_debug,yes,$(EDITOR),patch))
$(eval $(call build_godot,x11es,debug,yes,$(EDITOR_DBG),patch))
$(eval $(call build_godot,x11,release_debug,yes,$(EDITOR2),patch))
$(eval $(call build_godot,x11,debug,yes,$(EDITOR2_DBG),patch))
patch: ./src/godot/scene/animation/skeleton_ik.cpp patch: ./src/godot/scene/animation/skeleton_ik.cpp
cd ./src/godot && git reset --hard HEAD && for p in ../patches/*.patch; do git apply $$p; done cd ./src/godot && git reset --hard HEAD && rm -Rf platform/x11es && for p in ../patches/*.patch; do git apply $$p; done
sed -e 's/ERR_FAIL_COND_V(-1 == p_task->root_bone, false);//g' -i ./src/godot/scene/animation/skeleton_ik.cpp sed -e 's/ERR_FAIL_COND_V(-1 == p_task->root_bone, false);//g' -i ./src/godot/scene/animation/skeleton_ik.cpp
cd ./src/modules/voxel && git reset --hard HEAD && for p in ../../patches/voxel/*.patch; do git apply $$p; done
export: export-models export-clothes export: export-models export-clothes
rm -Rf godot/.import rm -Rf godot/.import
export-clean: export-clean:
rm -Rf godot/character-data/*
rm -f assets/blender/scripts/tmp-*.blend rm -f assets/blender/scripts/tmp-*.blend
export-models: export-clean install-addons:
$(BLENDER) -b -Y -P assets/blender/scripts/install_addons.py
import-vrm: install-addons export-clean
mkdir -p assets/blender/scripts/shapes/male assets/blender/scripts/shapes/female
$(BLENDER) -b -Y -P assets/blender/scripts/import_vrm.py
export2edit: import-vrm
$(BLENDER) -b -Y -P assets/blender/scripts/export_for_modelling.py
BLENDDIR_BUILDINGS=assets/blender/buildings
GLTFDIR_BUILDINGS=godot/astream/terrain/details
BUILDINGS_BUSINESS=business-bar1 business-cafe1 business-office1 business-store1
BUILDINGS_RESIDENTAL=residental-house1 residental-house2 residental-house3 \
residental-house4 residental-house5 residental-house6 \
residental-house7 residental-house8 residental-house9 \
residental-house10 residental-house11 residental-house13 \
residental-hut1 residental-hut1-lod \
residental-garage-door \
residental-garage-enterance residental-garage \
residental-parking residental-wall1 \
residental-wall-corner residental-garage-roof1
BUILDINGS_MAIN=gym-exterior home-exterior \
logistics-center-exterior office-exterior townhall-exterior
BUILDINGS=bus-stop power-in-box power-pole power-pole-wire $(BUILDINGS_BUSINESS) \
$(BUILDINGS_RESIDENTAL) $(BUILDINGS_MAIN) \
zebra
define export_building
$(GLTFDIR_BUILDINGS)/$(1).gltf: $(BLENDDIR_BUILDINGS)/$(1).blend assets/blender/scripts/export_buildings.py
$(BLENDER) -b $(BLENDDIR_BUILDINGS)/$(1).blend -Y -P ./assets/blender/scripts/export_buildings.py -- $(GLTFDIR_BUILDINGS)/$(1).gltf
ALL_BUILDINGS += $(GLTFDIR_BUILDINGS)/$(1).gltf
CLEAN_BUILDINGS += $(GLTFDIR_BUILDINGS)/$(1).gltf \
$(GLTFDIR_BUILDINGS)/$(1).bin
endef
$(foreach prog,$(BUILDINGS),$(eval $(call export_building,$(prog))))
export-buildings: $(ALL_BUILDINGS)
@echo $(ALL_BUILDINGS)
clean-buildings:
rm -f $(CLEAN_BUILDINGS) $(GLTFDIR_BUILDINGS)/material_atlas*.material
export-models: export-clean import-vrm
$(BLENDER) -b -Y -P assets/blender/scripts/export_models.py $(BLENDER) -b -Y -P assets/blender/scripts/export_models.py
export-clothes: export-clean export-clothes: export-clean
$(BLENDER) -b -Y -P assets/blender/scripts/export_clothes.py $(BLENDER) -b -Y -P assets/blender/scripts/export_clothes.py
export-binaries: export-binaries:
mkdir -p export mkdir -p export
$(SERVER) --path godot --export linux_demo ../export/office-demo-linux.x86_64 $(SERVER) --path godot --export linux_demo ../export/office-demo-linux.x86_64
@@ -36,4 +111,12 @@ export-binaries:
$(SERVER) --path godot --export windows_demo ../export/office-demo-windows.x86_64.exe $(SERVER) --path godot --export windows_demo ../export/office-demo-windows.x86_64.exe
$(SERVER) --path godot --export-debug windows_demo ../export/office-demo-debug-windows.x86_64.exe $(SERVER) --path godot --export-debug windows_demo ../export/office-demo-debug-windows.x86_64.exe
pack-terrain: godot-server-main
$(SERVER) --path ./godot --import --quit
$(SERVER) --path ./godot -s make_terrain_pck.gd --quit
tests:
make -C tests all

2
assets/blender/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
vrm-*.blend*
modelling-*.blend*

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 437 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 517 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,153 @@
{
"asset":{
"generator":"Khronos glTF Blender I/O v3.6.28",
"version":"2.0"
},
"extensionsUsed":[
"KHR_materials_specular",
"KHR_materials_ior"
],
"scene":0,
"scenes":[
{
"name":"Scene",
"nodes":[
0
]
}
],
"nodes":[
{
"mesh":0,
"name":"terrain-parking-lot-col"
}
],
"materials":[
{
"alphaCutoff":0.5,
"alphaMode":"MASK",
"extensions":{
"KHR_materials_specular":{
"specularColorFactor":[
0.474271529955476,
0.474271529955476,
0.474271529955476
]
},
"KHR_materials_ior":{
"ior":1.4500000476837158
}
},
"name":"material_atlas_36953_1",
"pbrMetallicRoughness":{
"baseColorTexture":{
"index":0
},
"metallicFactor":0
}
}
],
"meshes":[
{
"name":"Plane",
"primitives":[
{
"attributes":{
"POSITION":0,
"NORMAL":1,
"TEXCOORD_0":2
},
"indices":3,
"material":0
}
]
}
],
"textures":[
{
"sampler":0,
"source":0
}
],
"images":[
{
"mimeType":"image/png",
"name":"Atlas_36953",
"uri":"Atlas_36953.png"
}
],
"accessors":[
{
"bufferView":0,
"componentType":5126,
"count":250,
"max":[
25.032987594604492,
0.3288002610206604,
49.057586669921875
],
"min":[
-25.032987594604492,
-4.005487442016602,
-37.008201599121094
],
"type":"VEC3"
},
{
"bufferView":1,
"componentType":5126,
"count":250,
"type":"VEC3"
},
{
"bufferView":2,
"componentType":5126,
"count":250,
"type":"VEC2"
},
{
"bufferView":3,
"componentType":5123,
"count":474,
"type":"SCALAR"
}
],
"bufferViews":[
{
"buffer":0,
"byteLength":3000,
"byteOffset":0,
"target":34962
},
{
"buffer":0,
"byteLength":3000,
"byteOffset":3000,
"target":34962
},
{
"buffer":0,
"byteLength":2000,
"byteOffset":6000,
"target":34962
},
{
"buffer":0,
"byteLength":948,
"byteOffset":8000,
"target":34963
}
],
"samplers":[
{
"magFilter":9729,
"minFilter":9987
}
],
"buffers":[
{
"byteLength":8948,
"uri":"terrain-lot1.bin"
}
]
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More