Add godot-jolt, refactor BuildingBlockCreator
This commit is contained in:
parent
8820638e3e
commit
326ba481f8
18
addons/godot-jolt/LICENSE.txt
Normal file
18
addons/godot-jolt/LICENSE.txt
Normal file
@ -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.
|
91
addons/godot-jolt/THIRDPARTY.txt
Normal file
91
addons/godot-jolt/THIRDPARTY.txt
Normal file
@ -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.
|
BIN
addons/godot-jolt/android/libgodot-jolt_android-arm32.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-arm32.so
Normal file
Binary file not shown.
BIN
addons/godot-jolt/android/libgodot-jolt_android-arm32_editor.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-arm32_editor.so
Normal file
Binary file not shown.
BIN
addons/godot-jolt/android/libgodot-jolt_android-arm64.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-arm64.so
Normal file
Binary file not shown.
BIN
addons/godot-jolt/android/libgodot-jolt_android-arm64_editor.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-arm64_editor.so
Normal file
Binary file not shown.
BIN
addons/godot-jolt/android/libgodot-jolt_android-x64.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-x64.so
Normal file
Binary file not shown.
BIN
addons/godot-jolt/android/libgodot-jolt_android-x64_editor.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-x64_editor.so
Normal file
Binary file not shown.
BIN
addons/godot-jolt/android/libgodot-jolt_android-x86.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-x86.so
Normal file
Binary file not shown.
BIN
addons/godot-jolt/android/libgodot-jolt_android-x86_editor.so
Normal file
BIN
addons/godot-jolt/android/libgodot-jolt_android-x86_editor.so
Normal file
Binary file not shown.
37
addons/godot-jolt/godot-jolt.gdextension
Normal file
37
addons/godot-jolt/godot-jolt.gdextension
Normal file
@ -0,0 +1,37 @@
|
||||
[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"
|
51
addons/godot-jolt/ios/godot-jolt_ios.framework/Info.plist
Normal file
51
addons/godot-jolt/ios/godot-jolt_ios.framework/Info.plist
Normal file
@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>godot-jolt_ios</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.godot-jolt.godot-jolt</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) Mikael Hermansson and Godot Jolt contributors.</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.13.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.13.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>iPhoneOS</string>
|
||||
</array>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>DTPlatformName</key>
|
||||
<string>iphoneos</string>
|
||||
<key>MinimumOSVersion</key>
|
||||
<string>12.0</string>
|
||||
|
||||
<!--
|
||||
HACK(mihe): This is to work around a bug in Godot 4.3-beta1, where it treats Framework
|
||||
bundles the same as XCFramework bundles, and expects there to be an `AvailableLibraries`
|
||||
entry, which is really only a thing in XCFramework bundles. Note that we also lie about the
|
||||
binary path having a `.dylib` extension in order for Godot to correctly identify this as a
|
||||
dynamically linked bundle.
|
||||
-->
|
||||
<key>AvailableLibraries</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>BinaryPath</key>
|
||||
<string>godot-jolt_ios.dylib</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
BIN
addons/godot-jolt/ios/godot-jolt_ios.framework/godot-jolt_ios
Normal file
BIN
addons/godot-jolt/ios/godot-jolt_ios.framework/godot-jolt_ios
Normal file
Binary file not shown.
@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>godot-jolt_ios_editor</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.godot-jolt.godot-jolt</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) Mikael Hermansson and Godot Jolt contributors.</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.13.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.13.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>iPhoneOS</string>
|
||||
</array>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>DTPlatformName</key>
|
||||
<string>iphoneos</string>
|
||||
<key>MinimumOSVersion</key>
|
||||
<string>12.0</string>
|
||||
|
||||
<!--
|
||||
HACK(mihe): This is to work around a bug in Godot 4.3-beta1, where it treats Framework
|
||||
bundles the same as XCFramework bundles, and expects there to be an `AvailableLibraries`
|
||||
entry, which is really only a thing in XCFramework bundles. Note that we also lie about the
|
||||
binary path having a `.dylib` extension in order for Godot to correctly identify this as a
|
||||
dynamically linked bundle.
|
||||
-->
|
||||
<key>AvailableLibraries</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>BinaryPath</key>
|
||||
<string>godot-jolt_ios_editor.dylib</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
Binary file not shown.
BIN
addons/godot-jolt/linux/godot-jolt_linux-x64.so
Normal file
BIN
addons/godot-jolt/linux/godot-jolt_linux-x64.so
Normal file
Binary file not shown.
BIN
addons/godot-jolt/linux/godot-jolt_linux-x64_editor.so
Normal file
BIN
addons/godot-jolt/linux/godot-jolt_linux-x64_editor.so
Normal file
Binary file not shown.
BIN
addons/godot-jolt/linux/godot-jolt_linux-x86.so
Normal file
BIN
addons/godot-jolt/linux/godot-jolt_linux-x86.so
Normal file
Binary file not shown.
BIN
addons/godot-jolt/linux/godot-jolt_linux-x86_editor.so
Normal file
BIN
addons/godot-jolt/linux/godot-jolt_linux-x86_editor.so
Normal file
Binary file not shown.
@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>godot-jolt_macos</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.godot-jolt.godot-jolt</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) Mikael Hermansson and Godot Jolt contributors.</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.13.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.13.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>MacOSX</string>
|
||||
</array>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>DTPlatformName</key>
|
||||
<string>macosx</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.12</string>
|
||||
</dict>
|
||||
</plist>
|
@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<data>
|
||||
+hmuH+erxzRxY/FPATmWbEaqOys=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
WsqyDktXR1oDgMLbvIUu+PMJsJAnbBKIUYnKgafFEGc=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^Resources/</key>
|
||||
<true/>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^[^/]+$</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
Binary file not shown.
@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>godot-jolt_macos_editor</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Godot Jolt</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.godot-jolt.godot-jolt</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>Copyright (c) Mikael Hermansson and Godot Jolt contributors.</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.13.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.13.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
<array>
|
||||
<string>MacOSX</string>
|
||||
</array>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>DTPlatformName</key>
|
||||
<string>macosx</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.12</string>
|
||||
</dict>
|
||||
</plist>
|
@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>files</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<data>
|
||||
GsvlA3T0mwbtJS37DcxlHyr4Vro=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
4Rs/lwMrLlMFf5H+0QtaW/gUNP59U2nHlU4LBmarG1Q=
|
||||
</data>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>rules</key>
|
||||
<dict>
|
||||
<key>^Resources/</key>
|
||||
<true/>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^version.plist$</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>rules2</key>
|
||||
<dict>
|
||||
<key>.*\.dSYM($|/)</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>11</real>
|
||||
</dict>
|
||||
<key>^(.*/)?\.DS_Store$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>2000</real>
|
||||
</dict>
|
||||
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^.*</key>
|
||||
<true/>
|
||||
<key>^Info\.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^PkgInfo$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/</key>
|
||||
<dict>
|
||||
<key>optional</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1000</real>
|
||||
</dict>
|
||||
<key>^Resources/.*\.lproj/locversion.plist$</key>
|
||||
<dict>
|
||||
<key>omit</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>1100</real>
|
||||
</dict>
|
||||
<key>^Resources/Base\.lproj/</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>1010</real>
|
||||
</dict>
|
||||
<key>^[^/]+$</key>
|
||||
<dict>
|
||||
<key>nested</key>
|
||||
<true/>
|
||||
<key>weight</key>
|
||||
<real>10</real>
|
||||
</dict>
|
||||
<key>^embedded\.provisionprofile$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
<key>^version\.plist$</key>
|
||||
<dict>
|
||||
<key>weight</key>
|
||||
<real>20</real>
|
||||
</dict>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
Binary file not shown.
BIN
addons/godot-jolt/windows/godot-jolt_windows-x64.dll
Normal file
BIN
addons/godot-jolt/windows/godot-jolt_windows-x64.dll
Normal file
Binary file not shown.
BIN
addons/godot-jolt/windows/godot-jolt_windows-x64_editor.dll
Normal file
BIN
addons/godot-jolt/windows/godot-jolt_windows-x64_editor.dll
Normal file
Binary file not shown.
BIN
addons/godot-jolt/windows/godot-jolt_windows-x86.dll
Normal file
BIN
addons/godot-jolt/windows/godot-jolt_windows-x86.dll
Normal file
Binary file not shown.
BIN
addons/godot-jolt/windows/godot-jolt_windows-x86_editor.dll
Normal file
BIN
addons/godot-jolt/windows/godot-jolt_windows-x86_editor.dll
Normal file
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=113 format=4 uid="uid://8po7ftboqq4k"]
|
||||
[gd_scene load_steps=112 format=4 uid="uid://8po7ftboqq4k"]
|
||||
|
||||
[ext_resource type="CameraAttributesPhysical" uid="uid://cxyj2tvfksjl6" path="res://maps/hazy_env_camera_attrs.tres" id="1_r2j1d"]
|
||||
[ext_resource type="LightmapGIData" uid="uid://bp05p4yab2ukx" path="res://maps/demo.lmbake" id="2_2ehlo"]
|
||||
@ -649,11 +649,8 @@ points = PackedVector3Array(-15.2154, 16, 3.21429, 0.784632, -16, -12.7857, 2.78
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_i1n6v"]
|
||||
points = PackedVector3Array(-3.21348, 16, 13.2143, 12.7865, -16, -2.78572, 15.7846, -16, -2.78571, -0.21537, 16, 13.2143, -3.21348, 16, 15.2143, 12.7865, -16, -0.785713, 15.7846, -16, -0.785711, -0.215368, 16, 15.2143)
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_pxxc6"]
|
||||
radius = 0.3
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_cnaby"]
|
||||
height = 0.6
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_rgktv"]
|
||||
height = 1.9
|
||||
radius = 0.3
|
||||
|
||||
[node name="Demo" type="Node3D"]
|
||||
@ -1027,7 +1024,7 @@ shape = SubResource("ConvexPolygonShape3D_ldbum")
|
||||
shape = SubResource("ConvexPolygonShape3D_i1n6v")
|
||||
|
||||
[node name="BuildingBlockCreator" parent="." node_paths=PackedStringArray("TrenchbroomMap") instance=ExtResource("9_w4r35")]
|
||||
transform = Transform3D(0.10442, 0, 0, 0, 0.10442, 0, 0, 0, 0.10442, 0, 2, -3)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, -7.84902)
|
||||
TrenchbroomMap = NodePath("../FuncGodotMap")
|
||||
|
||||
[node name="ReflectionProbes" type="Node3D" parent="."]
|
||||
@ -1060,20 +1057,13 @@ size = Vector3(87.9724, 96.1174, 91.8458)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0415039, 58.3319, 0.0198975)
|
||||
size = Vector3(43.3174, 26.5295, 43.4319)
|
||||
|
||||
[node name="Player" type="RigidBody3D" parent="." node_paths=PackedStringArray("GroundCast")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.05117, 0)
|
||||
axis_lock_angular_x = true
|
||||
axis_lock_angular_z = true
|
||||
can_sleep = false
|
||||
[node name="Player" type="CharacterBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.51124, 0)
|
||||
script = ExtResource("10_87t4r")
|
||||
GroundCast = NodePath("GroundCast")
|
||||
UprightingSpeed = 10.0
|
||||
|
||||
[node name="CoreBody" type="CollisionShape3D" parent="Player"]
|
||||
shape = SubResource("SphereShape3D_pxxc6")
|
||||
|
||||
[node name="PlayerEyeCamera" type="Camera3D" parent="Player"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.7, 0)
|
||||
|
||||
[node name="GroundCast" type="ShapeCast3D" parent="Player"]
|
||||
shape = SubResource("CylinderShape3D_cnaby")
|
||||
target_position = Vector3(0, -1.3, 0)
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Player"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.95, 0)
|
||||
shape = SubResource("CylinderShape3D_rgktv")
|
||||
|
@ -15,6 +15,11 @@ run/main_scene="res://maps/demo.tscn"
|
||||
config/features=PackedStringArray("4.3", "C#", "Forward Plus")
|
||||
config/icon="res://misc/icon.svg"
|
||||
|
||||
[display]
|
||||
|
||||
window/size/viewport_width=1920
|
||||
window/size/viewport_height=1080
|
||||
|
||||
[dotnet]
|
||||
|
||||
project/assembly_name="gmtk24"
|
||||
@ -85,6 +90,14 @@ jump={
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
sprint={
|
||||
"deadzone": 0.5,
|
||||
"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":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null)
|
||||
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":true,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[internationalization]
|
||||
|
||||
@ -92,8 +105,8 @@ rendering/positional_shadow/atlas_quadrant_0_subdiv=2
|
||||
|
||||
[physics]
|
||||
|
||||
3d/run_on_separate_thread=true
|
||||
common/physics_ticks_per_second=120
|
||||
3d/physics_engine="JoltPhysics3D"
|
||||
3d/default_gravity=15.0
|
||||
|
||||
[rendering]
|
||||
|
@ -10,29 +10,22 @@ namespace Gmtk24 {
|
||||
public PackedScene BuildingBlockPrefab;
|
||||
[Export]
|
||||
public ShaderMaterial BuildingBlockMaterial;
|
||||
[Export]
|
||||
public float BuildingBlockScale = 0.05f;
|
||||
|
||||
public override void _Ready() {
|
||||
var scale = 0.05f;
|
||||
var children = TrenchbroomMap.FindChildren("*_buildingblock");
|
||||
foreach (var buildingBlockStaticBody in children) {
|
||||
var buildingBlock = BuildingBlockPrefab.Instantiate();
|
||||
|
||||
var smallMesh = new MeshInstance3D {
|
||||
Mesh = buildingBlockStaticBody.GetChild<MeshInstance3D>(0).Mesh,
|
||||
Scale = Vector3.One * scale,
|
||||
};
|
||||
var smallMesh = (MeshInstance3D)buildingBlockStaticBody.GetChild<MeshInstance3D>(0).Duplicate();
|
||||
smallMesh.Scale = Vector3.One * BuildingBlockScale;
|
||||
for (int i = 0; i < smallMesh.GetSurfaceOverrideMaterialCount(); i++) {
|
||||
var replacedMaterial = smallMesh.Mesh.SurfaceGetMaterial(i);
|
||||
var transparency = replacedMaterial.Get("transparency");
|
||||
if (((int)transparency) != 0) {
|
||||
// Make a new material, using the partly-transparent albedo as an alpha mask
|
||||
var blockMaterialWithAlphaMask = new ShaderMaterial {
|
||||
Shader = BuildingBlockMaterial.Shader,
|
||||
};
|
||||
foreach (var uniform in BuildingBlockMaterial.Shader.GetShaderUniformList()) {
|
||||
var uniformName = (StringName)((Dictionary)uniform).GetValueOrDefault("name");
|
||||
blockMaterialWithAlphaMask.SetShaderParameter(uniformName, BuildingBlockMaterial.GetShaderParameter(uniformName));
|
||||
}
|
||||
var blockMaterialWithAlphaMask = (ShaderMaterial)BuildingBlockMaterial.Duplicate();
|
||||
blockMaterialWithAlphaMask.SetShaderParameter("texture_albedo_for_alpha", replacedMaterial.Get("albedo_texture"));
|
||||
smallMesh.SetSurfaceOverrideMaterial(i, blockMaterialWithAlphaMask);
|
||||
} else {
|
||||
@ -43,16 +36,14 @@ namespace Gmtk24 {
|
||||
|
||||
var collisionShapes = buildingBlockStaticBody.FindChildren("*_collision_shape");
|
||||
foreach (var shape in collisionShapes) {
|
||||
var bigPoints = ((ConvexPolygonShape3D)((CollisionShape3D)shape).Shape).Points;
|
||||
CollisionShape3D newShape = (CollisionShape3D)shape.Duplicate();
|
||||
var bigPoints = ((ConvexPolygonShape3D)newShape.Shape).Points;
|
||||
var points = new Vector3[bigPoints.Length];
|
||||
for (int i = 0; i < bigPoints.Length; i++) {
|
||||
points[i] = bigPoints[i] * scale;
|
||||
points[i] = bigPoints[i] * BuildingBlockScale;
|
||||
}
|
||||
buildingBlock.AddChild(new CollisionShape3D {
|
||||
Shape = new ConvexPolygonShape3D {
|
||||
Points = points,
|
||||
},
|
||||
});
|
||||
((ConvexPolygonShape3D)newShape.Shape).Points = points;
|
||||
buildingBlock.AddChild(newShape);
|
||||
}
|
||||
|
||||
AddChild(buildingBlock);
|
||||
|
@ -1,48 +1,58 @@
|
||||
using Godot;
|
||||
|
||||
namespace Gmtk24 {
|
||||
public partial class Player : RigidBody3D {
|
||||
[Export]
|
||||
public ShapeCast3D GroundCast;
|
||||
[Export]
|
||||
public float UprightingSpeed = 1;
|
||||
public partial class Player : CharacterBody3D {
|
||||
[Export]
|
||||
public float MovementSpeed = 7;
|
||||
[Export]
|
||||
public bool PhysicsControlled = false;
|
||||
public float SprintMultiplier = 1.5f;
|
||||
[Export]
|
||||
public Node3D Eye;
|
||||
|
||||
private float CurrentPitch = 0;
|
||||
|
||||
public override void _Ready() {
|
||||
// Input.MouseMode = Input.MouseModeEnum.Captured;
|
||||
}
|
||||
|
||||
public override void _Input(InputEvent @event) {
|
||||
if (@event is InputEventMouseMotion ev && Input.MouseMode == Input.MouseModeEnum.Captured) {
|
||||
var cameraSensitivityX = 3f; // FIXME: use camera sensitivity and invert settings
|
||||
var cameraSensitivityY = 3f; // FIXME: use camera sensitivity and invert settings
|
||||
Eye.RotateY(ev.Relative.X * 0.01f * cameraSensitivityX);
|
||||
CurrentPitch += ev.Relative.Y * 0.01f * cameraSensitivityY;
|
||||
}
|
||||
}
|
||||
|
||||
public override void _Process(double delta) {
|
||||
var yawInput = Input.GetActionStrength("look_left") - Input.GetActionStrength("look_right");
|
||||
var pitchInput = Input.GetActionStrength("look_up") - Input.GetActionStrength("look_down");
|
||||
var cameraSensitivityX = 3f; // FIXME: use camera sensitivity and invert settings
|
||||
var cameraSensitivityY = 3f; // FIXME: use camera sensitivity and invert settings
|
||||
Eye.RotateY(yawInput * cameraSensitivityX * (float)delta);
|
||||
if (Eye != null) {
|
||||
CurrentPitch += pitchInput * cameraSensitivityY * (float)delta;
|
||||
CurrentPitch = Mathf.Clamp(CurrentPitch, -Mathf.Pi / 2, Mathf.Pi / 2);
|
||||
Eye.Quaternion = new Quaternion(Vector3.Right, CurrentPitch);
|
||||
}
|
||||
}
|
||||
|
||||
public override void _PhysicsProcess(double delta) {
|
||||
if (PhysicsControlled) {
|
||||
CustomIntegrator = false;
|
||||
} else {
|
||||
// Disable physics movement
|
||||
CustomIntegrator = true;
|
||||
LinearVelocity = Vector3.Zero;
|
||||
AngularVelocity = Vector3.Zero;
|
||||
|
||||
Vector3 pos = Position;
|
||||
|
||||
// Move up enough to no longer have the groundcast hit
|
||||
if (GroundCast.IsColliding()) {
|
||||
float distanceToUpright = 0;
|
||||
for (int i = 0; i < GroundCast.GetCollisionCount(); i++) {
|
||||
distanceToUpright = Mathf.Max(distanceToUpright, (GroundCast.GetCollisionPoint(i) - GroundCast.TargetPosition).Length());
|
||||
}
|
||||
float step = Mathf.Min(distanceToUpright, UprightingSpeed * (float)delta);
|
||||
pos.Y += step;
|
||||
} else {
|
||||
pos.Y += GetGravity().Y * (float)delta;
|
||||
}
|
||||
|
||||
// On-ground movement
|
||||
float zMoveInput = Input.GetActionStrength("move_backward") - Input.GetActionStrength("move_forward");
|
||||
float xMoveInput = Input.GetActionStrength("move_right") - Input.GetActionStrength("move_left");
|
||||
Vector3 moveInput = new Vector3(xMoveInput, 0, zMoveInput) * Basis;
|
||||
moveInput = moveInput.Normalized() * Mathf.Min(1, moveInput.Length());
|
||||
pos += moveInput * MovementSpeed * (float)delta;
|
||||
|
||||
Position = pos;
|
||||
Vector3 moveInput = new Vector3(
|
||||
Input.GetActionStrength("move_right") - Input.GetActionStrength("move_left"), 0,
|
||||
Input.GetActionStrength("move_backward") - Input.GetActionStrength("move_forward")
|
||||
);
|
||||
Vector3 move = Eye.Basis * moveInput;
|
||||
move = move.Normalized() * Mathf.Min(1, move.Length()) * MovementSpeed;
|
||||
if (Input.IsActionPressed("sprint")) {
|
||||
move *= SprintMultiplier;
|
||||
}
|
||||
Vector3 vel = Velocity;
|
||||
vel.X = move.X;
|
||||
vel.Z = move.Z;
|
||||
vel += GetGravity() * (float)delta;
|
||||
Velocity = vel;
|
||||
MoveAndSlide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user