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