diff --git a/godot-jolt/LICENSE.txt b/godot-jolt/LICENSE.txt
new file mode 100644
index 0000000..2675022
--- /dev/null
+++ b/godot-jolt/LICENSE.txt
@@ -0,0 +1,18 @@
+Copyright (c) Mikael Hermansson and Godot Jolt contributors.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/godot-jolt/THIRDPARTY.txt b/godot-jolt/THIRDPARTY.txt
new file mode 100644
index 0000000..e294095
--- /dev/null
+++ b/godot-jolt/THIRDPARTY.txt
@@ -0,0 +1,91 @@
+Godot Jolt incorporates third-party material from the projects listed below.
+
+Godot Engine (https://github.com/godotengine/godot)
+
+ Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md).
+ Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
+
+godot-cpp (https://github.com/godot-jolt/godot-cpp)
+
+ Copyright (c) 2017-present Godot Engine contributors.
+ Copyright (c) 2022-present Mikael Hermansson.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
+
+Jolt Physics (https://github.com/godot-jolt/jolt)
+
+ Copyright (c) 2021 Jorrit Rouwe.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
+
+mimalloc (https://github.com/godot-jolt/mimalloc)
+
+ Copyright (c) 2018-2021 Microsoft Corporation, Daan Leijen.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
diff --git a/godot-jolt/android/libgodot-jolt_android-arm32.so b/godot-jolt/android/libgodot-jolt_android-arm32.so
new file mode 100644
index 0000000..20ae181
Binary files /dev/null and b/godot-jolt/android/libgodot-jolt_android-arm32.so differ
diff --git a/godot-jolt/android/libgodot-jolt_android-arm32_editor.so b/godot-jolt/android/libgodot-jolt_android-arm32_editor.so
new file mode 100644
index 0000000..bfe3744
Binary files /dev/null and b/godot-jolt/android/libgodot-jolt_android-arm32_editor.so differ
diff --git a/godot-jolt/android/libgodot-jolt_android-arm64.so b/godot-jolt/android/libgodot-jolt_android-arm64.so
new file mode 100644
index 0000000..a089ce6
Binary files /dev/null and b/godot-jolt/android/libgodot-jolt_android-arm64.so differ
diff --git a/godot-jolt/android/libgodot-jolt_android-arm64_editor.so b/godot-jolt/android/libgodot-jolt_android-arm64_editor.so
new file mode 100644
index 0000000..95af658
Binary files /dev/null and b/godot-jolt/android/libgodot-jolt_android-arm64_editor.so differ
diff --git a/godot-jolt/android/libgodot-jolt_android-x64.so b/godot-jolt/android/libgodot-jolt_android-x64.so
new file mode 100644
index 0000000..f764940
Binary files /dev/null and b/godot-jolt/android/libgodot-jolt_android-x64.so differ
diff --git a/godot-jolt/android/libgodot-jolt_android-x64_editor.so b/godot-jolt/android/libgodot-jolt_android-x64_editor.so
new file mode 100644
index 0000000..43f9d2b
Binary files /dev/null and b/godot-jolt/android/libgodot-jolt_android-x64_editor.so differ
diff --git a/godot-jolt/android/libgodot-jolt_android-x86.so b/godot-jolt/android/libgodot-jolt_android-x86.so
new file mode 100644
index 0000000..e8d6cad
Binary files /dev/null and b/godot-jolt/android/libgodot-jolt_android-x86.so differ
diff --git a/godot-jolt/android/libgodot-jolt_android-x86_editor.so b/godot-jolt/android/libgodot-jolt_android-x86_editor.so
new file mode 100644
index 0000000..5583ff2
Binary files /dev/null and b/godot-jolt/android/libgodot-jolt_android-x86_editor.so differ
diff --git a/godot-jolt/godot-jolt.gdextension b/godot-jolt/godot-jolt.gdextension
new file mode 100644
index 0000000..8a7e50b
--- /dev/null
+++ b/godot-jolt/godot-jolt.gdextension
@@ -0,0 +1,41 @@
+[godot-jolt]
+version = "0.14.0-stable"
+build = "3392156fab"
+
+[configuration]
+
+entry_symbol = "godot_jolt_main"
+compatibility_minimum = "4.3"
+compatibility_maximum = "4.3"
+
+[libraries]
+
+windows.release.single.x86_64 = "windows/godot-jolt_windows-x64.dll"
+windows.debug.single.x86_64 = "windows/godot-jolt_windows-x64_editor.dll"
+
+windows.release.single.x86_32 = "windows/godot-jolt_windows-x86.dll"
+windows.debug.single.x86_32 = "windows/godot-jolt_windows-x86_editor.dll"
+
+linux.release.single.x86_64 = "linux/godot-jolt_linux-x64.so"
+linux.debug.single.x86_64 = "linux/godot-jolt_linux-x64_editor.so"
+
+linux.release.single.x86_32 = "linux/godot-jolt_linux-x86.so"
+linux.debug.single.x86_32 = "linux/godot-jolt_linux-x86_editor.so"
+
+macos.release.single = "macos/godot-jolt_macos.framework"
+macos.debug.single = "macos/godot-jolt_macos_editor.framework"
+
+ios.release.single = "ios/godot-jolt_ios.framework"
+ios.debug.single = "ios/godot-jolt_ios_editor.framework"
+
+android.release.single.arm64 = "android/libgodot-jolt_android-arm64.so"
+android.debug.single.arm64 = "android/libgodot-jolt_android-arm64_editor.so"
+
+android.release.single.arm32 = "android/libgodot-jolt_android-arm32.so"
+android.debug.single.arm32 = "android/libgodot-jolt_android-arm32_editor.so"
+
+android.release.single.x86_64 = "android/libgodot-jolt_android-x64.so"
+android.debug.single.x86_64 = "android/libgodot-jolt_android-x64_editor.so"
+
+android.release.single.x86_32 = "android/libgodot-jolt_android-x86.so"
+android.debug.single.x86_32 = "android/libgodot-jolt_android-x86_editor.so"
diff --git a/godot-jolt/ios/godot-jolt_ios.framework/Info.plist b/godot-jolt/ios/godot-jolt_ios.framework/Info.plist
new file mode 100644
index 0000000..ae5f211
--- /dev/null
+++ b/godot-jolt/ios/godot-jolt_ios.framework/Info.plist
@@ -0,0 +1,51 @@
+
+
+
+
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ godot-jolt_ios
+ CFBundleName
+ Godot Jolt
+ CFBundleDisplayName
+ Godot Jolt
+ CFBundleIdentifier
+ org.godot-jolt.godot-jolt
+ NSHumanReadableCopyright
+ Copyright (c) Mikael Hermansson and Godot Jolt contributors.
+ CFBundleVersion
+ 0.14.0
+ CFBundleShortVersionString
+ 0.14.0
+ CFBundlePackageType
+ FMWK
+ CFBundleSupportedPlatforms
+
+ iPhoneOS
+
+ CSResourcesFileMapped
+
+ DTPlatformName
+ iphoneos
+ MinimumOSVersion
+ 12.0
+
+
+ AvailableLibraries
+
+
+ BinaryPath
+ godot-jolt_ios.dylib
+
+
+
+
diff --git a/godot-jolt/ios/godot-jolt_ios.framework/godot-jolt_ios b/godot-jolt/ios/godot-jolt_ios.framework/godot-jolt_ios
new file mode 100644
index 0000000..39d38b8
Binary files /dev/null and b/godot-jolt/ios/godot-jolt_ios.framework/godot-jolt_ios differ
diff --git a/godot-jolt/ios/godot-jolt_ios_editor.framework/Info.plist b/godot-jolt/ios/godot-jolt_ios_editor.framework/Info.plist
new file mode 100644
index 0000000..44285c4
--- /dev/null
+++ b/godot-jolt/ios/godot-jolt_ios_editor.framework/Info.plist
@@ -0,0 +1,51 @@
+
+
+
+
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ godot-jolt_ios_editor
+ CFBundleName
+ Godot Jolt
+ CFBundleDisplayName
+ Godot Jolt
+ CFBundleIdentifier
+ org.godot-jolt.godot-jolt
+ NSHumanReadableCopyright
+ Copyright (c) Mikael Hermansson and Godot Jolt contributors.
+ CFBundleVersion
+ 0.14.0
+ CFBundleShortVersionString
+ 0.14.0
+ CFBundlePackageType
+ FMWK
+ CFBundleSupportedPlatforms
+
+ iPhoneOS
+
+ CSResourcesFileMapped
+
+ DTPlatformName
+ iphoneos
+ MinimumOSVersion
+ 12.0
+
+
+ AvailableLibraries
+
+
+ BinaryPath
+ godot-jolt_ios_editor.dylib
+
+
+
+
diff --git a/godot-jolt/ios/godot-jolt_ios_editor.framework/godot-jolt_ios_editor b/godot-jolt/ios/godot-jolt_ios_editor.framework/godot-jolt_ios_editor
new file mode 100644
index 0000000..33e172d
Binary files /dev/null and b/godot-jolt/ios/godot-jolt_ios_editor.framework/godot-jolt_ios_editor differ
diff --git a/godot-jolt/linux/godot-jolt_linux-x64.so b/godot-jolt/linux/godot-jolt_linux-x64.so
new file mode 100644
index 0000000..844f4a6
Binary files /dev/null and b/godot-jolt/linux/godot-jolt_linux-x64.so differ
diff --git a/godot-jolt/linux/godot-jolt_linux-x64_editor.so b/godot-jolt/linux/godot-jolt_linux-x64_editor.so
new file mode 100644
index 0000000..ee33458
Binary files /dev/null and b/godot-jolt/linux/godot-jolt_linux-x64_editor.so differ
diff --git a/godot-jolt/linux/godot-jolt_linux-x86.so b/godot-jolt/linux/godot-jolt_linux-x86.so
new file mode 100644
index 0000000..7271775
Binary files /dev/null and b/godot-jolt/linux/godot-jolt_linux-x86.so differ
diff --git a/godot-jolt/linux/godot-jolt_linux-x86_editor.so b/godot-jolt/linux/godot-jolt_linux-x86_editor.so
new file mode 100644
index 0000000..18df932
Binary files /dev/null and b/godot-jolt/linux/godot-jolt_linux-x86_editor.so differ
diff --git a/godot-jolt/macos/godot-jolt_macos.framework/Resources/Info.plist b/godot-jolt/macos/godot-jolt_macos.framework/Resources/Info.plist
new file mode 100644
index 0000000..a17a9b8
--- /dev/null
+++ b/godot-jolt/macos/godot-jolt_macos.framework/Resources/Info.plist
@@ -0,0 +1,36 @@
+
+
+
+
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ godot-jolt_macos
+ CFBundleName
+ Godot Jolt
+ CFBundleDisplayName
+ Godot Jolt
+ CFBundleIdentifier
+ org.godot-jolt.godot-jolt
+ NSHumanReadableCopyright
+ Copyright (c) Mikael Hermansson and Godot Jolt contributors.
+ CFBundleVersion
+ 0.14.0
+ CFBundleShortVersionString
+ 0.14.0
+ CFBundlePackageType
+ FMWK
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CSResourcesFileMapped
+
+ DTPlatformName
+ macosx
+ LSMinimumSystemVersion
+ 10.12
+
+
diff --git a/godot-jolt/macos/godot-jolt_macos.framework/_CodeSignature/CodeResources b/godot-jolt/macos/godot-jolt_macos.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..bfa44d7
--- /dev/null
+++ b/godot-jolt/macos/godot-jolt_macos.framework/_CodeSignature/CodeResources
@@ -0,0 +1,128 @@
+
+
+
+
+ files
+
+ Resources/Info.plist
+
+ et0C7sxAlu4eIDcq2ihFQ2BhDSk=
+
+
+ files2
+
+ Resources/Info.plist
+
+ hash2
+
+ ZnG0hD4DciikOVWrf1Ai1Qedz9hESuIFvUujZAebHRY=
+
+
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/godot-jolt/macos/godot-jolt_macos.framework/godot-jolt_macos b/godot-jolt/macos/godot-jolt_macos.framework/godot-jolt_macos
new file mode 100644
index 0000000..8e08a86
Binary files /dev/null and b/godot-jolt/macos/godot-jolt_macos.framework/godot-jolt_macos differ
diff --git a/godot-jolt/macos/godot-jolt_macos_editor.framework/Resources/Info.plist b/godot-jolt/macos/godot-jolt_macos_editor.framework/Resources/Info.plist
new file mode 100644
index 0000000..1a54a40
--- /dev/null
+++ b/godot-jolt/macos/godot-jolt_macos_editor.framework/Resources/Info.plist
@@ -0,0 +1,36 @@
+
+
+
+
+ CFBundleInfoDictionaryVersion
+ 6.0
+ CFBundleDevelopmentRegion
+ en
+ CFBundleExecutable
+ godot-jolt_macos_editor
+ CFBundleName
+ Godot Jolt
+ CFBundleDisplayName
+ Godot Jolt
+ CFBundleIdentifier
+ org.godot-jolt.godot-jolt
+ NSHumanReadableCopyright
+ Copyright (c) Mikael Hermansson and Godot Jolt contributors.
+ CFBundleVersion
+ 0.14.0
+ CFBundleShortVersionString
+ 0.14.0
+ CFBundlePackageType
+ FMWK
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
+ CSResourcesFileMapped
+
+ DTPlatformName
+ macosx
+ LSMinimumSystemVersion
+ 10.12
+
+
diff --git a/godot-jolt/macos/godot-jolt_macos_editor.framework/_CodeSignature/CodeResources b/godot-jolt/macos/godot-jolt_macos_editor.framework/_CodeSignature/CodeResources
new file mode 100644
index 0000000..f7016fd
--- /dev/null
+++ b/godot-jolt/macos/godot-jolt_macos_editor.framework/_CodeSignature/CodeResources
@@ -0,0 +1,128 @@
+
+
+
+
+ files
+
+ Resources/Info.plist
+
+ oIAzxlQz4Hun6JnLVOu9jafYxGE=
+
+
+ files2
+
+ Resources/Info.plist
+
+ hash2
+
+ FA6I/u5+Ww0DzXAvawYXs792eum+8Bim8uHBbg98jqY=
+
+
+
+ rules
+
+ ^Resources/
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^version.plist$
+
+
+ rules2
+
+ .*\.dSYM($|/)
+
+ weight
+ 11
+
+ ^(.*/)?\.DS_Store$
+
+ omit
+
+ weight
+ 2000
+
+ ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/
+
+ nested
+
+ weight
+ 10
+
+ ^.*
+
+ ^Info\.plist$
+
+ omit
+
+ weight
+ 20
+
+ ^PkgInfo$
+
+ omit
+
+ weight
+ 20
+
+ ^Resources/
+
+ weight
+ 20
+
+ ^Resources/.*\.lproj/
+
+ optional
+
+ weight
+ 1000
+
+ ^Resources/.*\.lproj/locversion.plist$
+
+ omit
+
+ weight
+ 1100
+
+ ^Resources/Base\.lproj/
+
+ weight
+ 1010
+
+ ^[^/]+$
+
+ nested
+
+ weight
+ 10
+
+ ^embedded\.provisionprofile$
+
+ weight
+ 20
+
+ ^version\.plist$
+
+ weight
+ 20
+
+
+
+
diff --git a/godot-jolt/macos/godot-jolt_macos_editor.framework/godot-jolt_macos_editor b/godot-jolt/macos/godot-jolt_macos_editor.framework/godot-jolt_macos_editor
new file mode 100644
index 0000000..6724cef
Binary files /dev/null and b/godot-jolt/macos/godot-jolt_macos_editor.framework/godot-jolt_macos_editor differ
diff --git a/godot-jolt/windows/godot-jolt_windows-x64.dll b/godot-jolt/windows/godot-jolt_windows-x64.dll
new file mode 100644
index 0000000..a427abe
Binary files /dev/null and b/godot-jolt/windows/godot-jolt_windows-x64.dll differ
diff --git a/godot-jolt/windows/godot-jolt_windows-x64_editor.dll b/godot-jolt/windows/godot-jolt_windows-x64_editor.dll
new file mode 100644
index 0000000..c05d288
Binary files /dev/null and b/godot-jolt/windows/godot-jolt_windows-x64_editor.dll differ
diff --git a/godot-jolt/windows/godot-jolt_windows-x86.dll b/godot-jolt/windows/godot-jolt_windows-x86.dll
new file mode 100644
index 0000000..bdfe732
Binary files /dev/null and b/godot-jolt/windows/godot-jolt_windows-x86.dll differ
diff --git a/godot-jolt/windows/godot-jolt_windows-x86_editor.dll b/godot-jolt/windows/godot-jolt_windows-x86_editor.dll
new file mode 100644
index 0000000..1a54df4
Binary files /dev/null and b/godot-jolt/windows/godot-jolt_windows-x86_editor.dll differ
diff --git a/project.godot b/project.godot
index 54fc0f9..d8c4524 100644
--- a/project.godot
+++ b/project.godot
@@ -73,3 +73,7 @@ flashlight={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":70,"key_label":0,"unicode":102,"location":0,"echo":false,"script":null)
]
}
+
+[physics]
+
+3d/physics_engine="JoltPhysics3D"
diff --git a/scenes/kreb.gd b/scenes/kreb.gd
new file mode 100644
index 0000000..f8f6092
--- /dev/null
+++ b/scenes/kreb.gd
@@ -0,0 +1,20 @@
+extends Node3D
+
+
+# Called when the node enters the scene tree for the first time.
+func _ready() -> void:
+ pass # Replace with function body.
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(delta: float) -> void:
+ var closest: Node3D
+ var least_dist = INF
+ for p: Node3D in get_tree().get_nodes_in_group('players'):
+ var dist = global_position.distance_to(p.global_position)
+ if dist < least_dist:
+ least_dist = dist
+ closest = p
+
+ if closest:
+ look_at(closest.global_position * Vector3(1, 0, 1) + Vector3(0, 1, 0), Vector3.UP, true)
diff --git a/scenes/level_pool.tscn b/scenes/level_pool.tscn
index 11df153..f2aca1c 100644
--- a/scenes/level_pool.tscn
+++ b/scenes/level_pool.tscn
@@ -1,4 +1,4 @@
-[gd_scene load_steps=25 format=4 uid="uid://bbqug1s083mdi"]
+[gd_scene load_steps=29 format=4 uid="uid://bbqug1s083mdi"]
[ext_resource type="PackedScene" uid="uid://ci2uamlnv8swy" path="res://assets/maps/levelpool.blend" id="1_cpckw"]
[ext_resource type="PackedScene" uid="uid://cy86jyiy6skvk" path="res://scenes/player.tscn" id="2_eggmh"]
@@ -6,12 +6,13 @@
[ext_resource type="Texture2D" uid="uid://bj7g1cro2pvlp" path="res://assets/textures/dev/tiles01_black.png" id="4_ngwgs"]
[ext_resource type="AudioStream" uid="uid://cieprqff0h2nm" path="res://assets/sounds/door.wav" id="5_yad6d"]
[ext_resource type="PackedScene" uid="uid://dnq81gfo5y4oy" path="res://components/group_trigger_component.tscn" id="6_f2del"]
-[ext_resource type="PackedScene" uid="uid://bfv04lp2tbxtd" path="res://scenes/monitor.tscn" id="6_qd2wd"]
[ext_resource type="Script" path="res://scripts/win_box.gd" id="7_oxf41"]
[ext_resource type="AudioStream" uid="uid://d20ver6nfndbt" path="res://assets/sounds/dialog/start_dialog.wav" id="7_r1xli"]
[ext_resource type="Script" path="res://scripts/failure.gd" id="8_pee3c"]
[ext_resource type="AudioStream" uid="uid://dbw14jkekqjrb" path="res://assets/sounds/dialog/win_dialog.wav" id="8_u6ajb"]
+[ext_resource type="Script" path="res://scenes/kreb.gd" id="9_wgbkn"]
[ext_resource type="AudioStream" uid="uid://w7jbmkwjvtvx" path="res://assets/sounds/disappoint.wav" id="11_yx3n7"]
+[ext_resource type="PackedScene" uid="uid://duuedavsf44c7" path="res://assets/models/general/monitor01.blend" id="12_nw67b"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_soh1s"]
resource_name = "tiles01_black"
@@ -64,12 +65,12 @@ resource_name = "open"
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
-tracks/0/path = NodePath("CollisionShape3D:position:y")
+tracks/0/path = NodePath("CollisionShape3D:position:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0, 0),
-"points": PackedFloat32Array(0, -0.25, 0, 0.5, 0, 4, -0.5, 0, 0.25, 0),
+"points": PackedFloat32Array(0, -0.25, 0, 0.5, 0, 3.9, -0.5, 0, 0.25, 0),
"times": PackedFloat32Array(0, 1)
}
@@ -88,7 +89,17 @@ size = Vector3(2, 2, 2)
size = Vector3(2, 0.147827, 2)
[sub_resource type="BoxShape3D" id="BoxShape3D_vryv4"]
-size = Vector3(2, 1, 2)
+size = Vector3(4, 4, 1)
+
+[sub_resource type="QuadMesh" id="QuadMesh_vjrho"]
+size = Vector2(1, 2)
+
+[sub_resource type="ViewportTexture" id="ViewportTexture_ma705"]
+viewport_path = NodePath("Kreb/CSGMesh3D/Sprite3D/SubViewport")
+
+[sub_resource type="LabelSettings" id="LabelSettings_7t61y"]
+font_size = 20
+font_color = Color(0.396889, 0.396889, 0.396889, 1)
[node name="LevelPool" type="Node3D"]
@@ -113,18 +124,12 @@ visible = false
[node name="holerim" parent="levelpool" index="4"]
mesh = SubResource("ArrayMesh_4vkxm")
-[node name="Cube_003" parent="levelpool" index="10"]
+[node name="Text" parent="levelpool" index="8"]
visible = false
-[node name="Cube_004" parent="levelpool" index="11"]
+[node name="Plane" parent="levelpool" index="9"]
visible = false
-[node name="monitor012" parent="levelpool" index="12"]
-visible = false
-
-[node name="CollisionShape3D" parent="levelpool/monitor012/@StaticBody3D@17259" index="0"]
-disabled = true
-
[node name="Player" parent="." instance=ExtResource("2_eggmh")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.012538, 19)
@@ -163,9 +168,6 @@ libraries = {
"": SubResource("AnimationLibrary_prvv0")
}
-[node name="Monitor" parent="." instance=ExtResource("6_qd2wd")]
-transform = Transform3D(-0.877007, 0, -0.480477, 0, 1, 0, 0.480477, 0, -0.877007, -4.23, 0.375, -2.7)
-
[node name="HoleRim" type="StaticBody3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="HoleRim"]
@@ -206,15 +208,15 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.926086, 0)
shape = SubResource("BoxShape3D_0a1av")
[node name="DialogTrigger" parent="." instance=ExtResource("6_f2del")]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.05, 10.5)
+transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 10.5)
group = "players"
[node name="CollisionShape3D" type="CollisionShape3D" parent="DialogTrigger"]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0022583, -0.0446777, 0)
shape = SubResource("BoxShape3D_vryv4")
[node name="Kreb" type="Node3D" parent="."]
-transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.70194, 1.2497, 6.87629)
+transform = Transform3D(0.797584, 0, 0.603208, 0, 1, 0, -0.603208, 0, 0.797584, -2.70194, 1.2497, 6.87629)
+script = ExtResource("9_wgbkn")
[node name="StartDialog" type="AudioStreamPlayer3D" parent="Kreb"]
stream = ExtResource("7_r1xli")
@@ -226,9 +228,44 @@ stream = ExtResource("8_u6ajb")
stream = ExtResource("11_yx3n7")
max_db = 6.0
+[node name="CSGMesh3D" type="CSGMesh3D" parent="Kreb"]
+transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 0, 0)
+use_collision = true
+mesh = SubResource("QuadMesh_vjrho")
+
+[node name="Sprite3D" type="Sprite3D" parent="Kreb/CSGMesh3D"]
+transform = Transform3D(1, 1.52078e-08, -2.76867e-08, 7.45058e-09, 0.958839, -0.283948, 0, 0.283948, 0.95884, 0.0420668, 1.4184, 0.120258)
+texture = SubResource("ViewportTexture_ma705")
+
+[node name="SubViewport" type="SubViewport" parent="Kreb/CSGMesh3D/Sprite3D"]
+transparent_bg = true
+handle_input_locally = false
+size = Vector2i(117, 67)
+
+[node name="Label" type="Label" parent="Kreb/CSGMesh3D/Sprite3D/SubViewport"]
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -40.5
+offset_top = -11.5
+offset_right = 40.5
+offset_bottom = 11.5
+grow_horizontal = 2
+grow_vertical = 2
+text = "Krebathan"
+label_settings = SubResource("LabelSettings_7t61y")
+
+[node name="monitor01" parent="." instance=ExtResource("12_nw67b")]
+transform = Transform3D(-0.609108, 0, -0.793088, 0, 1, 0, 0.793088, 0, -0.609108, -4.52265, 0, -3.89963)
+
+[node name="monitor01_rigid" parent="monitor01" index="0" groups=["can_hold", "monitors"]]
+
[connection signal="body_entered" from="WinBox" to="WinBox" method="_on_body_entered"]
[connection signal="body_entered" from="Failure" to="Failure" method="_on_body_entered"]
[connection signal="activated_once" from="DialogTrigger" to="Kreb/StartDialog" method="play" binds= [0]]
[connection signal="finished" from="Kreb/WinDialog" to="ExitDoor" method="open"]
[editable path="levelpool"]
+[editable path="monitor01"]
diff --git a/scenes/player.tscn b/scenes/player.tscn
index ef30738..3a73b05 100644
--- a/scenes/player.tscn
+++ b/scenes/player.tscn
@@ -27,6 +27,7 @@ radius = 0.1
[node name="Flashlight" type="SpotLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.990268, 0.139173, 0, -0.139173, 0.990268, 0, 1.5, -0.4)
+visible = false
light_color = Color(1, 1, 0.768627, 1)
shadow_enabled = true
distance_fade_enabled = true