Compare commits

...

50 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
381 changed files with 57214 additions and 45617 deletions

3
.gitignore vendored
View File

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

7
.gitmodules vendored
View File

@@ -1,10 +1,10 @@
[submodule "src/godot"]
path = src/godot
url = git@github.com:godotengine/godot
url = https://github.com/godotengine/godot
branch = 3.x
[submodule "src/modules/voxel"]
path = src/modules/voxel
url = git@github.com:Zylann/godot_voxel
url = https://github.com/Zylann/godot_voxel
branch = godot3.x
[submodule "src/flecs"]
path = src/flecs
@@ -17,3 +17,6 @@
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

View File

@@ -71,7 +71,11 @@
"future": "cpp",
"cassert": "cpp",
"bitset": "cpp",
"unordered_set": "cpp"
"unordered_set": "cpp",
"strstream": "cpp",
"typeindex": "cpp",
"shared_mutex": "cpp",
"any": "cpp"
},
"cmake.ignoreCMakeListsMissing": true
}

106
Makefile
View File

@@ -1,23 +1,49 @@
BLENDER = ../../blender-4.3.2-linux-x64/blender
SERVER = src/godot/bin/godot_server.x11.opt.tools.64
ARCH=$(patsubst aarch64,arm64,$(shell uname -m))
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 \
.PHONY: all godot-editor-main godot-editor-debug export export-models export-clothes \
export-clean export-linux-demo export-windows-demo \
export-binaries patch tests import-vrm
all: godot-editor-main godot-main
ARCH=$(patsubst aarch64,arm64,$(shell uname -i))
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; \
scons platform=x11 arch=$(ARCH) target=release tools=no custom_modules=../modules -j16; \
scons platform=x11 arch=$(ARCH) target=release_debug tools=no custom_modules=../modules -j16;
cd src/godot; \
scons platform=x11 arch=$(ARCH) target=release tools=no custom_modules=../modules -j16; \
scons platform=server target=release_debug tools=yes custom_modules=../modules -j16
godot-editor-main: patch
cd src/godot; \
scons platform=x11 arch=$(ARCH) target=release_debug tools=yes custom_modules=../modules -j16;
scons platform=$(1) arch=$(ARCH) target=$(2) tools=$(3) custom_modules=../modules $(SCONS_EXTRA)
endef
define build_godot_platform
$(eval $(call build_godot,$(1),release,no,godot-main-release-$(1),patch))
$(eval $(call build_godot,$(1),debug,no,godot-main-debug-$(1),patch))
$(eval $(call build_godot,$(1),release_debug,no,godot-main-rdebug-$(1),patch))
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
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
cd ./src/modules/voxel && git reset --hard HEAD && for p in ../../patches/voxel/*.patch; do git apply $$p; done
@@ -28,9 +54,50 @@ export-clean:
rm -Rf godot/character-data/*
rm -f assets/blender/scripts/tmp-*.blend
import-vrm: 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
@@ -44,6 +111,11 @@ export-binaries:
$(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
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

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 341 B

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

View File

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 276 B

View File

Before

Width:  |  Height:  |  Size: 346 B

After

Width:  |  Height:  |  Size: 346 B

View File

Before

Width:  |  Height:  |  Size: 431 B

After

Width:  |  Height:  |  Size: 431 B

View File

Before

Width:  |  Height:  |  Size: 437 B

After

Width:  |  Height:  |  Size: 437 B

View File

Before

Width:  |  Height:  |  Size: 517 B

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.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Binary file not shown.

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