generated from krampus/template-godot4
Compare commits
No commits in common. "cd9a58a66000f6c87a42e37c3250a9a2104ee7b6" and "1be3617c74b97346aaac971ad04e61687bcec954" have entirely different histories.
cd9a58a660
...
1be3617c74
|
@ -1,18 +0,0 @@
|
|||
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.
|
|
@ -1,91 +0,0 @@
|
|||
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.
|
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.
|
@ -1,41 +0,0 @@
|
|||
[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"
|
|
@ -1,51 +0,0 @@
|
|||
<?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.14.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.14.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>
|
Binary file not shown.
|
@ -1,51 +0,0 @@
|
|||
<?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.14.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.14.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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,36 +0,0 @@
|
|||
<?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.14.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.14.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>
|
|
@ -1,128 +0,0 @@
|
|||
<?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>
|
||||
et0C7sxAlu4eIDcq2ihFQ2BhDSk=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
ZnG0hD4DciikOVWrf1Ai1Qedz9hESuIFvUujZAebHRY=
|
||||
</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.
|
@ -1,36 +0,0 @@
|
|||
<?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.14.0</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.14.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>
|
|
@ -1,128 +0,0 @@
|
|||
<?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>
|
||||
oIAzxlQz4Hun6JnLVOu9jafYxGE=
|
||||
</data>
|
||||
</dict>
|
||||
<key>files2</key>
|
||||
<dict>
|
||||
<key>Resources/Info.plist</key>
|
||||
<dict>
|
||||
<key>hash2</key>
|
||||
<data>
|
||||
FA6I/u5+Ww0DzXAvawYXs792eum+8Bim8uHBbg98jqY=
|
||||
</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.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://comihs66wounx"
|
||||
path="res://.godot/imported/Dokdo-Regular.ttf-35686d8eb3881af645d50e9f0910bc9c.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/fonts/Dokdo/Dokdo-Regular.ttf"
|
||||
dest_files=["res://.godot/imported/Dokdo-Regular.ttf-35686d8eb3881af645d50e9f0910bc9c.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=true
|
||||
disable_embedded_bitmaps=true
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
hinting=1
|
||||
subpixel_positioning=1
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
|
@ -1,93 +0,0 @@
|
|||
Copyright (c) 2005-2017 FONTRIX. All Rights Reserved.
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://openfontlicense.org
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
Binary file not shown.
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://b6gxwgomstkgu"
|
||||
path="res://.godot/imported/Geo-Italic.ttf-fff5102e64e08d3e98dbbd3b01b471cc.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/fonts/Geo/Geo-Italic.ttf"
|
||||
dest_files=["res://.godot/imported/Geo-Italic.ttf-fff5102e64e08d3e98dbbd3b01b471cc.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=true
|
||||
disable_embedded_bitmaps=true
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
hinting=1
|
||||
subpixel_positioning=1
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
Binary file not shown.
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://s4c1kf0rk2mb"
|
||||
path="res://.godot/imported/Geo-Regular.ttf-ea6aa4330b08d367c3a4134ebd69f7c6.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/fonts/Geo/Geo-Regular.ttf"
|
||||
dest_files=["res://.godot/imported/Geo-Regular.ttf-ea6aa4330b08d367c3a4134ebd69f7c6.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=true
|
||||
disable_embedded_bitmaps=true
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
hinting=1
|
||||
subpixel_positioning=1
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
|
@ -1,94 +0,0 @@
|
|||
Copyright (c) 2000-2010, Ben Weiner (ben@readingtype.org.uk),
|
||||
with Reserved Font Name Geo.
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://openfontlicense.org
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
@ -1,94 +0,0 @@
|
|||
Copyright (c) 2012, Pablo Impallari (www.impallari.com|impallari@gmail.com),Rodrigo Fuenzalida (www.rfuenzalida.com|hello@rfuenzalida.com), with Reserved Font Name Racing Sans.
|
||||
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://openfontlicense.org
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
Binary file not shown.
|
@ -1,34 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="font_data_dynamic"
|
||||
type="FontFile"
|
||||
uid="uid://dsa0oh7c0h4pu"
|
||||
path="res://.godot/imported/RacingSansOne-Regular.ttf-88441b5e68f4114d3d33323daa87ff86.fontdata"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/fonts/Racing_Sans_One/RacingSansOne-Regular.ttf"
|
||||
dest_files=["res://.godot/imported/RacingSansOne-Regular.ttf-88441b5e68f4114d3d33323daa87ff86.fontdata"]
|
||||
|
||||
[params]
|
||||
|
||||
Rendering=null
|
||||
antialiasing=1
|
||||
generate_mipmaps=true
|
||||
disable_embedded_bitmaps=true
|
||||
multichannel_signed_distance_field=false
|
||||
msdf_pixel_range=8
|
||||
msdf_size=48
|
||||
allow_system_fallback=true
|
||||
force_autohinter=false
|
||||
hinting=1
|
||||
subpixel_positioning=1
|
||||
oversampling=0.0
|
||||
Fallbacks=null
|
||||
fallbacks=[]
|
||||
Compress=null
|
||||
compress=true
|
||||
preload=[]
|
||||
language_support={}
|
||||
script_support={}
|
||||
opentype_features={}
|
|
@ -10,10 +10,10 @@
|
|||
[ext_resource type="Texture2D" uid="uid://con5a36t6n6sq" path="res://assets/textures/clear_sea_water_2048x2048.png" id="7_t86h2"]
|
||||
[ext_resource type="PackedScene" uid="uid://cy7t2tc4y3b4" path="res://src/player/shot_setup/shot_setup.tscn" id="8_h44v5"]
|
||||
[ext_resource type="Script" path="res://src/world/ball_zone/ball_zone.gd" id="9_jwlau"]
|
||||
[ext_resource type="PackedScene" uid="uid://dagh38vap4t1d" path="res://src/props/scenery/city/concrete_building_1.tscn" id="10_lf15j"]
|
||||
[ext_resource type="PackedScene" uid="uid://cjubxs7peir5k" path="res://src/props/scenery/city/kana_signboard.tscn" id="11_evxup"]
|
||||
[ext_resource type="PackedScene" uid="uid://di7aql54lksn7" path="res://src/props/scenery/trees/palm_tree/palm_tree.tscn" id="12_sswxf"]
|
||||
[ext_resource type="PackedScene" uid="uid://c7l58wuuahn7w" path="res://src/props/flag/flag.tscn" id="13_6jtao"]
|
||||
[ext_resource type="PackedScene" uid="uid://dagh38vap4t1d" path="res://src/scenery/city/concrete_building_1.tscn" id="10_lf15j"]
|
||||
[ext_resource type="PackedScene" uid="uid://cjubxs7peir5k" path="res://src/scenery/city/kana_signboard.tscn" id="11_evxup"]
|
||||
[ext_resource type="PackedScene" uid="uid://di7aql54lksn7" path="res://src/scenery/trees/palm_tree/palm_tree.tscn" id="12_sswxf"]
|
||||
[ext_resource type="PackedScene" uid="uid://c7l58wuuahn7w" path="res://src/props/flag.tscn" id="13_6jtao"]
|
||||
[ext_resource type="Texture2D" uid="uid://dj60e8ri2fco" path="res://assets/models/scenery/city/concrete_building_1/concrete_building_1.png" id="14_y7s2h"]
|
||||
|
||||
[sub_resource type="FastNoiseLite" id="FastNoiseLite_rpgb7"]
|
||||
|
@ -41,7 +41,6 @@ _shader_parameters = {
|
|||
"vertex_normals_distance": 128.0
|
||||
}
|
||||
texture_filtering = 1
|
||||
show_navigation = true
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ly4sm"]
|
||||
cull_mode = 2
|
||||
|
@ -169,7 +168,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.2, 0)
|
|||
shape = SubResource("BoxShape3D_x3wvm")
|
||||
|
||||
[node name="ShotSetup" parent="." instance=ExtResource("8_h44v5")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 212.717, 4, 294.073)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 218.499, 4, 294.341)
|
||||
|
||||
[node name="Buildings" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 129.404, -9.53674e-07, 309.4)
|
||||
|
@ -200,12 +199,3 @@ mesh = SubResource("BoxMesh_20p1k")
|
|||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="DebugTable/StaticBody3D"]
|
||||
shape = SubResource("BoxShape3D_g31tw")
|
||||
|
||||
[node name="Fairway" type="Area3D" parent="."]
|
||||
script = ExtResource("9_jwlau")
|
||||
terrain_angular_damping = 2.0
|
||||
|
||||
[node name="CollisionPolygon3D" type="CollisionPolygon3D" parent="Fairway"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 209.788, 6.20358, 256.527)
|
||||
depth = 10.0
|
||||
polygon = PackedVector2Array(-1.47594, 8.77969, -12.788, 19.9447, -17.7778, 31.2864, -19.2001, 41.1398, -19.2001, 55.4081, -16.3465, 66.9813, -15.7123, 75.8594, -14.9196, 82.6765, -12.383, 89.9692, -5.6736, 102.186, 2.88742, 115.027, 9.22891, 125.332, 14.7777, 133.893, 23.4973, 146.417, 35.7046, 159.893, 44.1071, 167.661, 55.8437, 178.18, 64.5632, 185.314, 69.7949, 189.753, 73.7584, 193.082, 80.734, 200.85, 94.5267, 212.899, 106.576, 221.46, 127.915, 233.827, 139.647, 240.802, 170.403, 256.181, 183.721, 262.839, 204.489, 271.717, 216.062, 274.571, 224.465, 279.485, 235.727, 283.429, 246.983, 289.929, 253.958, 290.88, 265.373, 296.27, 275.044, 298.965, 288.995, 299.282, 302.154, 299.599, 330.056, 297.063, 356.532, 289.612, 370.483, 282.636, 382.057, 270.112, 388.081, 259.648, 392.679, 245.221, 395.849, 226.989, 395.863, 185.922, 391.266, 164.52, 381.913, 148.636, 362.889, 133.417, 344.657, 121.051, 327.059, 111.063, 306.291, 103.136, 292.974, 102.66, 277.913, 102.66, 264.913, 105.99, 241.347, 117.315, 222.323, 125.558, 203.457, 127.144, 182.371, 123.973, 157.322, 119.534, 132.908, 107.644, 108.651, 86.0827, 88.8301, 59.386, 82.6471, 48.764, 75.6715, 25.7761, 65.063, 10.562, 56.819, 3.7449, 48.5751, -0.852661, 35.2579, -3.07219, 20.8311, -3.38925, 7.35541, 1.36685)
|
||||
|
|
BIN
levels/debug_level/terrain_3d_storage.res (Stored with Git LFS)
BIN
levels/debug_level/terrain_3d_storage.res (Stored with Git LFS)
Binary file not shown.
|
@ -150,12 +150,8 @@ select_putter={
|
|||
|
||||
[physics]
|
||||
|
||||
3d/physics_engine="JoltPhysics3D"
|
||||
3d/sleep_threshold_linear=0.1
|
||||
3d/sleep_threshold_angular=2.0
|
||||
jolt_3d/sleep/velocity_threshold=0.1
|
||||
jolt_3d/sleep/time_threshold=1.0
|
||||
jolt_3d/limits/max_temporary_memory=64
|
||||
3d/default_angular_damp=2.0
|
||||
3d/sleep_threshold_angular=0.3
|
||||
|
||||
[rendering]
|
||||
|
||||
|
|
|
@ -169,7 +169,7 @@ bones/23/scale = Vector3(1, 1, 1)
|
|||
visible = false
|
||||
|
||||
[node name="BoneAttachment3D" type="BoneAttachment3D" parent="Armature/Skeleton3D" index="6"]
|
||||
transform = Transform3D(-0.944824, 0.316851, -0.0831417, -0.325647, -0.936013, 0.133541, -0.0355091, 0.153247, 0.98755, -0.1687, 3.15793, 0.845315)
|
||||
transform = Transform3D(-0.944824, 0.316851, -0.0831417, -0.325345, -0.937238, 0.12544, -0.0381779, 0.145568, 0.988612, -0.1687, 3.1755, 0.839478)
|
||||
bone_name = "Hand.R"
|
||||
bone_idx = 11
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
[sub_resource type="SphereShape3D" id="SphereShape3D_wmusx"]
|
||||
|
||||
[node name="FreeCamera" type="CharacterBody3D"]
|
||||
process_mode = 3
|
||||
collision_layer = 0
|
||||
script = ExtResource("1_3gm3q")
|
||||
|
||||
|
|
|
@ -2,62 +2,3 @@ class_name GameBall extends RigidBody3D
|
|||
## Base class for all gfolf balls
|
||||
|
||||
signal entered_water
|
||||
|
||||
const TERRAIN_DAMPING_EPSILON := 1e-6
|
||||
const IRON_DAMPING := 9999.0
|
||||
|
||||
## Angular damping while in air
|
||||
@export var air_damping := 0.0
|
||||
## Angular damping while in collision with rough terrain
|
||||
@export var rough_damping := 8.0
|
||||
## Angular damping for iron balls
|
||||
@export var iron_damping := 9999.0
|
||||
|
||||
## Causes the ball to act more like a brick
|
||||
@export var iron_ball := false:
|
||||
set(value):
|
||||
if value:
|
||||
physics_material_override = iron_physics
|
||||
else:
|
||||
physics_material_override = normal_physics
|
||||
iron_ball = value
|
||||
|
||||
var _zones: Array[BallZone] = []
|
||||
|
||||
@onready
|
||||
var normal_physics: PhysicsMaterial = preload("res://src/player/physics_ball/normal_physics.tres")
|
||||
@onready
|
||||
var iron_physics: PhysicsMaterial = preload("res://src/player/physics_ball/iron_physics.tres")
|
||||
|
||||
|
||||
## Called by a water area when this ball enters it
|
||||
func enter_water() -> void:
|
||||
entered_water.emit()
|
||||
|
||||
|
||||
func _total_terrain_angular_damping() -> float:
|
||||
return _zones.reduce(
|
||||
func(a: float, b: BallZone) -> float: return a + b.terrain_angular_damping, 0.0
|
||||
)
|
||||
|
||||
|
||||
func _integrate_forces(state: PhysicsDirectBodyState3D) -> void:
|
||||
var damping := air_damping
|
||||
if iron_ball:
|
||||
damping = iron_damping
|
||||
elif state.get_contact_count():
|
||||
damping = _total_terrain_angular_damping()
|
||||
if damping <= TERRAIN_DAMPING_EPSILON:
|
||||
damping = rough_damping
|
||||
angular_damp = damping
|
||||
|
||||
|
||||
func enter_zone(zone: BallZone) -> void:
|
||||
_zones.push_back(zone)
|
||||
|
||||
if zone.water_hazard:
|
||||
entered_water.emit()
|
||||
|
||||
|
||||
func exit_zone(zone: BallZone) -> void:
|
||||
_zones.erase(zone)
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
[gd_resource type="PhysicsMaterial" format=3 uid="uid://cfd56nhaods5a"]
|
||||
|
||||
[resource]
|
||||
friction = 0.8
|
||||
rough = true
|
||||
bounce = 1.0
|
||||
absorbent = true
|
|
@ -1,5 +0,0 @@
|
|||
[gd_resource type="PhysicsMaterial" format=3 uid="uid://3bih72l068ic"]
|
||||
|
||||
[resource]
|
||||
friction = 0.8
|
||||
bounce = 0.5
|
|
@ -1,10 +1,13 @@
|
|||
[gd_scene load_steps=8 format=3 uid="uid://dfttci386ohip"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/player/physics_ball/game_ball.gd" id="1_iwh2u"]
|
||||
[ext_resource type="PhysicsMaterial" uid="uid://3bih72l068ic" path="res://src/player/physics_ball/normal_physics.tres" id="1_l23pw"]
|
||||
[ext_resource type="Texture2D" uid="uid://ckhiq6rfjv63u" path="res://assets/textures/gfolfball/gfolfball.png" id="1_y3q5j"]
|
||||
[ext_resource type="Texture2D" uid="uid://btntjs7mbdigu" path="res://assets/textures/gfolfball/gfolfball_normal.png" id="2_mx7l6"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_2gatw"]
|
||||
friction = 0.2
|
||||
bounce = 0.5
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xqofq"]
|
||||
albedo_texture = ExtResource("1_y3q5j")
|
||||
albedo_texture_force_srgb = true
|
||||
|
@ -29,15 +32,10 @@ radius = 0.05
|
|||
|
||||
[node name="PhysicsBall" type="RigidBody3D"]
|
||||
mass = 0.05
|
||||
physics_material_override = ExtResource("1_l23pw")
|
||||
physics_material_override = SubResource("PhysicsMaterial_2gatw")
|
||||
continuous_cd = true
|
||||
contact_monitor = true
|
||||
max_contacts_reported = 1
|
||||
linear_damp_mode = 1
|
||||
angular_damp_mode = 1
|
||||
angular_damp = 8.0
|
||||
script = ExtResource("1_iwh2u")
|
||||
iron_damping = 1e+07
|
||||
|
||||
[node name="BallMesh" type="MeshInstance3D" parent="."]
|
||||
mesh = SubResource("SphereMesh_y0d13")
|
||||
|
|
|
@ -34,12 +34,6 @@ const CAMERA_SNAP_TIME := 0.3
|
|||
@export var base_power := 2.5
|
||||
@export var base_curve := 0.0
|
||||
|
||||
@export_category("Debug")
|
||||
## When enabled, the game will pause and enter free cam mode when the ball has a collision.
|
||||
@export var debug_ball_impact := false
|
||||
## When enabled, ignore curve meter and hit a perfect shot every time.
|
||||
@export var perfect_aim := false
|
||||
|
||||
var base_speed: float = ProjectSettings.get_setting("game/config/controls/camera/free_camera_speed")
|
||||
|
||||
var x_sensitivity: float = ProjectSettings.get_setting(
|
||||
|
@ -91,9 +85,7 @@ var _tracking_camera: OrbitalCamera
|
|||
@onready var shot_animation: AnimationPlayer = %ShotAnimation
|
||||
|
||||
@onready var arrow: Node3D = %Arrow
|
||||
@onready var arrow_pivot: Node3D = %ArrowPivot
|
||||
@onready var arrow_animation: AnimationPlayer = %ArrowAnimation
|
||||
@onready var shot_projection: ProjectileArc = %ShotProjection
|
||||
|
||||
@onready var power_bar: ProgressBar = %PowerBar
|
||||
@onready var power_animation: AnimationPlayer = %PowerAnimation
|
||||
|
@ -102,16 +94,13 @@ var _tracking_camera: OrbitalCamera
|
|||
@onready var curve_animation: AnimationPlayer = %CurveAnimation
|
||||
|
||||
@onready var ball_point: Node3D = %BallPoint
|
||||
@onready var physics_ball: GameBall = %PhysicsBall
|
||||
@onready var physics_ball: RigidBody3D = %PhysicsBall
|
||||
|
||||
@onready var drive_ref: RayCast3D = %DriveRef
|
||||
@onready var drive_arrow: Node3D = %DriveArrow
|
||||
@onready var wedge_ref: RayCast3D = %WedgeRef
|
||||
@onready var wedge_arrow: Node3D = %WedgeArrow
|
||||
@onready var iron_ref: RayCast3D = %IronRef
|
||||
@onready var iron_arrow: Node3D = %IronArrow
|
||||
@onready var putt_ref: RayCast3D = %PuttRef
|
||||
@onready var putt_arrow: Node3D = %PuttArrow
|
||||
@onready var wedge_ref: RayCast3D = %WedgeRef
|
||||
|
||||
@onready var club_selector: ClubSelector = %ClubSelector
|
||||
|
||||
|
@ -171,15 +160,13 @@ func finish_downswing() -> void:
|
|||
phase = Phase.SHOT
|
||||
|
||||
|
||||
func get_shot_impulse(meter_pct: float) -> Vector3:
|
||||
return -shot_ref.global_basis.z * base_power * meter_pct
|
||||
|
||||
|
||||
func take_shot() -> void:
|
||||
print_debug("WHACK!\nPower: ", power_bar.value, "\nCurve: ", curve_bar.value)
|
||||
print("WHACK!")
|
||||
print("Power: ", power_bar.value)
|
||||
print("Curve: ", curve_bar.value)
|
||||
|
||||
var impulse := get_shot_impulse(power_bar.value)
|
||||
print_debug("Shot impulse: ", impulse, "; ", impulse.length(), " N*s")
|
||||
var impulse := shot_ref.global_basis.z * base_power * power_bar.value
|
||||
print("Shot impulse: ", impulse)
|
||||
|
||||
ball_impulse_debug.transform = (
|
||||
Transform3D.IDENTITY.scaled(Vector3.ONE * impulse.length()).looking_at(impulse)
|
||||
|
@ -189,21 +176,8 @@ func take_shot() -> void:
|
|||
physics_ball.apply_central_impulse(impulse)
|
||||
|
||||
|
||||
## Make the shot projection widget visible, with animated transition
|
||||
func _show_shot_projection() -> void:
|
||||
shot_projection.initial_speed = 1
|
||||
shot_projection.basis = shot_ref.basis.orthonormalized()
|
||||
var shot_speed := get_shot_impulse(1.0).length() / physics_ball.mass
|
||||
var tween := get_tree().create_tween()
|
||||
tween.tween_property(shot_projection, "initial_speed", shot_speed, CAMERA_SNAP_TIME).set_trans(
|
||||
Tween.TRANS_QUAD
|
||||
)
|
||||
shot_projection.show()
|
||||
|
||||
|
||||
func insert_free_cam() -> void:
|
||||
arrow_animation.play("hide")
|
||||
_show_shot_projection()
|
||||
hud_state.travel("hidden")
|
||||
_free_camera = FreeCamera.create(camera)
|
||||
add_sibling(_free_camera)
|
||||
|
@ -214,7 +188,6 @@ func insert_free_cam() -> void:
|
|||
func return_free_cam() -> void:
|
||||
# TODO alter shot aim based on free camera selection
|
||||
arrow_animation.play("show")
|
||||
#shot_projection.hide()
|
||||
hud_state.travel("visible")
|
||||
_free_camera.queue_free()
|
||||
_free_camera = null
|
||||
|
@ -266,15 +239,13 @@ func _on_club_change(new_club: Club.Type) -> void:
|
|||
# Hide all arrows
|
||||
# TODO animate?
|
||||
drive_arrow.hide()
|
||||
wedge_arrow.hide()
|
||||
iron_arrow.hide()
|
||||
putt_arrow.hide()
|
||||
physics_ball.iron_ball = false
|
||||
club_selector.value = new_club
|
||||
match new_club:
|
||||
Club.Type.DRIVER:
|
||||
shot_ref = drive_ref
|
||||
drive_arrow.show()
|
||||
|
||||
# TODO get this from player loadout
|
||||
# TODO club change animation
|
||||
character.hold_right(Club.catalog.debug_driver.get_model())
|
||||
|
@ -285,13 +256,12 @@ func _on_club_change(new_club: Club.Type) -> void:
|
|||
Club.Type.WEDGE:
|
||||
# TODO
|
||||
shot_ref = wedge_ref
|
||||
wedge_arrow.show()
|
||||
drive_arrow.show()
|
||||
character.hold_right(Club.catalog.debug_wedge.get_model())
|
||||
Club.Type.IRON:
|
||||
# TODO
|
||||
shot_ref = iron_ref
|
||||
iron_arrow.show()
|
||||
physics_ball.iron_ball = true
|
||||
shot_ref = drive_ref
|
||||
drive_arrow.show()
|
||||
character.hold_right(Club.catalog.debug_iron.get_model())
|
||||
Club.Type.SPECIAL:
|
||||
# TODO
|
||||
|
@ -352,9 +322,7 @@ func _process(delta: float) -> void:
|
|||
pitch.rotation.x = lerp_angle(pitch.rotation.x, _target_rotation.x, delta * y_acceleration)
|
||||
|
||||
# Arrow lags behind camera control
|
||||
arrow_pivot.rotation.y = lerp_angle(
|
||||
arrow_pivot.rotation.y, _target_rotation.y, delta * ARROW_ACCELERATION
|
||||
)
|
||||
arrow.rotation.y = lerp_angle(arrow.rotation.y, _target_rotation.y, delta * ARROW_ACCELERATION)
|
||||
# Player lags further behind
|
||||
player_pivot.rotation.y = lerp_angle(
|
||||
player_pivot.rotation.y, _target_rotation.y, delta * PLAYER_ACCELERATION
|
||||
|
@ -446,18 +414,6 @@ func _on_physics_ball_sleeping_state_changed() -> void:
|
|||
func _on_ball_entered_water() -> void:
|
||||
# Should only be possible during SHOT phase, but let's check just to be sure...
|
||||
if phase == Phase.SHOT:
|
||||
print("INTO THE DRINK!!")
|
||||
physics_ball.freeze = true
|
||||
wasted_animation.play("display")
|
||||
|
||||
|
||||
func _on_physics_ball_body_entered(_body: Node) -> void:
|
||||
print_debug("BONK!")
|
||||
if debug_ball_impact:
|
||||
get_tree().paused = true
|
||||
var snap_point: Node3D = camera
|
||||
if _tracking_camera:
|
||||
snap_point = _tracking_camera
|
||||
_free_camera = FreeCamera.create(snap_point)
|
||||
add_sibling(_free_camera)
|
||||
control_disabled = true
|
||||
camera.current = false
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
[gd_scene load_steps=40 format=3 uid="uid://cy7t2tc4y3b4"]
|
||||
[gd_scene load_steps=38 format=3 uid="uid://cy7t2tc4y3b4"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/player/shot_setup/shot_setup.gd" id="1_r6ei4"]
|
||||
[ext_resource type="PackedScene" uid="uid://dfttci386ohip" path="res://src/player/physics_ball/physics_ball.tscn" id="2_1i5j5"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2k88ns0h5ie1" path="res://src/ui/arrow/arrow.tscn" id="2_s70wl"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2k88ns0h5ie1" path="res://src/ui/arrow.tscn" id="2_s70wl"]
|
||||
[ext_resource type="PackedScene" uid="uid://1s3gywmoi20e" path="res://src/characters/gfolf_girl/gfolf_girl.tscn" id="3_e4aur"]
|
||||
[ext_resource type="PackedScene" uid="uid://445qd7m4qe2j" path="res://src/player/shot_setup/club_selector/club_selector.tscn" id="4_56ape"]
|
||||
[ext_resource type="PackedScene" uid="uid://fht6j87o8ecr" path="res://src/ui/projectile_arc/projectile_arc.tscn" id="4_ry2ho"]
|
||||
[ext_resource type="PackedScene" uid="uid://dbdul15c4oblg" path="res://src/ui/projected_target.tscn" id="6_mynqj"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lnol1"]
|
||||
albedo_color = Color(0, 0.537255, 1, 1)
|
||||
|
@ -662,36 +660,27 @@ unique_name_in_owner = true
|
|||
|
||||
[node name="DriveRef" type="RayCast3D" parent="Direction"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0.08, 0)
|
||||
transform = Transform3D(-1, 6.18172e-08, -6.18172e-08, 0, 0.707107, 0.707107, 8.74228e-08, 0.707107, -0.707107, 0, 0.08, 0)
|
||||
enabled = false
|
||||
target_position = Vector3(0, 0, -1)
|
||||
target_position = Vector3(0, 0, 1)
|
||||
collision_mask = 0
|
||||
collide_with_bodies = false
|
||||
debug_shape_thickness = 4
|
||||
|
||||
[node name="WedgeRef" type="RayCast3D" parent="Direction"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.181173, -0.676148, 0, 0.676148, 0.181173, 0, 0.08, 0)
|
||||
transform = Transform3D(-0.7, -5.29972e-08, 3.0598e-08, 0, 0.35, 0.606218, -6.11959e-08, 0.606218, -0.35, 0, 0.08, 0)
|
||||
enabled = false
|
||||
target_position = Vector3(0, 0, -1)
|
||||
collision_mask = 0
|
||||
collide_with_bodies = false
|
||||
debug_shape_thickness = 4
|
||||
|
||||
[node name="IronRef" type="RayCast3D" parent="Direction"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.449952, -0.536231, 0, 0.536231, 0.449952, 0, 0.08, 0)
|
||||
enabled = false
|
||||
target_position = Vector3(0, 0, -1)
|
||||
target_position = Vector3(0, 0, 1)
|
||||
collision_mask = 0
|
||||
collide_with_bodies = false
|
||||
debug_shape_thickness = 4
|
||||
|
||||
[node name="PuttRef" type="RayCast3D" parent="Direction"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.08, 0)
|
||||
transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, 0, 0.08, 0)
|
||||
enabled = false
|
||||
target_position = Vector3(0, 0, -1)
|
||||
target_position = Vector3(0, 0, 1)
|
||||
collision_mask = 0
|
||||
collide_with_bodies = false
|
||||
debug_shape_thickness = 4
|
||||
|
@ -713,68 +702,35 @@ unique_name_in_owner = true
|
|||
transform = Transform3D(1, 0, 0, 0, 1, 2.98023e-08, 0, -2.98023e-08, 1, 0, 0, 0)
|
||||
current = true
|
||||
|
||||
[node name="ArrowPivot" type="Node3D" parent="."]
|
||||
[node name="Arrow" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
|
||||
transform = Transform3D(0.001, 0, 0, 0, 0.001, 0, 0, 0, 0.001, 0, 0.1, 0)
|
||||
|
||||
[node name="Arrow" type="Node3D" parent="ArrowPivot"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.001, 0, 0, 0, 0.001, 0, 0, 0, 0.001, 0, 0, 0)
|
||||
|
||||
[node name="ArrowAnimation" type="AnimationPlayer" parent="ArrowPivot/Arrow"]
|
||||
[node name="ArrowAnimation" type="AnimationPlayer" parent="Arrow"]
|
||||
unique_name_in_owner = true
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_rw0cf")
|
||||
}
|
||||
autoplay = "show"
|
||||
|
||||
[node name="DriveArrow" type="Node3D" parent="ArrowPivot/Arrow"]
|
||||
[node name="DriveArrow" type="Node3D" parent="Arrow"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, 0, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 0, 0)
|
||||
visible = false
|
||||
|
||||
[node name="ArrowMesh" parent="ArrowPivot/Arrow/DriveArrow" instance=ExtResource("2_s70wl")]
|
||||
transform = Transform3D(0.2, 0, 0, 0, -1.74846e-08, 0.2, 0, -0.4, -8.74228e-09, 0, 0, -1)
|
||||
[node name="ArrowMesh" parent="Arrow/DriveArrow" instance=ExtResource("2_s70wl")]
|
||||
transform = Transform3D(0.2, 0, 0, 0, 0.4, 0, 0, 0, 0.2, 0, 1, 0)
|
||||
loop_animation = 1
|
||||
|
||||
[node name="WedgeArrow" type="Node3D" parent="ArrowPivot/Arrow"]
|
||||
[node name="PuttArrow" type="Node3D" parent="Arrow"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.181173, -0.676148, 0, 0.676148, 0.181173, 0, 0, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0)
|
||||
visible = false
|
||||
|
||||
[node name="ArrowMesh" parent="ArrowPivot/Arrow/WedgeArrow" instance=ExtResource("2_s70wl")]
|
||||
transform = Transform3D(0.2, 0, 0, 0, -1.74846e-08, 0.2, 0, -0.4, -8.74228e-09, 0, 0, -1)
|
||||
[node name="ArrowMesh" parent="Arrow/PuttArrow" instance=ExtResource("2_s70wl")]
|
||||
transform = Transform3D(0.2, 0, 0, 0, 0.4, 0, 0, 0, 0.2, 0, 1, 0)
|
||||
loop_animation = 1
|
||||
|
||||
[node name="IronArrow" type="Node3D" parent="ArrowPivot/Arrow"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.449952, -0.536231, 0, 0.536231, 0.449952, 0, 0, 0)
|
||||
visible = false
|
||||
|
||||
[node name="ArrowMesh" parent="ArrowPivot/Arrow/IronArrow" instance=ExtResource("2_s70wl")]
|
||||
transform = Transform3D(0.2, 0, 0, 0, -1.74846e-08, 0.2, 0, -0.4, -8.74228e-09, 0, 0, -1)
|
||||
loop_animation = 1
|
||||
|
||||
[node name="PuttArrow" type="Node3D" parent="ArrowPivot/Arrow"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0)
|
||||
visible = false
|
||||
|
||||
[node name="ArrowMesh" parent="ArrowPivot/Arrow/PuttArrow" instance=ExtResource("2_s70wl")]
|
||||
transform = Transform3D(0.2, 0, 0, 0, -1.74846e-08, 0.2, 0, -0.4, -8.74228e-09, 0, 0, -1)
|
||||
loop_animation = 1
|
||||
|
||||
[node name="ShotProjection" parent="ArrowPivot" node_paths=PackedStringArray("excluded_bodies") instance=ExtResource("4_ry2ho")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 0.707107, -0.707107, 0, 0.707107, 0.707107, 0, -0.02, 0)
|
||||
visible = false
|
||||
initial_speed = 50.0
|
||||
time_step = 0.01
|
||||
max_steps = 800
|
||||
excluded_bodies = [NodePath("../../BallPoint/PhysicsBall")]
|
||||
|
||||
[node name="ProjectedTarget" parent="ArrowPivot/ShotProjection" instance=ExtResource("6_mynqj")]
|
||||
|
||||
[node name="ShotAnimation" type="AnimationPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
root_node = NodePath("../Direction/Elevation/Pitch/Zoom/Camera")
|
||||
|
@ -808,9 +764,12 @@ offset_bottom = 66.0
|
|||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
theme_type_variation = &"ShotFeedback"
|
||||
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/shadow_offset_y = 4
|
||||
theme_override_constants/shadow_offset_x = 6
|
||||
theme_override_font_sizes/bold_italics_font_size = 168
|
||||
bbcode_enabled = true
|
||||
text = "[center][wave amp=64][rainbow]woah nice[/rainbow][/wave][/center]"
|
||||
text = "[center][wave][rainbow][i][b]WOAH NICE[/b][/i][/rainbow][/wave][/center]"
|
||||
fit_content = true
|
||||
autowrap_mode = 0
|
||||
visible_characters_behavior = 1
|
||||
|
@ -838,9 +797,12 @@ grow_horizontal = 2
|
|||
grow_vertical = 2
|
||||
pivot_offset = Vector2(100, 115)
|
||||
mouse_filter = 2
|
||||
theme_type_variation = &"ShotFeedback"
|
||||
theme_override_colors/font_shadow_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/shadow_offset_y = 4
|
||||
theme_override_constants/shadow_offset_x = 6
|
||||
theme_override_font_sizes/bold_italics_font_size = 168
|
||||
bbcode_enabled = true
|
||||
text = "[center][tornado radius=16][color=powder_blue]wasted[/color][/tornado][/center]"
|
||||
text = "[center][tornado radius=20][color=powder_blue][i][b]WASTED[/b][/i][/color][/tornado][/center]"
|
||||
fit_content = true
|
||||
autowrap_mode = 0
|
||||
visible_characters_behavior = 1
|
||||
|
@ -952,6 +914,5 @@ root_node = NodePath("%HUDStateMachine/..")
|
|||
tree_root = SubResource("AnimationNodeStateMachine_osrbp")
|
||||
anim_player = NodePath("../HUDAnimation")
|
||||
|
||||
[connection signal="body_entered" from="BallPoint/PhysicsBall" to="." method="_on_physics_ball_body_entered"]
|
||||
[connection signal="entered_water" from="BallPoint/PhysicsBall" to="." method="_on_ball_entered_water"]
|
||||
[connection signal="sleeping_state_changed" from="BallPoint/PhysicsBall" to="." method="_on_physics_ball_sleeping_state_changed"]
|
||||
|
|
|
@ -1,35 +1,11 @@
|
|||
[gd_scene load_steps=5 format=3 uid="uid://c7l58wuuahn7w"]
|
||||
[gd_scene load_steps=3 format=3 uid="uid://c7l58wuuahn7w"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://dqj60gh364mn5" path="res://assets/models/course/flag/flag.gltf" id="1_ona6u"]
|
||||
[ext_resource type="FontFile" uid="uid://dsa0oh7c0h4pu" path="res://assets/fonts/Racing_Sans_One/RacingSansOne-Regular.ttf" id="2_tmki0"]
|
||||
[ext_resource type="Script" path="res://src/props/flag/flag.gd" id="2_wv8rd"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_8ynho"]
|
||||
data = PackedVector3Array(0, 0, -0.025, 0.0217, 4, -0.0125, 0, 4, -0.025, 0, 0, -0.025, 0.0217, 0, -0.0125, 0.0217, 4, -0.0125, 0.0217, 0, -0.0125, 0.0217, 4, 0.0125, 0.0217, 4, -0.0125, 0.0217, 0, -0.0125, 0.0217, 0, 0.0125, 0.0217, 4, 0.0125, 0.0217, 0, 0.0125, 0, 4, 0.025, 0.0217, 4, 0.0125, 0.0217, 0, 0.0125, 0, 0, 0.025, 0, 4, 0.025, 0, 0, 0.025, -0.0217, 4, 0.0125, 0, 4, 0.025, 0, 0, 0.025, -0.0217, 0, 0.0125, -0.0217, 4, 0.0125, 0.0217, 4, 0.0125, 0, 4, -0.025, 0.0217, 4, -0.0125, 0, 4, -0.025, -0.0217, 4, 0.0125, -0.0217, 4, -0.0125, -0.0217, 4, 0.0125, 0.0217, 4, 0.0125, 0, 4, 0.025, 0, 4, -0.025, 0.0217, 4, 0.0125, -0.0217, 4, 0.0125, -0.0217, 0, 0.0125, -0.0217, 4, -0.0125, -0.0217, 4, 0.0125, -0.0217, 0, 0.0125, -0.0217, 0, -0.0125, -0.0217, 4, -0.0125, -0.0217, 0, -0.0125, 0, 4, -0.025, -0.0217, 4, -0.0125, -0.0217, 0, -0.0125, 0, 0, -0.025, 0, 4, -0.025, -0.0217, 0, -0.0125, 0.0217, 0, -0.0125, 0, 0, -0.025, 0.0217, 0, -0.0125, 0, 0, 0.025, 0.0217, 0, 0.0125, 0, 0, 0.025, -0.0217, 0, -0.0125, -0.0217, 0, 0.0125, 0.0217, 0, -0.0125, -0.0217, 0, -0.0125, 0, 0, 0.025)
|
||||
|
||||
[node name="Flag" instance=ExtResource("1_ona6u")]
|
||||
script = ExtResource("2_wv8rd")
|
||||
show_distance = true
|
||||
|
||||
[node name="DistanceLabel" type="Label3D" parent="Pole" index="0"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 5, 0)
|
||||
visibility_range_begin = 20.0
|
||||
visibility_range_begin_margin = 2.0
|
||||
visibility_range_fade_mode = 1
|
||||
pixel_size = 0.001
|
||||
billboard = 1
|
||||
no_depth_test = true
|
||||
fixed_size = true
|
||||
texture_filter = 5
|
||||
render_priority = 3
|
||||
outline_render_priority = 2
|
||||
outline_modulate = Color(1, 0, 0.133333, 1)
|
||||
text = "Goal!
|
||||
0000 m"
|
||||
font = ExtResource("2_tmki0")
|
||||
outline_size = 8
|
||||
line_spacing = -16.0
|
||||
|
||||
[node name="Skeleton3D" parent="Armature" index="0"]
|
||||
bones/0/rotation = Quaternion(-0.0471389, 2.3332e-10, 0.0444053, 0.997901)
|
|
@ -1,20 +0,0 @@
|
|||
@tool
|
||||
extends Node3D
|
||||
|
||||
@export var show_distance: bool:
|
||||
set(value):
|
||||
if distance_label:
|
||||
distance_label.visible = value
|
||||
get:
|
||||
return distance_label.visible
|
||||
@onready var distance_label: Label3D = %DistanceLabel
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if show_distance:
|
||||
var viewport := get_viewport()
|
||||
if viewport:
|
||||
var camera := viewport.get_camera_3d()
|
||||
if camera:
|
||||
var distance := int(global_position.distance_to(camera.global_position))
|
||||
distance_label.text = "Goal!\n%d m" % distance
|
|
@ -1,47 +0,0 @@
|
|||
// Hologram shader
|
||||
// Adapted from https://godotshaders.com/shader/scifi-hologram/
|
||||
|
||||
shader_type spatial;
|
||||
render_mode unshaded;
|
||||
|
||||
uniform sampler2D texture_image;
|
||||
|
||||
uniform mediump vec4 line_color : source_color = vec4(0.0, 1.0, 0.0, 1.0);
|
||||
uniform mediump float line_width : hint_range(0, 1) = 0.005;
|
||||
uniform mediump float line_blur : hint_range(0, 1) = 0.2;
|
||||
uniform mediump float line_speed : hint_range(-1, 1) = 0.02;
|
||||
uniform bool straight_lines = true;
|
||||
|
||||
uniform mediump float interrupt_width : hint_range(0, 1) = 0.5;
|
||||
uniform mediump float interrupt_blur : hint_range(0, 1) = 0.25;
|
||||
uniform mediump float interrupt_speed : hint_range(-1, 1) = 0.2;
|
||||
|
||||
uniform mediump vec4 glow_color : source_color = vec4(0.5, 0.75, 1.0, 1.0);
|
||||
uniform lowp float glow_itensity : hint_range(0, 20) = 4.5;
|
||||
uniform lowp float glow_amount : hint_range(0, 20) = 4.5;
|
||||
uniform lowp float flickering : hint_range(0, 1) = 0.55;
|
||||
|
||||
vec3 fresnel_glow(float amount, float intensity, vec3 color, vec3 normal, vec3 view) {
|
||||
return pow((1.0 - dot(normalize(normal), normalize(view))), amount) * color * intensity;
|
||||
}
|
||||
|
||||
void fragment () {
|
||||
vec2 canvas;
|
||||
if (straight_lines) {
|
||||
canvas = SCREEN_UV;
|
||||
} else {
|
||||
canvas = vec2(VIEW.x, VIEW.y);
|
||||
}
|
||||
vec2 lines = vec2(clamp(sin((TIME * line_speed + canvas.y) / line_width), line_blur, 1.0 - line_blur), canvas.x);
|
||||
vec2 interupts = vec2(clamp(sin((TIME * interrupt_speed + canvas.y) / interrupt_width * 3.0), interrupt_blur, 1.0 - interrupt_blur), canvas.x);
|
||||
|
||||
float flicker = clamp(fract(cos(TIME) * 43758.5453123), flickering, 1.0);
|
||||
vec4 imgtex = flicker * line_color * texture(texture_image, lines * interupts);
|
||||
vec3 imgtex_color = vec3(imgtex.r, imgtex.g, imgtex.b);
|
||||
vec3 fresnel_color = vec3(glow_color.r, glow_color.g, glow_color.b);
|
||||
vec3 fresnel = fresnel_glow(glow_amount, glow_itensity, fresnel_color, NORMAL, VIEW);
|
||||
ALBEDO = imgtex_color + fresnel;
|
||||
|
||||
EMISSION = glow_amount * vec3(glow_color.r, glow_color.g, glow_color.b);
|
||||
ALPHA = lines.x * interupts.x;
|
||||
}
|
|
@ -1,41 +0,0 @@
|
|||
// Plasma Pulse shader
|
||||
// Adapted from https://godotshaders.com/shader/scifi-hologram/
|
||||
|
||||
shader_type spatial;
|
||||
render_mode unshaded, cull_back;
|
||||
|
||||
uniform mediump vec3 albedo: source_color = vec3(0.9, 0.0, 0.7);
|
||||
|
||||
uniform bool transpose_axis = false;
|
||||
|
||||
uniform mediump sampler2D wave_gradient;
|
||||
uniform mediump float wave_width: hint_range(0, 10) = 1;
|
||||
uniform mediump float wave_speed: hint_range(-1, 1) = 0.4;
|
||||
|
||||
uniform mediump vec4 glow_color: source_color = vec4(0.5, 0.75, 1.0, 1.0);
|
||||
uniform lowp float glow_intensity: hint_range(0, 20) = 0.618;
|
||||
uniform lowp float glow_amount: hint_range(0, 20) = 4.5;
|
||||
|
||||
uniform mediump sampler2D pulse_gradient;
|
||||
uniform mediump float pulse_speed: hint_range(0, 10) = 0.3;
|
||||
|
||||
vec3 fresnel_glow(float amount, float intensity, vec3 color, vec3 normal, vec3 view) {
|
||||
return pow((1.0 - dot(normalize(normal), normalize(view))), amount) * color * intensity;
|
||||
}
|
||||
|
||||
void fragment () {
|
||||
float canvas = -UV.x;
|
||||
if(transpose_axis) {
|
||||
canvas = -UV.y;
|
||||
}
|
||||
float wave_value = texture(wave_gradient, vec2((canvas + TIME * wave_speed) / wave_width, 0)).r;
|
||||
|
||||
vec3 fresnel_color = vec3(glow_color.r, glow_color.g, glow_color.b);
|
||||
vec3 fresnel = fresnel_glow(glow_amount, glow_intensity, fresnel_color, NORMAL, VIEW);
|
||||
|
||||
float pulse_value = texture(pulse_gradient, vec2(TIME * pulse_speed, 0)).r;
|
||||
|
||||
ALBEDO = albedo + fresnel;
|
||||
EMISSION = glow_amount * vec3(glow_color.r, glow_color.g, glow_color.b);
|
||||
ALPHA = wave_value * pulse_value;
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
[gd_scene load_steps=9 format=3 uid="uid://c2k88ns0h5ie1"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://bw54bi35myvpg" path="res://assets/models/ui/arrow/arrow.glb" id="1_xifl6"]
|
||||
[ext_resource type="Script" path="res://src/ui/arrow/arrow.gd" id="2_0viam"]
|
||||
[ext_resource type="Script" path="res://src/ui/arrow.gd" id="2_0viam"]
|
||||
[ext_resource type="Material" uid="uid://d3ka0yjhxu5ks" path="res://assets/materials/gummy_material.tres" id="3_g7vwe"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_hsqkd"]
|
|
@ -1,7 +1,15 @@
|
|||
[gd_resource type="Theme" load_steps=3 format=3 uid="uid://diodjft5u2cck"]
|
||||
|
||||
[ext_resource type="FontFile" uid="uid://dsa0oh7c0h4pu" path="res://assets/fonts/Racing_Sans_One/RacingSansOne-Regular.ttf" id="1_3rv2b"]
|
||||
[ext_resource type="FontFile" uid="uid://comihs66wounx" path="res://assets/fonts/Dokdo/Dokdo-Regular.ttf" id="1_eha6a"]
|
||||
[sub_resource type="SystemFont" id="SystemFont_dpm3o"]
|
||||
font_names = PackedStringArray("Sans-Serif")
|
||||
font_italic = true
|
||||
font_weight = 800
|
||||
generate_mipmaps = true
|
||||
|
||||
[sub_resource type="SystemFont" id="SystemFont_2dr7l"]
|
||||
font_names = PackedStringArray("Sans-Serif")
|
||||
font_italic = true
|
||||
font_weight = 800
|
||||
|
||||
[resource]
|
||||
ClubSelectLabel/base_type = &"Label"
|
||||
|
@ -12,10 +20,11 @@ ClubSelectLabel/constants/outline_size = 6
|
|||
ClubSelectLabel/constants/shadow_offset_x = 6
|
||||
ClubSelectLabel/constants/shadow_offset_y = 0
|
||||
ClubSelectLabel/font_sizes/font_size = 84
|
||||
ClubSelectLabel/fonts/font = ExtResource("1_3rv2b")
|
||||
ShotFeedback/base_type = &"RichTextLabel"
|
||||
ClubSelectLabel/fonts/font = SubResource("SystemFont_dpm3o")
|
||||
ShotFeedback/base_type = &"Label"
|
||||
ShotFeedback/colors/font_color = Color(0.807843, 1, 1, 1)
|
||||
ShotFeedback/colors/font_shadow_color = Color(0, 0, 0, 1)
|
||||
ShotFeedback/constants/shadow_offset_x = 6
|
||||
ShotFeedback/constants/shadow_offset_y = 4
|
||||
ShotFeedback/font_sizes/normal_font_size = 272
|
||||
ShotFeedback/fonts/normal_font = ExtResource("1_eha6a")
|
||||
ShotFeedback/constants/shadow_offset_x = 3
|
||||
ShotFeedback/constants/shadow_offset_y = 2
|
||||
ShotFeedback/font_sizes/font_size = 96
|
||||
ShotFeedback/fonts/font = SubResource("SystemFont_2dr7l")
|
||||
|
|
|
@ -1,116 +0,0 @@
|
|||
[gd_scene load_steps=10 format=3 uid="uid://dbdul15c4oblg"]
|
||||
|
||||
[ext_resource type="Shader" path="res://src/shaders/plasma.gdshader" id="1_nf38g"]
|
||||
[ext_resource type="FontFile" uid="uid://b6gxwgomstkgu" path="res://assets/fonts/Geo/Geo-Italic.ttf" id="2_ckdn3"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_3oor7"]
|
||||
interpolation_mode = 2
|
||||
offsets = PackedFloat32Array(0, 0.5, 1)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_ic835"]
|
||||
gradient = SubResource("Gradient_3oor7")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_msl6u"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("1_nf38g")
|
||||
shader_parameter/albedo = Color(1, 0.19, 0.2035, 1)
|
||||
shader_parameter/transpose_axis = true
|
||||
shader_parameter/wave_width = 0.4
|
||||
shader_parameter/wave_speed = -0.3
|
||||
shader_parameter/glow_color = Color(0.5, 0.75, 1, 1)
|
||||
shader_parameter/glow_intensity = 0.618
|
||||
shader_parameter/glow_amount = 4.5
|
||||
shader_parameter/pulse_speed = 0.3
|
||||
shader_parameter/wave_gradient = SubResource("GradientTexture1D_ic835")
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_dbo5p"]
|
||||
material = SubResource("ShaderMaterial_msl6u")
|
||||
radial_segments = 16
|
||||
rings = 16
|
||||
|
||||
[sub_resource type="Animation" id="Animation_yu68k"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:rotation")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_npp1f"]
|
||||
resource_name = "rotate"
|
||||
length = 3.236
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:rotation")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3.236),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, -3.14159, 0)]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_vm52d"]
|
||||
_data = {
|
||||
"RESET": SubResource("Animation_yu68k"),
|
||||
"rotate": SubResource("Animation_npp1f")
|
||||
}
|
||||
|
||||
[node name="ProjectedTarget" type="MeshInstance3D"]
|
||||
mesh = SubResource("SphereMesh_dbo5p")
|
||||
|
||||
[node name="Pivot" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.02, 0)
|
||||
|
||||
[node name="Label3D" type="Label3D" parent="Pivot"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0.55)
|
||||
pixel_size = 0.001
|
||||
texture_filter = 5
|
||||
modulate = Color(1, 0.188235, 0.203922, 1)
|
||||
text = "DANGER"
|
||||
font = ExtResource("2_ckdn3")
|
||||
font_size = 64
|
||||
|
||||
[node name="Label3D2" type="Label3D" parent="Pivot"]
|
||||
transform = Transform3D(-1, 8.74228e-08, 3.82137e-15, 0, -4.37114e-08, 1, 8.74228e-08, 1, 4.37114e-08, 0, 0, -0.55)
|
||||
pixel_size = 0.001
|
||||
texture_filter = 5
|
||||
modulate = Color(1, 0.188235, 0.203922, 1)
|
||||
text = "DANGER"
|
||||
font = ExtResource("2_ckdn3")
|
||||
font_size = 64
|
||||
|
||||
[node name="Label3D3" type="Label3D" parent="Pivot"]
|
||||
transform = Transform3D(-4.37114e-08, -1, -4.37114e-08, 0, -4.37114e-08, 1, -1, 4.37114e-08, 1.91069e-15, 0.55, 0, 0)
|
||||
pixel_size = 0.001
|
||||
texture_filter = 5
|
||||
modulate = Color(1, 0.188235, 0.203922, 1)
|
||||
text = "DANGER"
|
||||
font = ExtResource("2_ckdn3")
|
||||
font_size = 64
|
||||
|
||||
[node name="Label3D4" type="Label3D" parent="Pivot"]
|
||||
transform = Transform3D(-4.37114e-08, 1, 4.37114e-08, 0, -4.37114e-08, 1, 1, 4.37114e-08, 1.91069e-15, -0.55, 0, 0)
|
||||
pixel_size = 0.001
|
||||
texture_filter = 5
|
||||
modulate = Color(1, 0.188235, 0.203922, 1)
|
||||
text = "DANGER"
|
||||
font = ExtResource("2_ckdn3")
|
||||
font_size = 64
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Pivot"]
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_vm52d")
|
||||
}
|
||||
autoplay = "rotate"
|
|
@ -1,95 +0,0 @@
|
|||
class_name ProjectileArc extends Node3D
|
||||
## Visually project the arc of a projectile through space.
|
||||
##
|
||||
## If this node has any children, they will be positioned wherever the projection ends.
|
||||
|
||||
## Initial speed of the projectile, in m/s.
|
||||
## The projectile's initial direction vector is the negative Z direction relative to this node.
|
||||
@export var initial_speed := 1.0
|
||||
|
||||
@export_category("Projection")
|
||||
## Time between projection steps, in seconds.
|
||||
@export var time_step := 0.2
|
||||
## Maximum number of steps to predict before stopping.
|
||||
@export var max_steps := 50
|
||||
## Ticks between each projection update. 0 means update every tick.
|
||||
@export var ticks_per_update := 0
|
||||
|
||||
@export_category("Collision")
|
||||
## Enables collision checking. Projection will end at the point where a collision is detected.
|
||||
## Uses continuous collision detection.
|
||||
@export var check_collision := true
|
||||
## Mask for collision checking.
|
||||
@export_flags_3d_physics var collision_mask := 1
|
||||
## Bodies excluded from collision checking.
|
||||
## This should probably include the ball!
|
||||
@export var excluded_bodies: Array[CollisionObject3D] = []
|
||||
|
||||
var _tick_counter := 0
|
||||
|
||||
@onready var polygon: CSGPolygon3D = %Polygon
|
||||
@onready var path: Path3D = %Path
|
||||
|
||||
@onready var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity")
|
||||
@onready var gravity_vec: Vector3 = ProjectSettings.get_setting("physics/3d/default_gravity_vector")
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if not visible:
|
||||
# Don't bother if we're not visible
|
||||
return
|
||||
|
||||
# Short-circuit if we need to wait more ticks
|
||||
if _tick_counter > 0:
|
||||
_tick_counter -= 1
|
||||
return
|
||||
_tick_counter = ticks_per_update
|
||||
|
||||
# Rebuild path curve
|
||||
path.global_basis = Basis.IDENTITY
|
||||
path.curve.clear_points()
|
||||
|
||||
var space := get_world_3d().direct_space_state
|
||||
var excluded_rid: Array[RID] = []
|
||||
excluded_rid.assign(excluded_bodies.map(func(k: CollisionObject3D) -> RID: return k.get_rid()))
|
||||
|
||||
var pos := global_position
|
||||
var vel := -global_basis.z * initial_speed
|
||||
|
||||
for t in range(0, max_steps):
|
||||
# TODO: smooth curve with bezier handles
|
||||
path.curve.add_point(pos - global_position)
|
||||
|
||||
# Integrate projectile path
|
||||
vel += gravity * gravity_vec * time_step
|
||||
var next_pos := pos + vel * time_step
|
||||
|
||||
# Collision
|
||||
if check_collision:
|
||||
var ray_params := PhysicsRayQueryParameters3D.create(
|
||||
pos, next_pos, collision_mask, excluded_rid
|
||||
)
|
||||
var collision := space.intersect_ray(ray_params)
|
||||
if collision:
|
||||
# Set current position to collision point, so it will be added to the path
|
||||
# TODO: we could project further using the surface normal here...
|
||||
pos = collision["position"]
|
||||
# End projection!
|
||||
break
|
||||
|
||||
pos = next_pos
|
||||
|
||||
# Add terminal point (possibly collision point)
|
||||
path.curve.add_point(pos - global_position)
|
||||
|
||||
# Reposition any children
|
||||
for n: Node in get_children():
|
||||
if n is Node3D and n != path:
|
||||
var node_3d: Node3D = n
|
||||
node_3d.global_position = pos
|
||||
node_3d.global_basis = Basis.IDENTITY
|
||||
|
||||
|
||||
func _on_visibility_changed() -> void:
|
||||
# Force update as soon as visible
|
||||
_tick_counter = 0
|
|
@ -1,59 +0,0 @@
|
|||
[gd_scene load_steps=9 format=3 uid="uid://fht6j87o8ecr"]
|
||||
|
||||
[ext_resource type="Script" path="res://src/ui/projectile_arc/projectile_arc.gd" id="1_vafqi"]
|
||||
[ext_resource type="Shader" path="res://src/shaders/plasma.gdshader" id="2_pi36v"]
|
||||
|
||||
[sub_resource type="Curve3D" id="Curve3D_rfv3d"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_28hbf"]
|
||||
offsets = PackedFloat32Array(0, 0.37193, 0.838596, 1)
|
||||
colors = PackedColorArray(0.197937, 0.197937, 0.197937, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.197937, 0.197937, 0.197937, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_8xhfy"]
|
||||
gradient = SubResource("Gradient_28hbf")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_yx8sm"]
|
||||
interpolation_mode = 2
|
||||
offsets = PackedFloat32Array(0.0666667, 0.287719, 1)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 0.485904, 0.485904, 0.485904, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_l8ond"]
|
||||
gradient = SubResource("Gradient_yx8sm")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ahf42"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("2_pi36v")
|
||||
shader_parameter/albedo = Color(0.9, 0, 0.7, 1)
|
||||
shader_parameter/transpose_axis = false
|
||||
shader_parameter/wave_width = 2.0
|
||||
shader_parameter/wave_speed = 0.6
|
||||
shader_parameter/glow_color = Color(0.5, 0.75, 1, 1)
|
||||
shader_parameter/glow_intensity = 0.618
|
||||
shader_parameter/glow_amount = 4.5
|
||||
shader_parameter/pulse_speed = 0.3
|
||||
shader_parameter/wave_gradient = SubResource("GradientTexture1D_l8ond")
|
||||
shader_parameter/pulse_gradient = SubResource("GradientTexture1D_8xhfy")
|
||||
|
||||
[node name="ProjectileArc" type="Node3D"]
|
||||
script = ExtResource("1_vafqi")
|
||||
|
||||
[node name="Path" type="Path3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
curve = SubResource("Curve3D_rfv3d")
|
||||
|
||||
[node name="Polygon" type="CSGPolygon3D" parent="Path"]
|
||||
unique_name_in_owner = true
|
||||
polygon = PackedVector2Array(0, -0.1, -0.2, 0, 0, 0.1, 0.2, 0)
|
||||
mode = 2
|
||||
path_node = NodePath("..")
|
||||
path_interval_type = 0
|
||||
path_interval = 1.0
|
||||
path_simplify_angle = 0.0
|
||||
path_rotation = 2
|
||||
path_local = true
|
||||
path_continuous_u = true
|
||||
path_u_distance = 1.0
|
||||
path_joined = false
|
||||
material = SubResource("ShaderMaterial_ahf42")
|
||||
|
||||
[connection signal="visibility_changed" from="." to="." method="_on_visibility_changed"]
|
|
@ -1,8 +1,6 @@
|
|||
class_name BallZone extends Area3D
|
||||
## A spatial area that has an effect on balls inside it.
|
||||
|
||||
@export var terrain_angular_damping := 1.0
|
||||
|
||||
@export var water_hazard := false
|
||||
|
||||
|
||||
|
@ -11,11 +9,21 @@ func _ready() -> void:
|
|||
body_exited.connect(_on_body_exited)
|
||||
|
||||
|
||||
func on_ball_entered(ball: GameBall) -> void:
|
||||
if water_hazard:
|
||||
ball.entered_water.emit()
|
||||
|
||||
|
||||
func on_ball_exited(ball: GameBall) -> void:
|
||||
pass
|
||||
|
||||
|
||||
func _on_body_entered(body: Node3D) -> void:
|
||||
print("BODY ENTERED ZONE: ", body)
|
||||
if body is GameBall:
|
||||
(body as GameBall).enter_zone(self)
|
||||
on_ball_entered(body as GameBall)
|
||||
|
||||
|
||||
func _on_body_exited(body: Node3D) -> void:
|
||||
if body is GameBall:
|
||||
(body as GameBall).exit_zone(self)
|
||||
on_ball_exited(body as GameBall)
|
||||
|
|
Loading…
Reference in New Issue