generated from krampus/template-godot4
Compare commits
No commits in common. "main" and "v0.0.2" have entirely different histories.
@ -1,32 +0,0 @@
|
|||||||
name: linting & formatting
|
|
||||||
run-name: ${{ gitea.actor }} is checking linting & formatting.
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- ci-test
|
|
||||||
tags:
|
|
||||||
- v*
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
run: |
|
|
||||||
git init
|
|
||||||
git remote add origin ${{ gitea.event.repository.clone_url }}
|
|
||||||
git fetch --depth 1 origin ${{ gitea.ref }}
|
|
||||||
git checkout FETCH_HEAD
|
|
||||||
git lfs pull
|
|
||||||
- name: Setup Python
|
|
||||||
uses: actions/setup-python@v5.3.0
|
|
||||||
with:
|
|
||||||
python-version: '3.11'
|
|
||||||
- name: Install gdscript-toolkit
|
|
||||||
run: pip install -r requirements.txt
|
|
||||||
- name: Run gdLint
|
|
||||||
run: gdlint src/
|
|
||||||
- name: Check formatting
|
|
||||||
run: gdformat -c src
|
|
@ -1,54 +0,0 @@
|
|||||||
# Based on https://github.com/aBARICHELLO/godot-ci/blob/master/.github/workflows/godot-ci.yml
|
|
||||||
name: GFOLF - itch.io publish action
|
|
||||||
run-name: ${{ gitea.actor }} is publishing GFOLF ${{ gitea.ref_name }} to itch.io.
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- v*
|
|
||||||
|
|
||||||
env:
|
|
||||||
GODOT_VERSION: 4.3
|
|
||||||
EXPORT_NAME: gfolf
|
|
||||||
PROJECT_PATH: .
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-20.04
|
|
||||||
container:
|
|
||||||
image: barichello/godot-ci:4.3
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
include:
|
|
||||||
- target: linux64
|
|
||||||
type: x86_64
|
|
||||||
- target: osx
|
|
||||||
type: app
|
|
||||||
- target: win64
|
|
||||||
type: exe
|
|
||||||
env:
|
|
||||||
BUILD_DIR: build/gfolf_${{ gitea.ref_name }}_${{ matrix.target }}
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
run: |
|
|
||||||
git init
|
|
||||||
git remote add origin ${{ gitea.event.repository.clone_url }}
|
|
||||||
git fetch --depth 1 origin ${{ gitea.ref }}
|
|
||||||
git checkout FETCH_HEAD
|
|
||||||
git lfs pull
|
|
||||||
- name: Reimport assets
|
|
||||||
# bruh are you fucking kidding me. bruhh
|
|
||||||
run: |
|
|
||||||
timeout 10 godot --headless --import || true
|
|
||||||
godot --headless --import
|
|
||||||
- name: Build project
|
|
||||||
run: |
|
|
||||||
echo "building to $BUILD_DIR"
|
|
||||||
mkdir -p $BUILD_DIR
|
|
||||||
godot --headless --export-debug ${{ matrix.target }} $BUILD_DIR/gfolf.${{ matrix.type }}
|
|
||||||
- name: Publish
|
|
||||||
run: |
|
|
||||||
echo "pushing $BUILD_DIR"
|
|
||||||
butler push $BUILD_DIR tetramorph/gfolf:${{ matrix.target }} --userversion ${{ gitea.ref_name }}
|
|
||||||
env:
|
|
||||||
BUTLER_API_KEY: ${{ secrets.BUTLER_API_KEY }}
|
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -4,7 +4,7 @@
|
|||||||
# Godot-specific ignores
|
# Godot-specific ignores
|
||||||
.import/
|
.import/
|
||||||
export.cfg
|
export.cfg
|
||||||
#export_presets.cfg
|
export_presets.cfg
|
||||||
|
|
||||||
# Imported translations (automatically generated from CSV files)
|
# Imported translations (automatically generated from CSV files)
|
||||||
*.translation
|
*.translation
|
||||||
|
@ -1,16 +1,7 @@
|
|||||||
# Gfolf2
|
# Gfolf2
|
||||||
|
|
||||||

|
|
||||||

|
|
||||||
|
|
||||||
GFOLF: Combat Golf Action
|
GFOLF: Combat Golf Action
|
||||||
|
|
||||||
## About
|
|
||||||
|
|
||||||
Go hit your friends with golf balls!
|
|
||||||
|
|
||||||
A prototype under active development.
|
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
see [[DEVELOPMENT.md]]
|
see [[DEVELOPMENT.md]]
|
||||||
|
@ -1,21 +0,0 @@
|
|||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2016-2023 The Godot Engine community
|
|
||||||
|
|
||||||
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.
|
|
File diff suppressed because it is too large
Load Diff
@ -1,12 +0,0 @@
|
|||||||
[configuration]
|
|
||||||
|
|
||||||
entry_symbol = "git_plugin_init"
|
|
||||||
compatibility_minimum = "4.1.0"
|
|
||||||
|
|
||||||
[libraries]
|
|
||||||
|
|
||||||
macos.editor = "macos/libgit_plugin.macos.editor.universal.dylib"
|
|
||||||
windows.editor.x86_64 = "win64/libgit_plugin.windows.editor.x86_64.dll"
|
|
||||||
linux.editor.x86_64 = "linux/libgit_plugin.linux.editor.x86_64.so"
|
|
||||||
linux.editor.arm64 = "linux/libgit_plugin.linux.editor.arm64.so"
|
|
||||||
linux.editor.rv64 = ""
|
|
Binary file not shown.
Binary file not shown.
@ -1,7 +0,0 @@
|
|||||||
[plugin]
|
|
||||||
|
|
||||||
name="Godot Git Plugin"
|
|
||||||
description="This plugin lets you interact with Git without leaving the Godot editor. More information can be found at https://github.com/godotengine/godot-git-plugin/wiki"
|
|
||||||
author="twaritwaikar"
|
|
||||||
version="v3.1.1"
|
|
||||||
script="godot-git-plugin.gd"
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,80 +0,0 @@
|
|||||||
#! /usr/bin/env bash
|
|
||||||
## Build & package all project targets for a debug release
|
|
||||||
|
|
||||||
PROJECT_NAME="gfolf"
|
|
||||||
|
|
||||||
HELPMSG=$(cat <<EOF
|
|
||||||
debug_build.sh - helper script for automatically packaging project debug builds.
|
|
||||||
|
|
||||||
Usage:
|
|
||||||
./debug_build.sh [options]
|
|
||||||
|
|
||||||
Options:
|
|
||||||
-f, --force Overwrite an existing build for this tag, if there is one.
|
|
||||||
|
|
||||||
-h, --help Display this help.
|
|
||||||
|
|
||||||
EOF
|
|
||||||
)
|
|
||||||
|
|
||||||
## Parse options
|
|
||||||
OPTS=`getopt -o hf -- "$@"`
|
|
||||||
if [ $? -ne 0 ]; then echo "(error) Failed parsing options." >&2; exit 1; fi
|
|
||||||
eval set -- "$OPTS"
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
case "$1" in
|
|
||||||
-h | --help ) echo "$HELPMSG"; exit 0;;
|
|
||||||
-f | --force ) FORCE=1; shift;;
|
|
||||||
-- ) shift; break;;
|
|
||||||
* ) break;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
VERSION_TAG=`git describe`
|
|
||||||
BUILD_DIR="data_package/$VERSION_TAG"
|
|
||||||
if [ -d $BUILD_DIR ] && [ ! $FORCE ]; then
|
|
||||||
echo "(error) Build directory `$BUILD_DIR` exists! Aborting..."
|
|
||||||
echo "(HINT: use -f to force overwrite!)"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Packaging to: $BUILD_DIR"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Shared build logic
|
|
||||||
function build_project {
|
|
||||||
TARGET="$1"
|
|
||||||
TARGET_EXT="$3"
|
|
||||||
TARGET_SUBDIR="$PROJECT_NAME""_$TARGET"
|
|
||||||
TARGET_DIR="$BUILD_DIR/$TARGET_SUBDIR"
|
|
||||||
TARGET_OUT="$TARGET_DIR/$PROJECT_NAME.$TARGET_EXT"
|
|
||||||
|
|
||||||
echo "Building target '$TARGET' to: $TARGET_OUT"
|
|
||||||
|
|
||||||
set -x
|
|
||||||
rm -rf "$TARGET_DIR"
|
|
||||||
mkdir -p $TARGET_DIR
|
|
||||||
godot --headless --export-debug "$TARGET" $TARGET_OUT
|
|
||||||
set +x
|
|
||||||
|
|
||||||
ZIP_OUT="$PROJECT_NAME""_$VERSION_TAG""_$TARGET.7z"
|
|
||||||
echo "Packaging to: $ZIP_OUT"
|
|
||||||
# TODO
|
|
||||||
|
|
||||||
set -x
|
|
||||||
(cd $BUILD_DIR && 7z a $ZIP_OUT $TARGET_SUBDIR)
|
|
||||||
set +x
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Build linux
|
|
||||||
build_project "linux64" "x86_64"
|
|
||||||
|
|
||||||
# Build OSX
|
|
||||||
build_project "osx" "app"
|
|
||||||
|
|
||||||
# Build Michaelsoft Binbows
|
|
||||||
build_project "win64" "exe"
|
|
@ -1,354 +0,0 @@
|
|||||||
[preset.0]
|
|
||||||
|
|
||||||
name="linux64"
|
|
||||||
platform="Linux"
|
|
||||||
runnable=true
|
|
||||||
advanced_options=true
|
|
||||||
dedicated_server=false
|
|
||||||
custom_features=""
|
|
||||||
export_filter="all_resources"
|
|
||||||
include_filter=""
|
|
||||||
exclude_filter="data_backup/*"
|
|
||||||
export_path="data_build/linux64/gfolf.x86_64"
|
|
||||||
encryption_include_filters=""
|
|
||||||
encryption_exclude_filters=""
|
|
||||||
encrypt_pck=false
|
|
||||||
encrypt_directory=false
|
|
||||||
script_export_mode=2
|
|
||||||
|
|
||||||
[preset.0.options]
|
|
||||||
|
|
||||||
custom_template/debug=""
|
|
||||||
custom_template/release=""
|
|
||||||
debug/export_console_wrapper=1
|
|
||||||
binary_format/embed_pck=true
|
|
||||||
texture_format/s3tc_bptc=true
|
|
||||||
texture_format/etc2_astc=false
|
|
||||||
binary_format/architecture="x86_64"
|
|
||||||
ssh_remote_deploy/enabled=false
|
|
||||||
ssh_remote_deploy/host="user@host_ip"
|
|
||||||
ssh_remote_deploy/port="22"
|
|
||||||
ssh_remote_deploy/extra_args_ssh=""
|
|
||||||
ssh_remote_deploy/extra_args_scp=""
|
|
||||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
|
||||||
export DISPLAY=:0
|
|
||||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
|
||||||
\"{temp_dir}/{exe_name}\" {cmd_args}"
|
|
||||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
|
||||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\")
|
|
||||||
rm -rf \"{temp_dir}\""
|
|
||||||
|
|
||||||
[preset.1]
|
|
||||||
|
|
||||||
name="win64"
|
|
||||||
platform="Windows Desktop"
|
|
||||||
runnable=true
|
|
||||||
advanced_options=true
|
|
||||||
dedicated_server=false
|
|
||||||
custom_features=""
|
|
||||||
export_filter="all_resources"
|
|
||||||
include_filter=""
|
|
||||||
exclude_filter="data_backup/*"
|
|
||||||
export_path="data_build/win64/gfolf.exe"
|
|
||||||
encryption_include_filters=""
|
|
||||||
encryption_exclude_filters=""
|
|
||||||
encrypt_pck=false
|
|
||||||
encrypt_directory=false
|
|
||||||
script_export_mode=2
|
|
||||||
|
|
||||||
[preset.1.options]
|
|
||||||
|
|
||||||
custom_template/debug=""
|
|
||||||
custom_template/release=""
|
|
||||||
debug/export_console_wrapper=1
|
|
||||||
binary_format/embed_pck=true
|
|
||||||
texture_format/s3tc_bptc=true
|
|
||||||
texture_format/etc2_astc=false
|
|
||||||
binary_format/architecture="x86_64"
|
|
||||||
codesign/enable=false
|
|
||||||
codesign/timestamp=true
|
|
||||||
codesign/timestamp_server_url=""
|
|
||||||
codesign/digest_algorithm=1
|
|
||||||
codesign/description=""
|
|
||||||
codesign/custom_options=PackedStringArray()
|
|
||||||
application/modify_resources=true
|
|
||||||
application/icon=""
|
|
||||||
application/console_wrapper_icon=""
|
|
||||||
application/icon_interpolation=4
|
|
||||||
application/file_version=""
|
|
||||||
application/product_version=""
|
|
||||||
application/company_name="Rob Kelly"
|
|
||||||
application/product_name="GFOLF"
|
|
||||||
application/file_description=""
|
|
||||||
application/copyright=""
|
|
||||||
application/trademarks=""
|
|
||||||
application/export_angle=0
|
|
||||||
application/export_d3d12=0
|
|
||||||
application/d3d12_agility_sdk_multiarch=true
|
|
||||||
ssh_remote_deploy/enabled=false
|
|
||||||
ssh_remote_deploy/host="user@host_ip"
|
|
||||||
ssh_remote_deploy/port="22"
|
|
||||||
ssh_remote_deploy/extra_args_ssh=""
|
|
||||||
ssh_remote_deploy/extra_args_scp=""
|
|
||||||
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
|
|
||||||
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
|
|
||||||
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
|
|
||||||
$settings = New-ScheduledTaskSettingsSet
|
|
||||||
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
|
|
||||||
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
|
|
||||||
Start-ScheduledTask -TaskName godot_remote_debug
|
|
||||||
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
|
|
||||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
|
|
||||||
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
|
|
||||||
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
|
|
||||||
Remove-Item -Recurse -Force '{temp_dir}'"
|
|
||||||
|
|
||||||
[preset.2]
|
|
||||||
|
|
||||||
name="osx"
|
|
||||||
platform="macOS"
|
|
||||||
runnable=true
|
|
||||||
advanced_options=true
|
|
||||||
dedicated_server=false
|
|
||||||
custom_features=""
|
|
||||||
export_filter="all_resources"
|
|
||||||
include_filter=""
|
|
||||||
exclude_filter="data_backup/*"
|
|
||||||
export_path="data_build/osx/gfolf.app"
|
|
||||||
encryption_include_filters=""
|
|
||||||
encryption_exclude_filters=""
|
|
||||||
encrypt_pck=false
|
|
||||||
encrypt_directory=false
|
|
||||||
script_export_mode=2
|
|
||||||
|
|
||||||
[preset.2.options]
|
|
||||||
|
|
||||||
export/distribution_type=1
|
|
||||||
binary_format/architecture="universal"
|
|
||||||
custom_template/debug=""
|
|
||||||
custom_template/release=""
|
|
||||||
debug/export_console_wrapper=1
|
|
||||||
application/icon=""
|
|
||||||
application/icon_interpolation=4
|
|
||||||
application/bundle_identifier="com.gfolf"
|
|
||||||
application/signature=""
|
|
||||||
application/app_category="Games"
|
|
||||||
application/short_version=""
|
|
||||||
application/version=""
|
|
||||||
application/copyright=""
|
|
||||||
application/copyright_localized={}
|
|
||||||
application/min_macos_version="10.12"
|
|
||||||
application/export_angle=0
|
|
||||||
display/high_res=true
|
|
||||||
application/additional_plist_content=""
|
|
||||||
xcode/platform_build="14C18"
|
|
||||||
xcode/sdk_version="13.1"
|
|
||||||
xcode/sdk_build="22C55"
|
|
||||||
xcode/sdk_name="macosx13.1"
|
|
||||||
xcode/xcode_version="1420"
|
|
||||||
xcode/xcode_build="14C18"
|
|
||||||
codesign/codesign=1
|
|
||||||
codesign/installer_identity=""
|
|
||||||
codesign/apple_team_id=""
|
|
||||||
codesign/identity=""
|
|
||||||
codesign/entitlements/custom_file=""
|
|
||||||
codesign/entitlements/allow_jit_code_execution=false
|
|
||||||
codesign/entitlements/allow_unsigned_executable_memory=false
|
|
||||||
codesign/entitlements/allow_dyld_environment_variables=false
|
|
||||||
codesign/entitlements/disable_library_validation=true
|
|
||||||
codesign/entitlements/audio_input=false
|
|
||||||
codesign/entitlements/camera=false
|
|
||||||
codesign/entitlements/location=false
|
|
||||||
codesign/entitlements/address_book=false
|
|
||||||
codesign/entitlements/calendars=false
|
|
||||||
codesign/entitlements/photos_library=false
|
|
||||||
codesign/entitlements/apple_events=false
|
|
||||||
codesign/entitlements/debugging=false
|
|
||||||
codesign/entitlements/app_sandbox/enabled=false
|
|
||||||
codesign/entitlements/app_sandbox/network_server=false
|
|
||||||
codesign/entitlements/app_sandbox/network_client=false
|
|
||||||
codesign/entitlements/app_sandbox/device_usb=false
|
|
||||||
codesign/entitlements/app_sandbox/device_bluetooth=false
|
|
||||||
codesign/entitlements/app_sandbox/files_downloads=0
|
|
||||||
codesign/entitlements/app_sandbox/files_pictures=0
|
|
||||||
codesign/entitlements/app_sandbox/files_music=0
|
|
||||||
codesign/entitlements/app_sandbox/files_movies=0
|
|
||||||
codesign/entitlements/app_sandbox/files_user_selected=0
|
|
||||||
codesign/entitlements/app_sandbox/helper_executables=[]
|
|
||||||
codesign/custom_options=PackedStringArray()
|
|
||||||
notarization/notarization=0
|
|
||||||
privacy/microphone_usage_description=""
|
|
||||||
privacy/microphone_usage_description_localized={}
|
|
||||||
privacy/camera_usage_description=""
|
|
||||||
privacy/camera_usage_description_localized={}
|
|
||||||
privacy/location_usage_description=""
|
|
||||||
privacy/location_usage_description_localized={}
|
|
||||||
privacy/address_book_usage_description=""
|
|
||||||
privacy/address_book_usage_description_localized={}
|
|
||||||
privacy/calendar_usage_description=""
|
|
||||||
privacy/calendar_usage_description_localized={}
|
|
||||||
privacy/photos_library_usage_description=""
|
|
||||||
privacy/photos_library_usage_description_localized={}
|
|
||||||
privacy/desktop_folder_usage_description=""
|
|
||||||
privacy/desktop_folder_usage_description_localized={}
|
|
||||||
privacy/documents_folder_usage_description=""
|
|
||||||
privacy/documents_folder_usage_description_localized={}
|
|
||||||
privacy/downloads_folder_usage_description=""
|
|
||||||
privacy/downloads_folder_usage_description_localized={}
|
|
||||||
privacy/network_volumes_usage_description=""
|
|
||||||
privacy/network_volumes_usage_description_localized={}
|
|
||||||
privacy/removable_volumes_usage_description=""
|
|
||||||
privacy/removable_volumes_usage_description_localized={}
|
|
||||||
privacy/tracking_enabled=false
|
|
||||||
privacy/tracking_domains=PackedStringArray()
|
|
||||||
privacy/collected_data/name/collected=false
|
|
||||||
privacy/collected_data/name/linked_to_user=false
|
|
||||||
privacy/collected_data/name/used_for_tracking=false
|
|
||||||
privacy/collected_data/name/collection_purposes=0
|
|
||||||
privacy/collected_data/email_address/collected=false
|
|
||||||
privacy/collected_data/email_address/linked_to_user=false
|
|
||||||
privacy/collected_data/email_address/used_for_tracking=false
|
|
||||||
privacy/collected_data/email_address/collection_purposes=0
|
|
||||||
privacy/collected_data/phone_number/collected=false
|
|
||||||
privacy/collected_data/phone_number/linked_to_user=false
|
|
||||||
privacy/collected_data/phone_number/used_for_tracking=false
|
|
||||||
privacy/collected_data/phone_number/collection_purposes=0
|
|
||||||
privacy/collected_data/physical_address/collected=false
|
|
||||||
privacy/collected_data/physical_address/linked_to_user=false
|
|
||||||
privacy/collected_data/physical_address/used_for_tracking=false
|
|
||||||
privacy/collected_data/physical_address/collection_purposes=0
|
|
||||||
privacy/collected_data/other_contact_info/collected=false
|
|
||||||
privacy/collected_data/other_contact_info/linked_to_user=false
|
|
||||||
privacy/collected_data/other_contact_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_contact_info/collection_purposes=0
|
|
||||||
privacy/collected_data/health/collected=false
|
|
||||||
privacy/collected_data/health/linked_to_user=false
|
|
||||||
privacy/collected_data/health/used_for_tracking=false
|
|
||||||
privacy/collected_data/health/collection_purposes=0
|
|
||||||
privacy/collected_data/fitness/collected=false
|
|
||||||
privacy/collected_data/fitness/linked_to_user=false
|
|
||||||
privacy/collected_data/fitness/used_for_tracking=false
|
|
||||||
privacy/collected_data/fitness/collection_purposes=0
|
|
||||||
privacy/collected_data/payment_info/collected=false
|
|
||||||
privacy/collected_data/payment_info/linked_to_user=false
|
|
||||||
privacy/collected_data/payment_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/payment_info/collection_purposes=0
|
|
||||||
privacy/collected_data/credit_info/collected=false
|
|
||||||
privacy/collected_data/credit_info/linked_to_user=false
|
|
||||||
privacy/collected_data/credit_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/credit_info/collection_purposes=0
|
|
||||||
privacy/collected_data/other_financial_info/collected=false
|
|
||||||
privacy/collected_data/other_financial_info/linked_to_user=false
|
|
||||||
privacy/collected_data/other_financial_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_financial_info/collection_purposes=0
|
|
||||||
privacy/collected_data/precise_location/collected=false
|
|
||||||
privacy/collected_data/precise_location/linked_to_user=false
|
|
||||||
privacy/collected_data/precise_location/used_for_tracking=false
|
|
||||||
privacy/collected_data/precise_location/collection_purposes=0
|
|
||||||
privacy/collected_data/coarse_location/collected=false
|
|
||||||
privacy/collected_data/coarse_location/linked_to_user=false
|
|
||||||
privacy/collected_data/coarse_location/used_for_tracking=false
|
|
||||||
privacy/collected_data/coarse_location/collection_purposes=0
|
|
||||||
privacy/collected_data/sensitive_info/collected=false
|
|
||||||
privacy/collected_data/sensitive_info/linked_to_user=false
|
|
||||||
privacy/collected_data/sensitive_info/used_for_tracking=false
|
|
||||||
privacy/collected_data/sensitive_info/collection_purposes=0
|
|
||||||
privacy/collected_data/contacts/collected=false
|
|
||||||
privacy/collected_data/contacts/linked_to_user=false
|
|
||||||
privacy/collected_data/contacts/used_for_tracking=false
|
|
||||||
privacy/collected_data/contacts/collection_purposes=0
|
|
||||||
privacy/collected_data/emails_or_text_messages/collected=false
|
|
||||||
privacy/collected_data/emails_or_text_messages/linked_to_user=false
|
|
||||||
privacy/collected_data/emails_or_text_messages/used_for_tracking=false
|
|
||||||
privacy/collected_data/emails_or_text_messages/collection_purposes=0
|
|
||||||
privacy/collected_data/photos_or_videos/collected=false
|
|
||||||
privacy/collected_data/photos_or_videos/linked_to_user=false
|
|
||||||
privacy/collected_data/photos_or_videos/used_for_tracking=false
|
|
||||||
privacy/collected_data/photos_or_videos/collection_purposes=0
|
|
||||||
privacy/collected_data/audio_data/collected=false
|
|
||||||
privacy/collected_data/audio_data/linked_to_user=false
|
|
||||||
privacy/collected_data/audio_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/audio_data/collection_purposes=0
|
|
||||||
privacy/collected_data/gameplay_content/collected=false
|
|
||||||
privacy/collected_data/gameplay_content/linked_to_user=false
|
|
||||||
privacy/collected_data/gameplay_content/used_for_tracking=false
|
|
||||||
privacy/collected_data/gameplay_content/collection_purposes=0
|
|
||||||
privacy/collected_data/customer_support/collected=false
|
|
||||||
privacy/collected_data/customer_support/linked_to_user=false
|
|
||||||
privacy/collected_data/customer_support/used_for_tracking=false
|
|
||||||
privacy/collected_data/customer_support/collection_purposes=0
|
|
||||||
privacy/collected_data/other_user_content/collected=false
|
|
||||||
privacy/collected_data/other_user_content/linked_to_user=false
|
|
||||||
privacy/collected_data/other_user_content/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_user_content/collection_purposes=0
|
|
||||||
privacy/collected_data/browsing_history/collected=false
|
|
||||||
privacy/collected_data/browsing_history/linked_to_user=false
|
|
||||||
privacy/collected_data/browsing_history/used_for_tracking=false
|
|
||||||
privacy/collected_data/browsing_history/collection_purposes=0
|
|
||||||
privacy/collected_data/search_hhistory/collected=false
|
|
||||||
privacy/collected_data/search_hhistory/linked_to_user=false
|
|
||||||
privacy/collected_data/search_hhistory/used_for_tracking=false
|
|
||||||
privacy/collected_data/search_hhistory/collection_purposes=0
|
|
||||||
privacy/collected_data/user_id/collected=false
|
|
||||||
privacy/collected_data/user_id/linked_to_user=false
|
|
||||||
privacy/collected_data/user_id/used_for_tracking=false
|
|
||||||
privacy/collected_data/user_id/collection_purposes=0
|
|
||||||
privacy/collected_data/device_id/collected=false
|
|
||||||
privacy/collected_data/device_id/linked_to_user=false
|
|
||||||
privacy/collected_data/device_id/used_for_tracking=false
|
|
||||||
privacy/collected_data/device_id/collection_purposes=0
|
|
||||||
privacy/collected_data/purchase_history/collected=false
|
|
||||||
privacy/collected_data/purchase_history/linked_to_user=false
|
|
||||||
privacy/collected_data/purchase_history/used_for_tracking=false
|
|
||||||
privacy/collected_data/purchase_history/collection_purposes=0
|
|
||||||
privacy/collected_data/product_interaction/collected=false
|
|
||||||
privacy/collected_data/product_interaction/linked_to_user=false
|
|
||||||
privacy/collected_data/product_interaction/used_for_tracking=false
|
|
||||||
privacy/collected_data/product_interaction/collection_purposes=0
|
|
||||||
privacy/collected_data/advertising_data/collected=false
|
|
||||||
privacy/collected_data/advertising_data/linked_to_user=false
|
|
||||||
privacy/collected_data/advertising_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/advertising_data/collection_purposes=0
|
|
||||||
privacy/collected_data/other_usage_data/collected=false
|
|
||||||
privacy/collected_data/other_usage_data/linked_to_user=false
|
|
||||||
privacy/collected_data/other_usage_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_usage_data/collection_purposes=0
|
|
||||||
privacy/collected_data/crash_data/collected=false
|
|
||||||
privacy/collected_data/crash_data/linked_to_user=false
|
|
||||||
privacy/collected_data/crash_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/crash_data/collection_purposes=0
|
|
||||||
privacy/collected_data/performance_data/collected=false
|
|
||||||
privacy/collected_data/performance_data/linked_to_user=false
|
|
||||||
privacy/collected_data/performance_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/performance_data/collection_purposes=0
|
|
||||||
privacy/collected_data/other_diagnostic_data/collected=false
|
|
||||||
privacy/collected_data/other_diagnostic_data/linked_to_user=false
|
|
||||||
privacy/collected_data/other_diagnostic_data/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_diagnostic_data/collection_purposes=0
|
|
||||||
privacy/collected_data/environment_scanning/collected=false
|
|
||||||
privacy/collected_data/environment_scanning/linked_to_user=false
|
|
||||||
privacy/collected_data/environment_scanning/used_for_tracking=false
|
|
||||||
privacy/collected_data/environment_scanning/collection_purposes=0
|
|
||||||
privacy/collected_data/hands/collected=false
|
|
||||||
privacy/collected_data/hands/linked_to_user=false
|
|
||||||
privacy/collected_data/hands/used_for_tracking=false
|
|
||||||
privacy/collected_data/hands/collection_purposes=0
|
|
||||||
privacy/collected_data/head/collected=false
|
|
||||||
privacy/collected_data/head/linked_to_user=false
|
|
||||||
privacy/collected_data/head/used_for_tracking=false
|
|
||||||
privacy/collected_data/head/collection_purposes=0
|
|
||||||
privacy/collected_data/other_data_types/collected=false
|
|
||||||
privacy/collected_data/other_data_types/linked_to_user=false
|
|
||||||
privacy/collected_data/other_data_types/used_for_tracking=false
|
|
||||||
privacy/collected_data/other_data_types/collection_purposes=0
|
|
||||||
ssh_remote_deploy/enabled=false
|
|
||||||
ssh_remote_deploy/host="user@host_ip"
|
|
||||||
ssh_remote_deploy/port="22"
|
|
||||||
ssh_remote_deploy/extra_args_ssh=""
|
|
||||||
ssh_remote_deploy/extra_args_scp=""
|
|
||||||
ssh_remote_deploy/run_script="#!/usr/bin/env bash
|
|
||||||
unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\"
|
|
||||||
open \"{temp_dir}/{exe_name}.app\" --args {cmd_args}"
|
|
||||||
ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash
|
|
||||||
kill $(pgrep -x -f \"{temp_dir}/{exe_name}.app/Contents/MacOS/{exe_name} {cmd_args}\")
|
|
||||||
rm -rf \"{temp_dir}\""
|
|
@ -442,6 +442,7 @@ spawn_turns = 1
|
|||||||
|
|
||||||
[node name="ExplosionEffect" parent="Course" instance=ExtResource("16_xufks")]
|
[node name="ExplosionEffect" parent="Course" instance=ExtResource("16_xufks")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 274.103, 5.01502, 286.299)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 274.103, 5.01502, 286.299)
|
||||||
|
visible = false
|
||||||
|
|
||||||
[node name="CityBuildings" type="Node3D" parent="."]
|
[node name="CityBuildings" type="Node3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 129.404, -9.53674e-07, 309.4)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 129.404, -9.53674e-07, 309.4)
|
||||||
|
@ -18,7 +18,6 @@ config/use_custom_user_dir=true
|
|||||||
config/project_settings_override="user://settings.godot"
|
config/project_settings_override="user://settings.godot"
|
||||||
config/features=PackedStringArray("4.3", "Forward Plus")
|
config/features=PackedStringArray("4.3", "Forward Plus")
|
||||||
run/max_fps=60
|
run/max_fps=60
|
||||||
run/main_scene.editor="res://src/game/debug_game.tscn"
|
|
||||||
|
|
||||||
[autoload]
|
[autoload]
|
||||||
|
|
||||||
@ -51,8 +50,6 @@ project/assembly_name="Gfolf2"
|
|||||||
|
|
||||||
movie_writer/movie_file="demos/demo.avi"
|
movie_writer/movie_file="demos/demo.avi"
|
||||||
movie_writer/fps=40
|
movie_writer/fps=40
|
||||||
version_control/plugin_name="GitPlugin"
|
|
||||||
version_control/autoload_on_startup=true
|
|
||||||
|
|
||||||
[editor_plugins]
|
[editor_plugins]
|
||||||
|
|
||||||
@ -258,7 +255,7 @@ locale/translations=PackedStringArray("res://assets/text/text.en.translation")
|
|||||||
3d/sleep_threshold_angular=2.0
|
3d/sleep_threshold_angular=2.0
|
||||||
jolt_3d/sleep/velocity_threshold=0.1
|
jolt_3d/sleep/velocity_threshold=0.1
|
||||||
jolt_3d/sleep/time_threshold=1.0
|
jolt_3d/sleep/time_threshold=1.0
|
||||||
jolt_3d/limits/max_angular_velocity=5700.0
|
jolt_3d/limits/max_angular_velocity=270000.0
|
||||||
jolt_3d/limits/max_temporary_memory=64
|
jolt_3d/limits/max_temporary_memory=64
|
||||||
|
|
||||||
[rendering]
|
[rendering]
|
||||||
@ -269,6 +266,5 @@ lights_and_shadows/directional_shadow/size=16384
|
|||||||
lights_and_shadows/directional_shadow/soft_shadow_filter_quality=0
|
lights_and_shadows/directional_shadow/soft_shadow_filter_quality=0
|
||||||
textures/decals/filter=2
|
textures/decals/filter=2
|
||||||
anti_aliasing/quality/msaa_3d=3
|
anti_aliasing/quality/msaa_3d=3
|
||||||
viewport/hdr_2d=true
|
|
||||||
anti_aliasing/quality/screen_space_aa=1
|
anti_aliasing/quality/screen_space_aa=1
|
||||||
anti_aliasing/quality/use_debanding=true
|
anti_aliasing/quality/use_debanding=true
|
||||||
|
@ -1,27 +1,23 @@
|
|||||||
[gd_scene load_steps=9 format=3 uid="uid://bptiryfbnautm"]
|
[gd_scene load_steps=9 format=3 uid="uid://bptiryfbnautm"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dfttci386ohip" path="res://src/equipment/balls/physics_ball/physics_ball.tscn" id="1_pl6e6"]
|
[ext_resource type="PackedScene" uid="uid://dfttci386ohip" path="res://src/equipment/balls/physics_ball/physics_ball.tscn" id="1_pl6e6"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://daipuukf6e6bc" path="res://assets/textures/beach_ball/beach_ball.png" id="2_6dwmi"]
|
||||||
[ext_resource type="Script" path="res://src/equipment/balls/beach_ball/beach_ball.gd" id="2_ay78j"]
|
[ext_resource type="Script" path="res://src/equipment/balls/beach_ball/beach_ball.gd" id="2_ay78j"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://3oatrxh60ed7" path="res://assets/textures/beach_ball/beach_ball_normal_map.png" id="3_rdlj8"]
|
||||||
|
|
||||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_867vn"]
|
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_867vn"]
|
||||||
friction = 0.7
|
friction = 0.7
|
||||||
bounce = 0.67
|
bounce = 0.67
|
||||||
|
|
||||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_e5701"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_x6y4w"]
|
||||||
load_path = "res://.godot/imported/beach_ball.png-103709b22c99e920077c858fb92c2e27.ctex"
|
albedo_texture = ExtResource("2_6dwmi")
|
||||||
|
|
||||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_oyl4c"]
|
|
||||||
load_path = "res://.godot/imported/beach_ball_normal_map.png-06c8d20483d619e155834bb8abd74c2f.s3tc.ctex"
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cybhj"]
|
|
||||||
albedo_texture = SubResource("CompressedTexture2D_e5701")
|
|
||||||
normal_enabled = true
|
normal_enabled = true
|
||||||
normal_scale = 0.5
|
normal_scale = 0.5
|
||||||
normal_texture = SubResource("CompressedTexture2D_oyl4c")
|
normal_texture = ExtResource("3_rdlj8")
|
||||||
texture_filter = 4
|
texture_filter = 4
|
||||||
|
|
||||||
[sub_resource type="SphereMesh" id="SphereMesh_kstjc"]
|
[sub_resource type="SphereMesh" id="SphereMesh_iqcc5"]
|
||||||
material = SubResource("StandardMaterial3D_cybhj")
|
material = SubResource("StandardMaterial3D_x6y4w")
|
||||||
radial_segments = 6
|
radial_segments = 6
|
||||||
rings = 6
|
rings = 6
|
||||||
|
|
||||||
@ -36,11 +32,8 @@ script = ExtResource("2_ay78j")
|
|||||||
base_damage = 5.0
|
base_damage = 5.0
|
||||||
radius = 0.5
|
radius = 0.5
|
||||||
|
|
||||||
[node name="BallMesh" parent="MeshRoot" index="0"]
|
[node name="BallMesh" parent="." index="0"]
|
||||||
visible = false
|
mesh = SubResource("SphereMesh_iqcc5")
|
||||||
|
|
||||||
[node name="BeachBallMesh" type="MeshInstance3D" parent="MeshRoot" index="1"]
|
|
||||||
mesh = SubResource("SphereMesh_kstjc")
|
|
||||||
|
|
||||||
[node name="CollisionShape3D" parent="." index="1"]
|
[node name="CollisionShape3D" parent="." index="1"]
|
||||||
shape = SubResource("SphereShape3D_cvsx2")
|
shape = SubResource("SphereShape3D_cvsx2")
|
||||||
|
@ -16,11 +16,11 @@ mass = 0.08
|
|||||||
physics_material_override = SubResource("PhysicsMaterial_f03f4")
|
physics_material_override = SubResource("PhysicsMaterial_f03f4")
|
||||||
radius = 0.15
|
radius = 0.15
|
||||||
|
|
||||||
[node name="BallMesh" parent="MeshRoot" index="0"]
|
[node name="BrickMesh" parent="." index="0" instance=ExtResource("2_ubuxr")]
|
||||||
visible = false
|
|
||||||
|
|
||||||
[node name="BrickMesh" parent="MeshRoot" index="1" instance=ExtResource("2_ubuxr")]
|
|
||||||
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0)
|
transform = Transform3D(0.8, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0, 0)
|
||||||
|
|
||||||
[node name="CollisionShape3D" parent="." index="1"]
|
[node name="BallMesh" parent="." index="1"]
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" parent="." index="2"]
|
||||||
shape = SubResource("BoxShape3D_7v3re")
|
shape = SubResource("BoxShape3D_7v3re")
|
||||||
|
@ -24,10 +24,10 @@ subpixel_positioning = 0
|
|||||||
[node name="DebugBall" instance=ExtResource("1_gcsxs")]
|
[node name="DebugBall" instance=ExtResource("1_gcsxs")]
|
||||||
script = ExtResource("2_edye5")
|
script = ExtResource("2_edye5")
|
||||||
|
|
||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="MeshRoot/BallMesh" index="0"]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="BallMesh" index="0"]
|
||||||
mesh = SubResource("QuadMesh_lf5f4")
|
mesh = SubResource("QuadMesh_lf5f4")
|
||||||
|
|
||||||
[node name="DebugInfo" type="Label3D" parent="MeshRoot/BallMesh" index="1"]
|
[node name="DebugInfo" type="Label3D" parent="BallMesh" index="1"]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
pixel_size = 0.0005
|
pixel_size = 0.0005
|
||||||
offset = Vector2(0, -64)
|
offset = Vector2(0, -64)
|
||||||
|
@ -6,7 +6,6 @@ signal entered_water
|
|||||||
|
|
||||||
## Types of game balls
|
## Types of game balls
|
||||||
enum Type {
|
enum Type {
|
||||||
DEBUG = -1,
|
|
||||||
NONE,
|
NONE,
|
||||||
BASIC,
|
BASIC,
|
||||||
PLASMA,
|
PLASMA,
|
||||||
@ -222,14 +221,12 @@ func _on_sleeping_state_changed() -> void:
|
|||||||
if sleeping:
|
if sleeping:
|
||||||
# Trigger to reassign on wake
|
# Trigger to reassign on wake
|
||||||
_awake = false
|
_awake = false
|
||||||
linear_velocity = Vector3.ZERO
|
|
||||||
angular_velocity = Vector3.ZERO
|
|
||||||
linear_damp = 0.0
|
|
||||||
angular_damp = 0.0
|
|
||||||
|
|
||||||
|
|
||||||
func _manual_sleep() -> void:
|
func _manual_sleep() -> void:
|
||||||
freeze = true
|
freeze = true
|
||||||
|
linear_velocity = Vector3.ZERO
|
||||||
|
angular_velocity = Vector3.ZERO
|
||||||
manual_sleep_timer.start()
|
manual_sleep_timer.start()
|
||||||
|
|
||||||
|
|
||||||
|
@ -35,13 +35,10 @@ script/source = "extends Control
|
|||||||
const COLOR_X := Color(1, 0, 0)
|
const COLOR_X := Color(1, 0, 0)
|
||||||
const COLOR_Y := Color(0, 1, 0)
|
const COLOR_Y := Color(0, 1, 0)
|
||||||
const COLOR_Z := Color(0, 0, 1)
|
const COLOR_Z := Color(0, 0, 1)
|
||||||
const COLOR_VELOCITY := Color.ORANGE
|
|
||||||
const COLOR_MAGNUS := Color.CYAN
|
const COLOR_MAGNUS := Color.CYAN
|
||||||
const VELOCITY_SCALE := 0.5
|
|
||||||
const MAGNUS_SCALE := 3
|
const MAGNUS_SCALE := 3
|
||||||
const WIDTH := 4
|
const WIDTH := 4
|
||||||
|
|
||||||
@export var draw_velocity := true
|
|
||||||
@export var draw_reoriented_basis := true
|
@export var draw_reoriented_basis := true
|
||||||
@export var draw_magnus_effect := true
|
@export var draw_magnus_effect := true
|
||||||
@export var draw_gravity_basis := true
|
@export var draw_gravity_basis := true
|
||||||
@ -57,11 +54,6 @@ func _process(_delta: float) -> void:
|
|||||||
func _draw() -> void:
|
func _draw() -> void:
|
||||||
var camera := get_viewport().get_camera_3d()
|
var camera := get_viewport().get_camera_3d()
|
||||||
var start := camera.unproject_position(physics_ball.global_position)
|
var start := camera.unproject_position(physics_ball.global_position)
|
||||||
|
|
||||||
if draw_velocity:
|
|
||||||
var end := camera.unproject_position(physics_ball.global_position + physics_ball.linear_velocity * VELOCITY_SCALE)
|
|
||||||
draw_line(start, end, COLOR_VELOCITY, WIDTH)
|
|
||||||
|
|
||||||
if draw_reoriented_basis and physics_ball._last_contact_normal != null:
|
if draw_reoriented_basis and physics_ball._last_contact_normal != null:
|
||||||
var basis := physics_ball.get_reoriented_basis()
|
var basis := physics_ball.get_reoriented_basis()
|
||||||
var end_x := camera.unproject_position(physics_ball.global_position + basis.x)
|
var end_x := camera.unproject_position(physics_ball.global_position + basis.x)
|
||||||
@ -182,9 +174,7 @@ angular_damp_mode = 1
|
|||||||
script = ExtResource("1_iwh2u")
|
script = ExtResource("1_iwh2u")
|
||||||
terrain_physics = ExtResource("3_3gnie")
|
terrain_physics = ExtResource("3_3gnie")
|
||||||
|
|
||||||
[node name="MeshRoot" type="Node3D" parent="."]
|
[node name="BallMesh" type="MeshInstance3D" parent="."]
|
||||||
|
|
||||||
[node name="BallMesh" type="MeshInstance3D" parent="MeshRoot"]
|
|
||||||
mesh = SubResource("SphereMesh_y0d13")
|
mesh = SubResource("SphereMesh_y0d13")
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||||
@ -200,8 +190,8 @@ anchor_bottom = 1.0
|
|||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
script = SubResource("GDScript_p4v7o")
|
script = SubResource("GDScript_p4v7o")
|
||||||
|
draw_reoriented_basis = false
|
||||||
draw_magnus_effect = false
|
draw_magnus_effect = false
|
||||||
draw_gravity_basis = false
|
|
||||||
|
|
||||||
[node name="SFX" type="Node3D" parent="."]
|
[node name="SFX" type="Node3D" parent="."]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
@ -1,17 +1,10 @@
|
|||||||
[gd_scene load_steps=14 format=3 uid="uid://dcqxlbsrubapk"]
|
[gd_scene load_steps=13 format=3 uid="uid://dcqxlbsrubapk"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dfttci386ohip" path="res://src/equipment/balls/physics_ball/physics_ball.tscn" id="1_yh4fp"]
|
[ext_resource type="PackedScene" uid="uid://dfttci386ohip" path="res://src/equipment/balls/physics_ball/physics_ball.tscn" id="1_yh4fp"]
|
||||||
[ext_resource type="Texture2D" uid="uid://c47bkx508biqr" path="res://assets/sprites/particles/plasma.png" id="2_8fdyx"]
|
[ext_resource type="Texture2D" uid="uid://c47bkx508biqr" path="res://assets/sprites/particles/plasma.png" id="2_8fdyx"]
|
||||||
[ext_resource type="Script" path="res://src/equipment/balls/plasma_ball/plasma_ball.gd" id="2_16fhh"]
|
[ext_resource type="Script" path="res://src/equipment/balls/plasma_ball/plasma_ball.gd" id="2_16fhh"]
|
||||||
[ext_resource type="Material" uid="uid://f3qufrkoiv66" path="res://assets/materials/plasma_ball.tres" id="3_6gyuc"]
|
[ext_resource type="Material" uid="uid://f3qufrkoiv66" path="res://assets/materials/plasma_ball.tres" id="3_6gyuc"]
|
||||||
|
|
||||||
[sub_resource type="SphereMesh" id="SphereMesh_n65ut"]
|
|
||||||
material = ExtResource("3_6gyuc")
|
|
||||||
radius = 0.1
|
|
||||||
height = 0.2
|
|
||||||
radial_segments = 6
|
|
||||||
rings = 6
|
|
||||||
|
|
||||||
[sub_resource type="Curve" id="Curve_kabhn"]
|
[sub_resource type="Curve" id="Curve_kabhn"]
|
||||||
max_value = 2.0
|
max_value = 2.0
|
||||||
_data = [Vector2(0, 2), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
_data = [Vector2(0, 2), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
||||||
@ -62,13 +55,11 @@ radius = 0.1
|
|||||||
script = ExtResource("2_16fhh")
|
script = ExtResource("2_16fhh")
|
||||||
magnetic = true
|
magnetic = true
|
||||||
|
|
||||||
[node name="BallMesh" parent="MeshRoot" index="0"]
|
[node name="BallMesh" parent="." index="0"]
|
||||||
visible = false
|
transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0)
|
||||||
|
surface_material_override/0 = ExtResource("3_6gyuc")
|
||||||
|
|
||||||
[node name="PlasmaBallMesh" type="MeshInstance3D" parent="MeshRoot" index="1"]
|
[node name="PlasmaFireEffect" type="GPUParticles3D" parent="BallMesh" index="0"]
|
||||||
mesh = SubResource("SphereMesh_n65ut")
|
|
||||||
|
|
||||||
[node name="PlasmaFireEffect" type="GPUParticles3D" parent="MeshRoot/PlasmaBallMesh" index="0"]
|
|
||||||
sorting_offset = -1.0
|
sorting_offset = -1.0
|
||||||
amount = 20
|
amount = 20
|
||||||
lifetime = 0.6
|
lifetime = 0.6
|
||||||
|
@ -1,31 +1,27 @@
|
|||||||
[gd_scene load_steps=37 format=4 uid="uid://deuytmxw2lc62"]
|
[gd_scene load_steps=37 format=4 uid="uid://deuytmxw2lc62"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dfttci386ohip" path="res://src/equipment/balls/physics_ball/physics_ball.tscn" id="1_14gld"]
|
[ext_resource type="PackedScene" uid="uid://dfttci386ohip" path="res://src/equipment/balls/physics_ball/physics_ball.tscn" id="1_14gld"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://ckhiq6rfjv63u" path="res://assets/textures/gfolfball/gfolfball.png" id="2_a2gtg"]
|
||||||
[ext_resource type="Script" path="res://src/equipment/balls/power_ball/power_ball.gd" id="2_hy51e"]
|
[ext_resource type="Script" path="res://src/equipment/balls/power_ball/power_ball.gd" id="2_hy51e"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://btntjs7mbdigu" path="res://assets/textures/gfolfball/gfolfball_normal.png" id="3_60i75"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dd2nxbfssd4hh" path="res://assets/models/balls/powerball/fireball.gltf" id="5_i8vmm"]
|
[ext_resource type="PackedScene" uid="uid://dd2nxbfssd4hh" path="res://assets/models/balls/powerball/fireball.gltf" id="5_i8vmm"]
|
||||||
[ext_resource type="AudioStream" uid="uid://tqr7u7vb2r0f" path="res://assets/sound/sfx/ball/effects/fireball.wav" id="6_uwolu"]
|
[ext_resource type="AudioStream" uid="uid://tqr7u7vb2r0f" path="res://assets/sound/sfx/ball/effects/fireball.wav" id="6_uwolu"]
|
||||||
|
|
||||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_bmjge"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fcniu"]
|
||||||
load_path = "res://.godot/imported/gfolfball.png-4fde775993c78b86828199273dc9e4be.s3tc.ctex"
|
|
||||||
|
|
||||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_314t2"]
|
|
||||||
load_path = "res://.godot/imported/gfolfball_normal.png-d9cc0e700a9a63c2e2cea72beebc6133.s3tc.ctex"
|
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ya45b"]
|
|
||||||
albedo_color = Color(2, 0.266, 0.266, 1)
|
albedo_color = Color(2, 0.266, 0.266, 1)
|
||||||
albedo_texture = SubResource("CompressedTexture2D_bmjge")
|
albedo_texture = ExtResource("2_a2gtg")
|
||||||
albedo_texture_force_srgb = true
|
albedo_texture_force_srgb = true
|
||||||
metallic = 1.0
|
metallic = 1.0
|
||||||
roughness = 0.67
|
roughness = 0.67
|
||||||
normal_enabled = true
|
normal_enabled = true
|
||||||
normal_scale = 0.2
|
normal_scale = 0.2
|
||||||
normal_texture = SubResource("CompressedTexture2D_314t2")
|
normal_texture = ExtResource("3_60i75")
|
||||||
clearcoat_roughness = 0.0
|
clearcoat_roughness = 0.0
|
||||||
uv1_scale = Vector3(3, 1.5, 3)
|
uv1_scale = Vector3(3, 1.5, 3)
|
||||||
texture_filter = 4
|
texture_filter = 4
|
||||||
|
|
||||||
[sub_resource type="SphereMesh" id="SphereMesh_v4hrl"]
|
[sub_resource type="SphereMesh" id="SphereMesh_0b0i7"]
|
||||||
material = SubResource("StandardMaterial3D_ya45b")
|
material = SubResource("StandardMaterial3D_fcniu")
|
||||||
radius = 0.05
|
radius = 0.05
|
||||||
height = 0.1
|
height = 0.1
|
||||||
radial_segments = 6
|
radial_segments = 6
|
||||||
@ -49,33 +45,6 @@ vertex_color_use_as_albedo = true
|
|||||||
albedo_color = Color(2, 1.98431, 1.6, 0.156863)
|
albedo_color = Color(2, 1.98431, 1.6, 0.156863)
|
||||||
albedo_texture = SubResource("GradientTexture2D_ny4ye")
|
albedo_texture = SubResource("GradientTexture2D_ny4ye")
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_2co83"]
|
|
||||||
length = 0.001
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("FireballScaleRoot:scale")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(1, 1, 1)]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("FireballScaleRoot:rotation")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(0, 0, 0)]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_5t74j"]
|
[sub_resource type="Animation" id="Animation_5t74j"]
|
||||||
resource_name = "flicker"
|
resource_name = "flicker"
|
||||||
length = 2.0
|
length = 2.0
|
||||||
@ -105,6 +74,33 @@ tracks/1/keys = {
|
|||||||
"values": [Vector3(0, 0, 0), Vector3(0, 2.0944, 0)]
|
"values": [Vector3(0, 0, 0), Vector3(0, 2.0944, 0)]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_2co83"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("FireballScaleRoot:scale")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector3(1, 1, 1)]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("FireballScaleRoot:rotation")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Vector3(0, 0, 0)]
|
||||||
|
}
|
||||||
|
|
||||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_hmunj"]
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_hmunj"]
|
||||||
_data = {
|
_data = {
|
||||||
"RESET": SubResource("Animation_2co83"),
|
"RESET": SubResource("Animation_2co83"),
|
||||||
@ -238,45 +234,6 @@ _surfaces = [{
|
|||||||
blend_shape_mode = 0
|
blend_shape_mode = 0
|
||||||
shadow_mesh = SubResource("ArrayMesh_r0r4b")
|
shadow_mesh = SubResource("ArrayMesh_r0r4b")
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_6c6mi"]
|
|
||||||
length = 0.001
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("ParticleEffects/PowerParticles:emitting")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("ParticleEffects/SmokeParticles:emitting")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
tracks/2/type = "value"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("SFX/PowerballSFX:playing")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_7yrvu"]
|
[sub_resource type="Animation" id="Animation_7yrvu"]
|
||||||
resource_name = "activate"
|
resource_name = "activate"
|
||||||
length = 4.8
|
length = 4.8
|
||||||
@ -309,11 +266,11 @@ tracks/1/keys = {
|
|||||||
tracks/2/type = "value"
|
tracks/2/type = "value"
|
||||||
tracks/2/imported = false
|
tracks/2/imported = false
|
||||||
tracks/2/enabled = true
|
tracks/2/enabled = true
|
||||||
tracks/2/path = NodePath("ParticleEffects/SmokeParticles:emitting")
|
tracks/2/path = NodePath("BallMesh/FireballPivot:visible")
|
||||||
tracks/2/interp = 1
|
tracks/2/interp = 1
|
||||||
tracks/2/loop_wrap = true
|
tracks/2/loop_wrap = true
|
||||||
tracks/2/keys = {
|
tracks/2/keys = {
|
||||||
"times": PackedFloat32Array(0.9, 4.5),
|
"times": PackedFloat32Array(0.8, 4.8),
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
"update": 1,
|
"update": 1,
|
||||||
"values": [true, false]
|
"values": [true, false]
|
||||||
@ -321,16 +278,103 @@ tracks/2/keys = {
|
|||||||
tracks/3/type = "value"
|
tracks/3/type = "value"
|
||||||
tracks/3/imported = false
|
tracks/3/imported = false
|
||||||
tracks/3/enabled = true
|
tracks/3/enabled = true
|
||||||
tracks/3/path = NodePath("SFX/PowerballSFX:playing")
|
tracks/3/path = NodePath("BallMesh/FireballPivot/FireballScaleRoot/fireball/Fireball:surface_material_override/0:albedo_color")
|
||||||
tracks/3/interp = 1
|
tracks/3/interp = 1
|
||||||
tracks/3/loop_wrap = true
|
tracks/3/loop_wrap = true
|
||||||
tracks/3/keys = {
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(0.8, 0.9, 4, 4.8),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1.618, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Color(1, 0.993333, 0.8, 0), Color(2, 1.98431, 1.6, 0.156863), Color(2, 1.98431, 1.6, 0.156863), Color(1, 0.993333, 0.8, 0)]
|
||||||
|
}
|
||||||
|
tracks/4/type = "value"
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/path = NodePath("ParticleEffects/SmokeParticles:emitting")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"times": PackedFloat32Array(0.9, 4.5),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [true, false]
|
||||||
|
}
|
||||||
|
tracks/5/type = "value"
|
||||||
|
tracks/5/imported = false
|
||||||
|
tracks/5/enabled = true
|
||||||
|
tracks/5/path = NodePath("SFX/PowerballSFX:playing")
|
||||||
|
tracks/5/interp = 1
|
||||||
|
tracks/5/loop_wrap = true
|
||||||
|
tracks/5/keys = {
|
||||||
"times": PackedFloat32Array(0.333333),
|
"times": PackedFloat32Array(0.333333),
|
||||||
"transitions": PackedFloat32Array(1),
|
"transitions": PackedFloat32Array(1),
|
||||||
"update": 1,
|
"update": 1,
|
||||||
"values": [true]
|
"values": [true]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_6c6mi"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("ParticleEffects/PowerParticles:emitting")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [false]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("BallMesh/FireballPivot:visible")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [false]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("BallMesh/FireballPivot/FireballScaleRoot/fireball/Fireball:surface_material_override/0:albedo_color")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [Color(2, 1.98431, 1.6, 0.156863)]
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("ParticleEffects/SmokeParticles:emitting")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [false]
|
||||||
|
}
|
||||||
|
tracks/4/type = "value"
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/path = NodePath("SFX/PowerballSFX:playing")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 1,
|
||||||
|
"values": [false]
|
||||||
|
}
|
||||||
|
|
||||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ospg0"]
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ospg0"]
|
||||||
_data = {
|
_data = {
|
||||||
"RESET": SubResource("Animation_6c6mi"),
|
"RESET": SubResource("Animation_6c6mi"),
|
||||||
@ -342,26 +386,23 @@ freeze_mode = 1
|
|||||||
script = ExtResource("2_hy51e")
|
script = ExtResource("2_hy51e")
|
||||||
once_per_shot_ability = true
|
once_per_shot_ability = true
|
||||||
|
|
||||||
[node name="BallMesh" parent="MeshRoot" index="0"]
|
[node name="BallMesh" parent="." index="0"]
|
||||||
visible = false
|
mesh = SubResource("SphereMesh_0b0i7")
|
||||||
|
|
||||||
[node name="PowerballMesh" type="MeshInstance3D" parent="MeshRoot" index="1"]
|
[node name="FireballPivot" type="Node3D" parent="BallMesh" index="0"]
|
||||||
mesh = SubResource("SphereMesh_v4hrl")
|
|
||||||
|
|
||||||
[node name="FireballPivot" type="Node3D" parent="MeshRoot/PowerballMesh" index="0"]
|
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
[node name="FireballScaleRoot" type="Node3D" parent="MeshRoot/PowerballMesh/FireballPivot" index="0"]
|
[node name="FireballScaleRoot" type="Node3D" parent="BallMesh/FireballPivot" index="0"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
|
||||||
|
|
||||||
[node name="fireball" parent="MeshRoot/PowerballMesh/FireballPivot/FireballScaleRoot" index="0" instance=ExtResource("5_i8vmm")]
|
[node name="fireball" parent="BallMesh/FireballPivot/FireballScaleRoot" index="0" instance=ExtResource("5_i8vmm")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.17, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.17, 0)
|
||||||
|
|
||||||
[node name="Fireball" parent="MeshRoot/PowerballMesh/FireballPivot/FireballScaleRoot/fireball" index="0"]
|
[node name="Fireball" parent="BallMesh/FireballPivot/FireballScaleRoot/fireball" index="0"]
|
||||||
surface_material_override/0 = SubResource("StandardMaterial3D_aqmuo")
|
surface_material_override/0 = SubResource("StandardMaterial3D_aqmuo")
|
||||||
|
|
||||||
[node name="FireballAnimation" type="AnimationPlayer" parent="MeshRoot/PowerballMesh/FireballPivot" index="1"]
|
[node name="FireballAnimation" type="AnimationPlayer" parent="BallMesh/FireballPivot" index="1"]
|
||||||
libraries = {
|
libraries = {
|
||||||
"": SubResource("AnimationLibrary_hmunj")
|
"": SubResource("AnimationLibrary_hmunj")
|
||||||
}
|
}
|
||||||
@ -397,4 +438,4 @@ libraries = {
|
|||||||
"": SubResource("AnimationLibrary_ospg0")
|
"": SubResource("AnimationLibrary_ospg0")
|
||||||
}
|
}
|
||||||
|
|
||||||
[editable path="MeshRoot/PowerballMesh/FireballPivot/FireballScaleRoot/fireball"]
|
[editable path="BallMesh/FireballPivot/FireballScaleRoot/fireball"]
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
[gd_scene load_steps=2 format=3 uid="uid://ces65grpayngu"]
|
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://cefit4bc8akbb" path="res://src/game/game.tscn" id="1_qa7ks"]
|
|
||||||
|
|
||||||
[node name="Game" instance=ExtResource("1_qa7ks")]
|
|
||||||
start_scene = "res://src/world/world.tscn"
|
|
@ -89,12 +89,6 @@ func _finish_scene_load(instance: Node) -> void:
|
|||||||
|
|
||||||
|
|
||||||
func _process(_delta: float) -> void:
|
func _process(_delta: float) -> void:
|
||||||
# REMOVEME
|
|
||||||
if Input.is_action_just_pressed("ui_page_up"):
|
|
||||||
Engine.time_scale *= 2.0
|
|
||||||
if Input.is_action_just_pressed("ui_page_down"):
|
|
||||||
Engine.time_scale *= 0.5
|
|
||||||
|
|
||||||
if _loading_resources and not loading_screen.visible:
|
if _loading_resources and not loading_screen.visible:
|
||||||
loader_transition.play("fade_in")
|
loader_transition.play("fade_in")
|
||||||
|
|
||||||
|
@ -16,7 +16,6 @@ iron = ExtResource("2_piku2")
|
|||||||
wedge = ExtResource("5_wm4ae")
|
wedge = ExtResource("5_wm4ae")
|
||||||
putter = ExtResource("3_tytwr")
|
putter = ExtResource("3_tytwr")
|
||||||
_balls = {
|
_balls = {
|
||||||
-1: -1,
|
|
||||||
1: -1,
|
1: -1,
|
||||||
2: 5,
|
2: 5,
|
||||||
3: -1,
|
3: -1,
|
||||||
|
@ -6,7 +6,6 @@ signal ball_changed(ball: GameBall)
|
|||||||
|
|
||||||
## Scenes for each type of ball.
|
## Scenes for each type of ball.
|
||||||
const SCENE_MAP: Dictionary = {
|
const SCENE_MAP: Dictionary = {
|
||||||
GameBall.Type.DEBUG: preload("res://src/equipment/balls/debug_ball/debug_ball.tscn"),
|
|
||||||
GameBall.Type.BASIC: preload("res://src/equipment/balls/physics_ball/physics_ball.tscn"),
|
GameBall.Type.BASIC: preload("res://src/equipment/balls/physics_ball/physics_ball.tscn"),
|
||||||
GameBall.Type.PLASMA: preload("res://src/equipment/balls/plasma_ball/plasma_ball.tscn"),
|
GameBall.Type.PLASMA: preload("res://src/equipment/balls/plasma_ball/plasma_ball.tscn"),
|
||||||
GameBall.Type.BRICK: preload("res://src/equipment/balls/brick/brick.tscn"),
|
GameBall.Type.BRICK: preload("res://src/equipment/balls/brick/brick.tscn"),
|
||||||
|
@ -4,7 +4,6 @@ class_name BallSelector extends Control
|
|||||||
const TWEEN_TIME := 0.2
|
const TWEEN_TIME := 0.2
|
||||||
|
|
||||||
const Y_OFFSET := {
|
const Y_OFFSET := {
|
||||||
GameBall.Type.DEBUG: 0,
|
|
||||||
GameBall.Type.NONE: 50,
|
GameBall.Type.NONE: 50,
|
||||||
GameBall.Type.BASIC: 18,
|
GameBall.Type.BASIC: 18,
|
||||||
GameBall.Type.PLASMA: -14,
|
GameBall.Type.PLASMA: -14,
|
||||||
|
@ -9,8 +9,6 @@ func _ready() -> void:
|
|||||||
# Fall back on baked version info
|
# Fall back on baked version info
|
||||||
text = Game.settings.version
|
text = Game.settings.version
|
||||||
|
|
||||||
# Try to expand on version number if running from the editor
|
|
||||||
if OS.has_feature("editor"):
|
|
||||||
var output: Array[String] = []
|
var output: Array[String] = []
|
||||||
var status := OS.execute("git", ["describe", "--always", "HEAD"], output)
|
var status := OS.execute("git", ["describe", "--always", "HEAD"], output)
|
||||||
if status == 0:
|
if status == 0:
|
||||||
|
@ -1,46 +1,38 @@
|
|||||||
[gd_scene load_steps=10 format=3 uid="uid://c6k44l0mnq3o1"]
|
[gd_scene load_steps=8 format=3 uid="uid://c6k44l0mnq3o1"]
|
||||||
|
|
||||||
[ext_resource type="Curve" uid="uid://b5vptoxuq3dwb" path="res://src/world/effects/explosion/intensity_curve.tres" id="1_rxjwh"]
|
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_tuj3x"]
|
[sub_resource type="Gradient" id="Gradient_tuj3x"]
|
||||||
offsets = PackedFloat32Array(0, 0.148459, 0.29972, 0.840336)
|
offsets = PackedFloat32Array(0, 0.0850112, 0.693512, 0.760626)
|
||||||
colors = PackedColorArray(1, 0.0623333, 0.03, 1, 1, 1, 1, 1, 1, 1, 0.3, 1, 0.08736, 0.09, 0.0702, 1)
|
colors = PackedColorArray(3, 3, 3, 1, 2, 2, 0.6, 1, 1, 0.0623333, 0.03, 1, 0, 0, 0, 1)
|
||||||
|
|
||||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_d6li3"]
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_d6li3"]
|
||||||
gradient = SubResource("Gradient_tuj3x")
|
gradient = SubResource("Gradient_tuj3x")
|
||||||
|
|
||||||
[sub_resource type="Curve" id="Curve_kl03u"]
|
[sub_resource type="Curve" id="Curve_oo5uu"]
|
||||||
max_value = 3.0
|
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.0842105, 1), 0.0, 0.0, 0, 0, Vector2(0.246316, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
||||||
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.145, 3), 0.0, 0.0, 0, 0, Vector2(0.566, 3), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
|
||||||
point_count = 4
|
point_count = 4
|
||||||
|
|
||||||
[sub_resource type="CurveTexture" id="CurveTexture_auv7e"]
|
|
||||||
curve = SubResource("Curve_kl03u")
|
|
||||||
|
|
||||||
[sub_resource type="CurveTexture" id="CurveTexture_quj8c"]
|
[sub_resource type="CurveTexture" id="CurveTexture_quj8c"]
|
||||||
curve = ExtResource("1_rxjwh")
|
curve = SubResource("Curve_oo5uu")
|
||||||
|
|
||||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_hjkte"]
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_hjkte"]
|
||||||
lifetime_randomness = 0.6
|
lifetime_randomness = 0.52
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(1, 1, 1)
|
||||||
direction = Vector3(0, 0, 0)
|
direction = Vector3(0, 0, 0)
|
||||||
spread = 180.0
|
spread = 180.0
|
||||||
initial_velocity_min = -4.0
|
initial_velocity_min = 4.0
|
||||||
initial_velocity_max = 4.0
|
initial_velocity_max = 4.0
|
||||||
gravity = Vector3(0, 0, 0)
|
gravity = Vector3(0, 0, 0)
|
||||||
scale_min = 0.75
|
scale_min = 0.3
|
||||||
scale_max = 1.5
|
|
||||||
scale_curve = SubResource("CurveTexture_quj8c")
|
scale_curve = SubResource("CurveTexture_quj8c")
|
||||||
color_ramp = SubResource("GradientTexture1D_d6li3")
|
color_ramp = SubResource("GradientTexture1D_d6li3")
|
||||||
emission_curve = SubResource("CurveTexture_auv7e")
|
|
||||||
turbulence_enabled = true
|
turbulence_enabled = true
|
||||||
turbulence_noise_strength = 0.2
|
|
||||||
turbulence_noise_scale = 4.0
|
|
||||||
turbulence_noise_speed = Vector3(1, 1, 1)
|
turbulence_noise_speed = Vector3(1, 1, 1)
|
||||||
|
turbulence_noise_speed_random = 1.41
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fliyi"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fliyi"]
|
||||||
shading_mode = 0
|
|
||||||
vertex_color_use_as_albedo = true
|
vertex_color_use_as_albedo = true
|
||||||
disable_receive_shadows = true
|
emission_enabled = true
|
||||||
billboard_mode = 3
|
billboard_mode = 3
|
||||||
billboard_keep_scale = true
|
billboard_keep_scale = true
|
||||||
particles_anim_h_frames = 1
|
particles_anim_h_frames = 1
|
||||||
@ -53,9 +45,7 @@ radius = 1.0
|
|||||||
height = 2.0
|
height = 2.0
|
||||||
|
|
||||||
[node name="ExplosionEffect" type="GPUParticles3D"]
|
[node name="ExplosionEffect" type="GPUParticles3D"]
|
||||||
emitting = false
|
lifetime = 0.7
|
||||||
amount = 48
|
|
||||||
one_shot = true
|
|
||||||
explosiveness = 0.92
|
explosiveness = 0.92
|
||||||
fixed_fps = 60
|
fixed_fps = 60
|
||||||
interpolate = false
|
interpolate = false
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
[gd_resource type="Curve" format=3 uid="uid://b5vptoxuq3dwb"]
|
|
||||||
|
|
||||||
[resource]
|
|
||||||
_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.145455, 1), 0.0, 0.0, 0, 0, Vector2(0.566234, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
|
|
||||||
point_count = 4
|
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
[ext_resource type="Script" path="res://src/world/world.gd" id="1_ybjyx"]
|
[ext_resource type="Script" path="res://src/world/world.gd" id="1_ybjyx"]
|
||||||
[ext_resource type="Script" path="res://src/player/world_player.gd" id="2_e743i"]
|
[ext_resource type="Script" path="res://src/player/world_player.gd" id="2_e743i"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://cvs546kk7t7aw" path="res://levels/terrain_test/terrain_test.tscn" id="2_hbpi4"]
|
||||||
[ext_resource type="Script" path="res://src/ui/world_ui.gd" id="2_imewa"]
|
[ext_resource type="Script" path="res://src/ui/world_ui.gd" id="2_imewa"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bm2o3mex10v11" path="res://levels/debug_level/debug_level.tscn" id="2_qsk3q"]
|
|
||||||
[ext_resource type="Resource" uid="uid://crock3revdn73" path="res://src/player/debug_player.tres" id="3_pyw81"]
|
[ext_resource type="Resource" uid="uid://crock3revdn73" path="res://src/player/debug_player.tres" id="3_pyw81"]
|
||||||
[ext_resource type="Script" path="res://src/world/play_manager/practice_manager.gd" id="5_yk526"]
|
[ext_resource type="Script" path="res://src/world/play_manager/practice_manager.gd" id="5_yk526"]
|
||||||
[ext_resource type="PackedScene" uid="uid://byvjsvavbg5xe" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="7_0gd42"]
|
[ext_resource type="PackedScene" uid="uid://byvjsvavbg5xe" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="7_0gd42"]
|
||||||
@ -155,7 +155,7 @@ _data = {
|
|||||||
|
|
||||||
[node name="World" type="Node" groups=["WorldGroup"]]
|
[node name="World" type="Node" groups=["WorldGroup"]]
|
||||||
script = ExtResource("1_ybjyx")
|
script = ExtResource("1_ybjyx")
|
||||||
initial_level = ExtResource("2_qsk3q")
|
initial_level = ExtResource("2_hbpi4")
|
||||||
manager = SubResource("Resource_hpydy")
|
manager = SubResource("Resource_hpydy")
|
||||||
|
|
||||||
[node name="Level" type="Node3D" parent="."]
|
[node name="Level" type="Node3D" parent="."]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user