Compare commits
No commits in common. "master" and "TAS_system" have entirely different histories.
master
...
TAS_system
|
@ -6,13 +6,3 @@ Shaders:
|
||||||
Watercolor: https://c-chen99.github.io/watercolorShader/final.html
|
Watercolor: https://c-chen99.github.io/watercolorShader/final.html
|
||||||
CMKY: https://www.shadertoy.com/view/MltBW4
|
CMKY: https://www.shadertoy.com/view/MltBW4
|
||||||
Fresnel: https://godotshaders.com/snippet/fresnel/
|
Fresnel: https://godotshaders.com/snippet/fresnel/
|
||||||
|
|
||||||
Code:
|
|
||||||
occlussion shader: https://www.reddit.com/r/godot/comments/rww6e9/comment/hrfa51g/?utm_source=share&utm_medium=web2x&context=3
|
|
||||||
|
|
||||||
|
|
||||||
Sound:
|
|
||||||
billiard-clack: https://freesound.org/people/Za-Games/sounds/539854/
|
|
||||||
|
|
||||||
|
|
||||||
https://freesound.org/people/original_sound/sounds/372197/
|
|
|
@ -1,6 +0,0 @@
|
||||||
*.blend1
|
|
||||||
*.blend2
|
|
||||||
*.blend3
|
|
||||||
*.blend4
|
|
||||||
*.blend5
|
|
||||||
|
|
BIN
blends/Child_Colour.png (Stored with Git LFS)
BIN
blends/Child_Colour.png (Stored with Git LFS)
Binary file not shown.
BIN
blends/Child_Normal.png (Stored with Git LFS)
BIN
blends/Child_Normal.png (Stored with Git LFS)
Binary file not shown.
BIN
blends/Domino.blend (Stored with Git LFS)
BIN
blends/Domino.blend (Stored with Git LFS)
Binary file not shown.
BIN
blends/Domino_Colour.png (Stored with Git LFS)
BIN
blends/Domino_Colour.png (Stored with Git LFS)
Binary file not shown.
BIN
blends/Igloo_Colour.png (Stored with Git LFS)
BIN
blends/Igloo_Colour.png (Stored with Git LFS)
Binary file not shown.
BIN
blends/Igloo_Normal.png (Stored with Git LFS)
BIN
blends/Igloo_Normal.png (Stored with Git LFS)
Binary file not shown.
BIN
blends/Present_Colour.png (Stored with Git LFS)
BIN
blends/Present_Colour.png (Stored with Git LFS)
Binary file not shown.
BIN
blends/balloon.blend (Stored with Git LFS)
BIN
blends/balloon.blend (Stored with Git LFS)
Binary file not shown.
BIN
blends/cake.blend (Stored with Git LFS)
BIN
blends/cake.blend (Stored with Git LFS)
Binary file not shown.
BIN
blends/cake_albedo.png (Stored with Git LFS)
BIN
blends/cake_albedo.png (Stored with Git LFS)
Binary file not shown.
BIN
blends/cake_normals.png (Stored with Git LFS)
BIN
blends/cake_normals.png (Stored with Git LFS)
Binary file not shown.
BIN
blends/child.blend (Stored with Git LFS)
BIN
blends/child.blend (Stored with Git LFS)
Binary file not shown.
|
@ -23,8 +23,8 @@ def export(path: str):
|
||||||
use_selection=True,
|
use_selection=True,
|
||||||
export_colors=False,
|
export_colors=False,
|
||||||
export_apply=True,
|
export_apply=True,
|
||||||
#export_animation_mode="NLA_TRACKS",
|
export_animation_mode="NLA_TRACKS",
|
||||||
#export_anim_slide_to_zero=True,
|
export_anim_slide_to_zero=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
BIN
blends/grape.blend (Stored with Git LFS)
BIN
blends/grape.blend (Stored with Git LFS)
Binary file not shown.
BIN
blends/igloo.blend (Stored with Git LFS)
BIN
blends/igloo.blend (Stored with Git LFS)
Binary file not shown.
BIN
blends/present.blend (Stored with Git LFS)
BIN
blends/present.blend (Stored with Git LFS)
Binary file not shown.
BIN
blends/small_room.blend (Stored with Git LFS)
BIN
blends/small_room.blend (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
BIN
blends/string.blend (Stored with Git LFS)
BIN
blends/string.blend (Stored with Git LFS)
Binary file not shown.
|
@ -1,8 +0,0 @@
|
||||||
extends Button
|
|
||||||
|
|
||||||
func _on_pressed():
|
|
||||||
get_tree().change_scene_to_file("res://main.tscn")
|
|
||||||
|
|
||||||
func _input(event):
|
|
||||||
if event.is_action("charge"):
|
|
||||||
_on_pressed()
|
|
|
@ -1,30 +0,0 @@
|
||||||
using Godot;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
public partial class CollisionSound : AudioStreamPlayer
|
|
||||||
{
|
|
||||||
Node controller;
|
|
||||||
bool firstPlayed = false;
|
|
||||||
|
|
||||||
public override void _Ready()
|
|
||||||
{
|
|
||||||
controller = GetNode<Node>("/root/ControllerEventBus");
|
|
||||||
|
|
||||||
Callable callable = new Callable(this, MethodName.OnControllerContact);
|
|
||||||
|
|
||||||
controller.Connect("new_target", callable);
|
|
||||||
|
|
||||||
this.OnControllerContact(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void OnControllerContact(Node node)
|
|
||||||
{
|
|
||||||
|
|
||||||
if (firstPlayed) this.Play();
|
|
||||||
firstPlayed = true;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
BIN
godot/Domino.glb (Stored with Git LFS)
BIN
godot/Domino.glb (Stored with Git LFS)
Binary file not shown.
|
@ -1,41 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="scene"
|
|
||||||
importer_version=1
|
|
||||||
type="PackedScene"
|
|
||||||
uid="uid://dmttoc025f26x"
|
|
||||||
path="res://.godot/imported/Domino.glb-425929d56fd611b3f418978da5619fbf.scn"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Domino.glb"
|
|
||||||
dest_files=["res://.godot/imported/Domino.glb-425929d56fd611b3f418978da5619fbf.scn"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
nodes/root_type="Node3D"
|
|
||||||
nodes/root_name="Scene Root"
|
|
||||||
nodes/apply_root_scale=true
|
|
||||||
nodes/root_scale=1.0
|
|
||||||
meshes/ensure_tangents=true
|
|
||||||
meshes/generate_lods=true
|
|
||||||
meshes/create_shadow_meshes=true
|
|
||||||
meshes/light_baking=1
|
|
||||||
meshes/lightmap_texel_size=0.2
|
|
||||||
skins/use_named_skins=true
|
|
||||||
animation/import=true
|
|
||||||
animation/fps=30
|
|
||||||
animation/trimming=false
|
|
||||||
animation/remove_immutable_tracks=true
|
|
||||||
import_script/path="res://physics/import_billiard.gd"
|
|
||||||
_subresources={
|
|
||||||
"nodes": {
|
|
||||||
"PATH:Domino2": {
|
|
||||||
"generate/physics": true,
|
|
||||||
"physics/body_type": 1,
|
|
||||||
"physics/shape_type": 3,
|
|
||||||
"primitive/size": Vector3(0.01, 0.01, 0.01)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
gltf/embedded_image_handling=1
|
|
BIN
godot/Domino_Domino_Colour.png (Stored with Git LFS)
BIN
godot/Domino_Domino_Colour.png (Stored with Git LFS)
Binary file not shown.
|
@ -1,35 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://ds1wgysoytgp3"
|
|
||||||
path.s3tc="res://.godot/imported/Domino_Domino_Colour.png-07a86699fb9aab3fc9c77e79728398fd.s3tc.ctex"
|
|
||||||
metadata={
|
|
||||||
"imported_formats": ["s3tc_bptc"],
|
|
||||||
"vram_texture": true
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Domino_Domino_Colour.png"
|
|
||||||
dest_files=["res://.godot/imported/Domino_Domino_Colour.png-07a86699fb9aab3fc9c77e79728398fd.s3tc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=2
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=true
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=0
|
|
|
@ -1,6 +0,0 @@
|
||||||
<Project Sdk="Godot.NET.Sdk/4.1.3">
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
|
||||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
|
@ -1,6 +0,0 @@
|
||||||
<Project Sdk="Godot.NET.Sdk/4.1.1">
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>net6.0</TargetFramework>
|
|
||||||
<EnableDynamicLoading>true</EnableDynamicLoading>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
File diff suppressed because one or more lines are too long
|
@ -1,25 +0,0 @@
|
||||||
[gd_scene load_steps=4 format=3 uid="uid://db3h7pscfif84"]
|
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dl005e2rvn86b" path="res://balloon.glb" id="1_sa42c"]
|
|
||||||
|
|
||||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_wfeli"]
|
|
||||||
friction = 0.0
|
|
||||||
bounce = 12.8
|
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_pjfh4"]
|
|
||||||
radius = 0.258256
|
|
||||||
|
|
||||||
[node name="balloon" instance=ExtResource("1_sa42c")]
|
|
||||||
mass = 0.1
|
|
||||||
physics_material_override = SubResource("PhysicsMaterial_wfeli")
|
|
||||||
gravity_scale = 0.0
|
|
||||||
|
|
||||||
[node name="Balloon_String" parent="." index="2"]
|
|
||||||
transform = Transform3D(-0.002, 0, -1.74846e-10, 0, 0.286, 0, 1.74846e-10, 0, -0.002, 0, -0.378486, 0)
|
|
||||||
|
|
||||||
[node name="Balloon" parent="." index="3"]
|
|
||||||
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
|
||||||
|
|
||||||
[node name="CollisionShape3D" parent="." index="4"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.239173, 0)
|
|
||||||
shape = SubResource("SphereShape3D_pjfh4")
|
|
|
@ -1,7 +0,0 @@
|
||||||
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://bnn6mfpgaqxvb"]
|
|
||||||
|
|
||||||
[ext_resource type="Shader" path="res://Objects/balloon/balloon_shader.gdshader" id="1_i5nh0"]
|
|
||||||
|
|
||||||
[resource]
|
|
||||||
render_priority = 0
|
|
||||||
shader = ExtResource("1_i5nh0")
|
|
|
@ -1,8 +0,0 @@
|
||||||
[gd_resource type="StandardMaterial3D" format=3 uid="uid://cqhehgwersrkl"]
|
|
||||||
|
|
||||||
[resource]
|
|
||||||
albedo_color = Color(1, 0, 0, 1)
|
|
||||||
metallic = 0.26
|
|
||||||
roughness = 0.0
|
|
||||||
clearcoat_enabled = true
|
|
||||||
clearcoat_roughness = 0.83
|
|
|
@ -1,9 +0,0 @@
|
||||||
shader_type spatial;
|
|
||||||
render_mode specular_schlick_ggx;
|
|
||||||
|
|
||||||
void fragment() {
|
|
||||||
ALBEDO = vec3(255.0, 0.0, 0.0);
|
|
||||||
METALLIC = 0.9;
|
|
||||||
ROUGHNESS = 0.2;
|
|
||||||
ALPHA = 0.98;
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
[gd_resource type="StandardMaterial3D" format=3 uid="uid://3r1biqr3c4l7"]
|
|
||||||
|
|
||||||
[resource]
|
|
||||||
resource_name = "string"
|
|
||||||
cull_mode = 2
|
|
||||||
vertex_color_use_as_albedo = true
|
|
||||||
albedo_color = Color(0.906332, 0.906332, 0.906332, 1)
|
|
||||||
roughness = 0.5
|
|
|
@ -1,8 +0,0 @@
|
||||||
[gd_scene load_steps=2 format=3 uid="uid://dkoiku0t4b0o7"]
|
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://4imncqpi4gw5" path="res://string.glb" id="1_otewq"]
|
|
||||||
|
|
||||||
[node name="string" instance=ExtResource("1_otewq")]
|
|
||||||
|
|
||||||
[node name="Balloon_String" parent="." index="0"]
|
|
||||||
transform = Transform3D(-0.00735031, 1.59288e-05, -5.56369e-06, 1.21871e-07, 1, -6.21002e-06, 5.56359e-06, -0.000844878, -0.00735031, 0, -1.5621, 0)
|
|
|
@ -1,19 +0,0 @@
|
||||||
extends Node3D
|
|
||||||
|
|
||||||
var delta := 1.0 / float(Engine.physics_ticks_per_second)
|
|
||||||
|
|
||||||
func _ready():
|
|
||||||
Engine.get_physics_frames()
|
|
||||||
TAS_System.FrameIncremented.connect(frame_inc)
|
|
||||||
TAS_System.FramesAdvanced.connect(frames_change)
|
|
||||||
TAS_System.FramesRegressed.connect(frames_change)
|
|
||||||
|
|
||||||
func frame_inc(frame: int):
|
|
||||||
%AnimationTree.advance(delta)
|
|
||||||
|
|
||||||
func frames_change(start: int, end: int):
|
|
||||||
%AnimationTree.advance((end - start)*delta)
|
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
func _process(delta):
|
|
||||||
pass
|
|
|
@ -1,57 +0,0 @@
|
||||||
[gd_scene load_steps=9 format=3 uid="uid://cfpiau12q3fut"]
|
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://c2kmady6gqslx" path="res://child.glb" id="1_rqu88"]
|
|
||||||
[ext_resource type="Script" path="res://animation_tree.gd" id="2_tcc3g"]
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_uc42e"]
|
|
||||||
animation = &"JumpingJacksNLA"
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ijpln"]
|
|
||||||
animation = &"JumpingJacksNLA"
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_57k3o"]
|
|
||||||
switch_mode = 2
|
|
||||||
advance_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3idly"]
|
|
||||||
switch_mode = 2
|
|
||||||
advance_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_h2mkw"]
|
|
||||||
switch_mode = 2
|
|
||||||
advance_mode = 2
|
|
||||||
|
|
||||||
[sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_u0o4a"]
|
|
||||||
states/JumpingJacksNLA/node = SubResource("AnimationNodeAnimation_ijpln")
|
|
||||||
states/JumpingJacksNLA/position = Vector2(559, 54)
|
|
||||||
"states/JumpingJacksNLA 2/node" = SubResource("AnimationNodeAnimation_uc42e")
|
|
||||||
"states/JumpingJacksNLA 2/position" = Vector2(633, 131)
|
|
||||||
transitions = ["JumpingJacksNLA", "JumpingJacksNLA 2", SubResource("AnimationNodeStateMachineTransition_57k3o"), "JumpingJacksNLA 2", "JumpingJacksNLA", SubResource("AnimationNodeStateMachineTransition_3idly"), "Start", "JumpingJacksNLA", SubResource("AnimationNodeStateMachineTransition_h2mkw")]
|
|
||||||
|
|
||||||
[node name="child" instance=ExtResource("1_rqu88")]
|
|
||||||
|
|
||||||
[node name="Skeleton3D" parent="Armature" index="0"]
|
|
||||||
bones/0/position = Vector3(0, 2.32035, 0)
|
|
||||||
bones/3/rotation = Quaternion(0.0514876, -5.4438e-17, -2.71031e-16, 0.998674)
|
|
||||||
bones/5/rotation = Quaternion(0.0965706, 0.063607, -0.119505, 0.986077)
|
|
||||||
bones/6/rotation = Quaternion(0.0206859, -0.0873376, 0.0694537, 0.993539)
|
|
||||||
bones/7/rotation = Quaternion(0.00777981, 0.0423361, -0.0822345, 0.995683)
|
|
||||||
bones/9/rotation = Quaternion(0.0965705, -0.063607, 0.119505, 0.986077)
|
|
||||||
bones/10/rotation = Quaternion(0.0206859, 0.0873376, -0.0694538, 0.993539)
|
|
||||||
bones/11/rotation = Quaternion(0.00777978, -0.0423361, 0.0822345, 0.995683)
|
|
||||||
bones/12/rotation = Quaternion(0.626251, 0.334163, 0.616519, -0.340661)
|
|
||||||
bones/13/rotation = Quaternion(-0.27126, -0.0288476, 0.0393126, 0.96127)
|
|
||||||
bones/14/rotation = Quaternion(-0.0251956, -0.00324478, 0.00115795, 0.999677)
|
|
||||||
bones/15/rotation = Quaternion(0.0339653, 0.0223564, -0.693306, 0.719495)
|
|
||||||
bones/16/rotation = Quaternion(0.626251, -0.334163, -0.616519, -0.340661)
|
|
||||||
bones/17/rotation = Quaternion(-0.27126, 0.0288476, -0.0393126, 0.96127)
|
|
||||||
bones/18/rotation = Quaternion(-0.0251956, 0.00324479, -0.00115795, 0.999677)
|
|
||||||
bones/19/rotation = Quaternion(0.0339653, -0.0223564, 0.693306, 0.719495)
|
|
||||||
|
|
||||||
[node name="AnimationTree" type="AnimationTree" parent="." index="2"]
|
|
||||||
unique_name_in_owner = true
|
|
||||||
tree_root = SubResource("AnimationNodeStateMachine_u0o4a")
|
|
||||||
anim_player = NodePath("../AnimationPlayer")
|
|
||||||
active = true
|
|
||||||
process_callback = 2
|
|
||||||
script = ExtResource("2_tcc3g")
|
|
BIN
godot/Objects/child/child_Child_Colour.png (Stored with Git LFS)
BIN
godot/Objects/child/child_Child_Colour.png (Stored with Git LFS)
Binary file not shown.
|
@ -1,36 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://75axeu8xnj41"
|
|
||||||
path.bptc="res://.godot/imported/child_Child_Colour.png-c4c784e55c596fd0d230ba7bb48dd996.bptc.ctex"
|
|
||||||
metadata={
|
|
||||||
"imported_formats": ["s3tc_bptc"],
|
|
||||||
"vram_texture": true
|
|
||||||
}
|
|
||||||
generator_parameters={}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Objects/child/child_Child_Colour.png"
|
|
||||||
dest_files=["res://.godot/imported/child_Child_Colour.png-c4c784e55c596fd0d230ba7bb48dd996.bptc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=2
|
|
||||||
compress/high_quality=true
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=true
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=0
|
|
BIN
godot/Objects/child/child_Child_Normal.png (Stored with Git LFS)
BIN
godot/Objects/child/child_Child_Normal.png (Stored with Git LFS)
Binary file not shown.
|
@ -1,36 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://b5s7geaamdsd1"
|
|
||||||
path.bptc="res://.godot/imported/child_Child_Normal.png-e0c80530ce3d1ba886433b18216a7e2c.bptc.ctex"
|
|
||||||
metadata={
|
|
||||||
"imported_formats": ["s3tc_bptc"],
|
|
||||||
"vram_texture": true
|
|
||||||
}
|
|
||||||
generator_parameters={}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Objects/child/child_Child_Normal.png"
|
|
||||||
dest_files=["res://.godot/imported/child_Child_Normal.png-e0c80530ce3d1ba886433b18216a7e2c.bptc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=2
|
|
||||||
compress/high_quality=true
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=1
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=true
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=1
|
|
||||||
roughness/src_normal="res://child_Child_Normal.png"
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=0
|
|
BIN
godot/Objects/domino/Domino_Domino_Colour.png (Stored with Git LFS)
BIN
godot/Objects/domino/Domino_Domino_Colour.png (Stored with Git LFS)
Binary file not shown.
|
@ -1,36 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://bvkvdhygvvxae"
|
|
||||||
path.s3tc="res://.godot/imported/Domino_Domino_Colour.png-067d515b08069aa1e54b6d66cb76bf8b.s3tc.ctex"
|
|
||||||
metadata={
|
|
||||||
"imported_formats": ["s3tc_bptc"],
|
|
||||||
"vram_texture": true
|
|
||||||
}
|
|
||||||
generator_parameters={}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Objects/domino/Domino_Domino_Colour.png"
|
|
||||||
dest_files=["res://.godot/imported/Domino_Domino_Colour.png-067d515b08069aa1e54b6d66cb76bf8b.s3tc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=2
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=true
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=0
|
|
File diff suppressed because one or more lines are too long
|
@ -1,16 +0,0 @@
|
||||||
[gd_scene load_steps=3 format=3 uid="uid://b7qky0n2ea40e"]
|
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://dmttoc025f26x" path="res://Domino.glb" id="1_n2u88"]
|
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_ndu5u"]
|
|
||||||
size = Vector3(0.153, 0.279, 0.066)
|
|
||||||
|
|
||||||
[node name="Domino" instance=ExtResource("1_n2u88")]
|
|
||||||
mass = 20.0
|
|
||||||
|
|
||||||
[node name="Domino2" parent="." index="2"]
|
|
||||||
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
|
||||||
|
|
||||||
[node name="CollisionShape3D" parent="." index="3"]
|
|
||||||
transform = Transform3D(0.999984, 0, 0, 0, 0.999984, 0, 0, 0, 0.999984, 0, 0, 0)
|
|
||||||
shape = SubResource("BoxShape3D_ndu5u")
|
|
File diff suppressed because one or more lines are too long
BIN
godot/Objects/igloo/igloo_Igloo_Colour.png (Stored with Git LFS)
BIN
godot/Objects/igloo/igloo_Igloo_Colour.png (Stored with Git LFS)
Binary file not shown.
|
@ -1,36 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://cbqufebenynym"
|
|
||||||
path.bptc="res://.godot/imported/igloo_Igloo_Colour.png-3593c486967c2287e44aad91030db888.bptc.ctex"
|
|
||||||
metadata={
|
|
||||||
"imported_formats": ["s3tc_bptc"],
|
|
||||||
"vram_texture": true
|
|
||||||
}
|
|
||||||
generator_parameters={}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Objects/igloo/igloo_Igloo_Colour.png"
|
|
||||||
dest_files=["res://.godot/imported/igloo_Igloo_Colour.png-3593c486967c2287e44aad91030db888.bptc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=2
|
|
||||||
compress/high_quality=true
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=true
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=0
|
|
BIN
godot/Objects/igloo/igloo_Igloo_Normal.png (Stored with Git LFS)
BIN
godot/Objects/igloo/igloo_Igloo_Normal.png (Stored with Git LFS)
Binary file not shown.
|
@ -1,36 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://7w2x04tm1opn"
|
|
||||||
path.bptc="res://.godot/imported/igloo_Igloo_Normal.png-ca22887363a6b45a9fd447d212cdb2df.bptc.ctex"
|
|
||||||
metadata={
|
|
||||||
"imported_formats": ["s3tc_bptc"],
|
|
||||||
"vram_texture": true
|
|
||||||
}
|
|
||||||
generator_parameters={}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://Objects/igloo/igloo_Igloo_Normal.png"
|
|
||||||
dest_files=["res://.godot/imported/igloo_Igloo_Normal.png-ca22887363a6b45a9fd447d212cdb2df.bptc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=2
|
|
||||||
compress/high_quality=true
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=1
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=true
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=1
|
|
||||||
roughness/src_normal="res://igloo_Igloo_Normal.png"
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=0
|
|
|
@ -1,15 +0,0 @@
|
||||||
[gd_scene load_steps=3 format=3 uid="uid://y0mo5gxmd08q"]
|
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://b7kpas3rxox0u" path="res://present.glb" id="1_420vr"]
|
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_v5kqf"]
|
|
||||||
size = Vector3(2.18126, 1.97943, 2.07727)
|
|
||||||
|
|
||||||
[node name="present" instance=ExtResource("1_420vr")]
|
|
||||||
|
|
||||||
[node name="Present" parent="." index="2"]
|
|
||||||
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 0, 0)
|
|
||||||
|
|
||||||
[node name="CollisionShape3D" parent="." index="3"]
|
|
||||||
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 0, 0)
|
|
||||||
shape = SubResource("BoxShape3D_v5kqf")
|
|
|
@ -4,36 +4,27 @@ using System;
|
||||||
public partial class TAS_System : Node
|
public partial class TAS_System : Node
|
||||||
{
|
{
|
||||||
private double _frameLength = 0.1;
|
private double _frameLength = 0.1;
|
||||||
private bool _isIncrementingFrames = false;
|
private bool _isCountingFrames = false;
|
||||||
private double _timeSinceLastFrame;
|
private Timer _frameTimer;
|
||||||
private int _currentFrame = 0;
|
private int _currentFrame = 0;
|
||||||
private int _lastAdvancedFrame = 0;
|
private int _lastAdvancedFrame = 0;
|
||||||
[Export]
|
|
||||||
public double min_speed = 1.0;
|
|
||||||
[Export]
|
|
||||||
public double max_speed = 10.0;
|
|
||||||
// Number of ms passed while speeding up
|
|
||||||
[Export]
|
|
||||||
public double speed = 0.0;
|
|
||||||
[Export]
|
|
||||||
public double exp_speed_base = 1.05;
|
|
||||||
|
|
||||||
public double FrameLength
|
public double FrameLength
|
||||||
{
|
{
|
||||||
get { return this._frameLength; }
|
get { return this._frameLength; }
|
||||||
set { this._frameLength = value; }
|
private set { this._frameLength = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsIncrementingFrames
|
public bool IsCountingFrames
|
||||||
{
|
{
|
||||||
get { return this._isIncrementingFrames; }
|
get { return this._isCountingFrames; }
|
||||||
private set { this._isIncrementingFrames = value; }
|
private set { this._isCountingFrames = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
private double TimeSinceLastFrame
|
private Timer FrameTimer
|
||||||
{
|
{
|
||||||
get { return this._timeSinceLastFrame; }
|
get { return this._frameTimer; }
|
||||||
set { this._timeSinceLastFrame = value; }
|
set { this._frameTimer = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public int CurrentFrame
|
public int CurrentFrame
|
||||||
|
@ -42,11 +33,6 @@ public partial class TAS_System : Node
|
||||||
private set { this._currentFrame = value; }
|
private set { this._currentFrame = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public int AdvancedFramesRemaining
|
|
||||||
{
|
|
||||||
get { return this.LastAdvancedFrame - this.CurrentFrame; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The last frame that can be advanced to. This will
|
/// The last frame that can be advanced to. This will
|
||||||
/// only be greater than CurrentFrame after the player
|
/// only be greater than CurrentFrame after the player
|
||||||
|
@ -60,55 +46,31 @@ public partial class TAS_System : Node
|
||||||
private set { this._lastAdvancedFrame = value; }
|
private set { this._lastAdvancedFrame = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Signal is emitted whenever the current frame is incremented.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="newFrame"></param>
|
|
||||||
[Signal]
|
|
||||||
public delegate void FrameIncrementedEventHandler(int newFrame);
|
|
||||||
|
|
||||||
[Signal]
|
[Signal]
|
||||||
public delegate void FramesAdvancedEventHandler(int startFrame, int endFrame);
|
public delegate void FrameAdvancedEventHandler(int currentFrame);
|
||||||
|
|
||||||
[Signal]
|
[Signal]
|
||||||
public delegate void FramesRegressedEventHandler(int startFrame, int endFrame);
|
public delegate void FramesAdvancedEventHandler(int numFrames);
|
||||||
|
|
||||||
[Signal]
|
[Signal]
|
||||||
public delegate void StartedIncrementingEventHandler();
|
public delegate void FramesRegressedEventHandler(int numFrames);
|
||||||
|
|
||||||
[Signal]
|
|
||||||
public delegate void StoppedIncrementingEventHandler();
|
|
||||||
|
|
||||||
[Signal]
|
|
||||||
public delegate void FramesResetEventHandler();
|
|
||||||
|
|
||||||
[Signal]
|
|
||||||
public delegate void SpeedChangeEventHandler(float speed);
|
|
||||||
|
|
||||||
|
|
||||||
public void StartIncrementingFrames()
|
public void StartCountingFrames()
|
||||||
{
|
{
|
||||||
if (this.IsIncrementingFrames == false)
|
|
||||||
{
|
|
||||||
this.IsIncrementingFrames = true;
|
|
||||||
EmitSignal(SignalName.StartedIncrementing);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StopIncrementingFrames()
|
public void StopCountingFrames()
|
||||||
{
|
{
|
||||||
if (this.IsIncrementingFrames == true)
|
|
||||||
{
|
|
||||||
this.IsIncrementingFrames = false;
|
|
||||||
EmitSignal(SignalName.StoppedIncrementing);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ResetFrameCount()
|
public void ResetFrameCount()
|
||||||
{
|
{
|
||||||
this.CurrentFrame = 0;
|
this.CurrentFrame = 0;
|
||||||
this.LastAdvancedFrame = 0;
|
this.LastAdvancedFrame = 0;
|
||||||
EmitSignal(SignalName.FramesReset);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns how many frames it could successfully advance
|
// Returns how many frames it could successfully advance
|
||||||
|
@ -116,37 +78,16 @@ public partial class TAS_System : Node
|
||||||
{
|
{
|
||||||
int newFrame = Math.Min(this.CurrentFrame + numFrames, this.LastAdvancedFrame);
|
int newFrame = Math.Min(this.CurrentFrame + numFrames, this.LastAdvancedFrame);
|
||||||
int framesAdvanced = newFrame - this.CurrentFrame;
|
int framesAdvanced = newFrame - this.CurrentFrame;
|
||||||
EmitSignal(SignalName.FramesAdvanced, this.CurrentFrame, newFrame);
|
EmitSignal(SignalName.FramesAdvanced, framesAdvanced);
|
||||||
this.CurrentFrame = newFrame;
|
|
||||||
return framesAdvanced;
|
return framesAdvanced;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int AdvanceWithSpeedup(double time_delta) {
|
|
||||||
speed += time_delta;
|
|
||||||
speed = Math.Clamp(speed, min_speed, max_speed);
|
|
||||||
EmitSignal(SignalName.SpeedChange, speed);
|
|
||||||
return Advance((int)Math.Pow(exp_speed_base, speed));
|
|
||||||
}
|
|
||||||
|
|
||||||
public int RegressWithSpeedup(double time_delta) {
|
|
||||||
speed += time_delta;
|
|
||||||
speed = Math.Clamp(speed, min_speed, max_speed);
|
|
||||||
EmitSignal(SignalName.SpeedChange, speed);
|
|
||||||
return Regress((int)Math.Pow(exp_speed_base, speed));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void ResetSpeedup() {
|
|
||||||
speed = 0.0;
|
|
||||||
EmitSignal(SignalName.SpeedChange, speed);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns how many frames it could successfully regress
|
// Returns how many frames it could successfully regress
|
||||||
public int Regress(int numFrames)
|
public int Regress(int numFrames)
|
||||||
{
|
{
|
||||||
int newFrame = Math.Max(this.CurrentFrame - numFrames, 0);
|
int newFrame = Math.Max(this.CurrentFrame - numFrames, 0);
|
||||||
int framesRegressed = newFrame - this.CurrentFrame;
|
int framesRegressed = newFrame - this.CurrentFrame;
|
||||||
EmitSignal(SignalName.FramesRegressed, this.CurrentFrame, newFrame);
|
EmitSignal(SignalName.FramesRegressed, framesRegressed);
|
||||||
this.CurrentFrame = newFrame;
|
|
||||||
return framesRegressed;
|
return framesRegressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -158,28 +99,12 @@ public partial class TAS_System : Node
|
||||||
this.LastAdvancedFrame = this.CurrentFrame;
|
this.LastAdvancedFrame = this.CurrentFrame;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void _PhysicsProcess(double delta)
|
|
||||||
{
|
|
||||||
if (this.IsIncrementingFrames)
|
|
||||||
{
|
|
||||||
this.TimeSinceLastFrame += delta;
|
|
||||||
if (this.TimeSinceLastFrame >= this.FrameLength)
|
|
||||||
{
|
|
||||||
this.CurrentFrame++;
|
|
||||||
this.LastAdvancedFrame = this.CurrentFrame;
|
|
||||||
EmitSignal(SignalName.FrameIncremented, this.CurrentFrame);
|
|
||||||
this.TimeSinceLastFrame = 0 + (this.TimeSinceLastFrame - this.FrameLength);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
// public void Test()
|
||||||
|
// {
|
||||||
|
// GD.Print("test123");
|
||||||
|
|
||||||
|
// // EmitSignal(SignalName.TestSignal, "test456");
|
||||||
public override void _Ready()
|
// }
|
||||||
{
|
|
||||||
this.FrameLength = 1/60;
|
|
||||||
this.StartIncrementingFrames();
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,5 +2,5 @@
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://TAS_system/TAS_System.cs" id="1_4s6ry"]
|
[ext_resource type="Script" path="res://TAS_system/TAS_System.cs" id="1_4s6ry"]
|
||||||
|
|
||||||
[node name="TAS_System" type="Node"]
|
[node name="System" type="Node"]
|
||||||
script = ExtResource("1_4s6ry")
|
script = ExtResource("1_4s6ry")
|
||||||
|
|
|
@ -1,93 +0,0 @@
|
||||||
using Godot;
|
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Globalization;
|
|
||||||
using System.Threading;
|
|
||||||
|
|
||||||
public partial class TASable : Node
|
|
||||||
{
|
|
||||||
[Export] RigidBody3D _assignedRigidBody3D;
|
|
||||||
|
|
||||||
public RigidBody3D AssignedRigidBody3D
|
|
||||||
{
|
|
||||||
get { return this._assignedRigidBody3D; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// Frame data
|
|
||||||
public Dictionary<int, Vector3> framePositions = new Dictionary<int, Vector3>();
|
|
||||||
public Dictionary<int, Vector3> frameRotations = new Dictionary<int, Vector3>();
|
|
||||||
public Dictionary<int, Vector3> frameLinearVelocities = new Dictionary<int, Vector3>();
|
|
||||||
public Dictionary<int, Vector3> frameAngularVelocities = new Dictionary<int, Vector3>();
|
|
||||||
|
|
||||||
|
|
||||||
public virtual void SaveState(int frame)
|
|
||||||
{
|
|
||||||
this.framePositions[frame] = this.AssignedRigidBody3D.Position;
|
|
||||||
this.frameRotations[frame] = this.AssignedRigidBody3D.Rotation;
|
|
||||||
this.frameLinearVelocities[frame] = this.AssignedRigidBody3D.LinearVelocity;
|
|
||||||
this.frameAngularVelocities[frame] = this.AssignedRigidBody3D.AngularVelocity;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void LoadState(int frame)
|
|
||||||
{
|
|
||||||
this.AssignedRigidBody3D.Position = this.framePositions[frame];
|
|
||||||
this.AssignedRigidBody3D.Rotation = this.frameRotations[frame];
|
|
||||||
this.AssignedRigidBody3D.LinearVelocity = this.frameLinearVelocities[frame];
|
|
||||||
this.AssignedRigidBody3D.AngularVelocity = this.frameAngularVelocities[frame];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public override void _Ready()
|
|
||||||
{
|
|
||||||
if (this._assignedRigidBody3D is null)
|
|
||||||
{
|
|
||||||
this._assignedRigidBody3D = this.GetParent<RigidBody3D>();
|
|
||||||
}
|
|
||||||
|
|
||||||
TAS_System TAS = GetNode<TAS_System>("/root/TAS_System");
|
|
||||||
|
|
||||||
TAS.FrameIncremented += this.OnFrameIncremented;
|
|
||||||
TAS.FramesAdvanced += this.OnFramesAdvanced;
|
|
||||||
TAS.FramesRegressed += this.OnFramesRegressed;
|
|
||||||
TAS.StartedIncrementing += this.OnStartedIncrementing;
|
|
||||||
TAS.StoppedIncrementing += this.OnStoppedIncrementing;
|
|
||||||
TAS.FramesReset += this.OnFramesReset;
|
|
||||||
|
|
||||||
this.SaveState(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void OnFrameIncremented(int newFrame)
|
|
||||||
{
|
|
||||||
this.SaveState(newFrame);
|
|
||||||
// GD.Print($"Frame advanced to {newFrame}, called from node {this.AssignedRigidBody3D.Name}");
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void OnFramesAdvanced(int startFrame, int endFrame)
|
|
||||||
{
|
|
||||||
this.LoadState(endFrame);
|
|
||||||
// GD.Print($"Frames advanced from {startFrame} to {endFrame}, called from node {this.AssignedRigidBody3D.Name}");
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void OnFramesRegressed(int startFrame, int endFrame)
|
|
||||||
{
|
|
||||||
this.LoadState(endFrame);
|
|
||||||
// GD.Print($"Frames regressed from {startFrame} to {endFrame}, called from node {this.AssignedRigidBody3D.Name}");
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void OnStartedIncrementing()
|
|
||||||
{
|
|
||||||
this.AssignedRigidBody3D.Freeze = false;
|
|
||||||
this.AssignedRigidBody3D.LockRotation = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void OnStoppedIncrementing()
|
|
||||||
{
|
|
||||||
this.AssignedRigidBody3D.Freeze = true;
|
|
||||||
this.AssignedRigidBody3D.LockRotation = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void OnFramesReset()
|
|
||||||
{
|
|
||||||
this.SaveState(0);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
[gd_scene load_steps=2 format=3 uid="uid://bjhii55pagkb5"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://TAS_system/TASable.cs" id="1_uqel0"]
|
|
||||||
|
|
||||||
[node name="is_TASable" type="Node"]
|
|
||||||
script = ExtResource("1_uqel0")
|
|
|
@ -1,52 +0,0 @@
|
||||||
using Godot;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
public partial class TimescaleSystem : Node
|
|
||||||
{
|
|
||||||
[Export] public double SlowLength = 1.0;
|
|
||||||
[Export] public double SlowMagnitude = 0.2;
|
|
||||||
|
|
||||||
Node controller;
|
|
||||||
|
|
||||||
public override void _Ready()
|
|
||||||
{
|
|
||||||
controller = GetNode<Node>("/root/ControllerEventBus");
|
|
||||||
|
|
||||||
Callable callable = new Callable(this, MethodName.OnControllerContact);
|
|
||||||
|
|
||||||
controller.Connect("new_target", callable);
|
|
||||||
|
|
||||||
this.OnControllerContact(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void OnControllerContact(Node node)
|
|
||||||
{
|
|
||||||
GD.Print("toUCHED!");
|
|
||||||
|
|
||||||
Engine.TimeScale = this.SlowMagnitude;
|
|
||||||
|
|
||||||
Timer timer = new Timer();
|
|
||||||
timer.Name = "SlowTimer";
|
|
||||||
|
|
||||||
this.AddChild(timer);
|
|
||||||
|
|
||||||
timer.WaitTime = this.SlowLength * this.SlowMagnitude;
|
|
||||||
timer.OneShot = true;
|
|
||||||
|
|
||||||
timer.Timeout += () => {
|
|
||||||
GD.Print("TimE!");
|
|
||||||
Engine.TimeScale = 1.0;
|
|
||||||
timer.QueueFree();
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
timer.Start();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
[gd_scene load_steps=2 format=3 uid="uid://bs3yqnctxfwaa"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://Timescale_System/TimescaleSystem.cs" id="1_6tt5j"]
|
|
||||||
|
|
||||||
[node name="TimescaleSystem" type="Node"]
|
|
||||||
script = ExtResource("1_6tt5j")
|
|
|
@ -1,48 +0,0 @@
|
||||||
using Godot;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
public partial class AdvanceButton : Button
|
|
||||||
{
|
|
||||||
TAS_System TAS;
|
|
||||||
bool isButtonPressed = false;
|
|
||||||
|
|
||||||
// Called when the node enters the scene tree for the first time.
|
|
||||||
public override void _Ready()
|
|
||||||
{
|
|
||||||
TAS = GetNode<TAS_System>("/root/TAS_System");
|
|
||||||
|
|
||||||
AudioStreamPlayer buttonSound = this.GetNode<AudioStreamPlayer>("../../ButtonSound");
|
|
||||||
|
|
||||||
bool playSound = true;
|
|
||||||
|
|
||||||
this.Pressed += () => {
|
|
||||||
TAS.Advance(1);
|
|
||||||
if (playSound) buttonSound.Play();
|
|
||||||
playSound = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
this.ButtonDown += () => { this.isButtonPressed = true; };
|
|
||||||
this.ButtonUp += () => { this.isButtonPressed = false; TAS.ResetSpeedup(); playSound = true; };
|
|
||||||
}
|
|
||||||
|
|
||||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
public override void _Process(double delta)
|
|
||||||
{
|
|
||||||
if (TAS.AdvancedFramesRemaining == 0)
|
|
||||||
{
|
|
||||||
this.Disabled = true;
|
|
||||||
TAS.ResetSpeedup();
|
|
||||||
this.isButtonPressed = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this.Disabled = false;
|
|
||||||
|
|
||||||
if (this.isButtonPressed)
|
|
||||||
{
|
|
||||||
TAS.AdvanceWithSpeedup(delta);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,24 +0,0 @@
|
||||||
using Godot;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
public partial class CurrentFrameLabel : Label
|
|
||||||
{
|
|
||||||
TAS_System TAS;
|
|
||||||
// Called when the node enters the scene tree for the first time.
|
|
||||||
public override void _Ready()
|
|
||||||
{
|
|
||||||
TAS = GetNode<TAS_System>("/root/TAS_System");
|
|
||||||
// TAS.FrameIncremented += OnFrameIncremented;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
public override void _Process(double delta)
|
|
||||||
{
|
|
||||||
this.Text = $"Current frame: {TAS.CurrentFrame}";
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void OnFrameIncremented(int newFrame)
|
|
||||||
{
|
|
||||||
this.Text = $"Current frame: {newFrame}";
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,4 +0,0 @@
|
||||||
extends Label
|
|
||||||
|
|
||||||
func _process(delta):
|
|
||||||
text = "Speed: " + str(TAS_System.speed)
|
|
|
@ -1,51 +0,0 @@
|
||||||
using Godot;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
public partial class RegressButton : Button
|
|
||||||
{
|
|
||||||
TAS_System TAS;
|
|
||||||
bool isButtonPressed = false;
|
|
||||||
|
|
||||||
// Called when the node enters the scene tree for the first time.
|
|
||||||
public override void _Ready()
|
|
||||||
{
|
|
||||||
TAS = GetNode<TAS_System>("/root/TAS_System");
|
|
||||||
AudioStreamPlayer buttonSound = this.GetNode<AudioStreamPlayer>("../../ButtonSound");
|
|
||||||
|
|
||||||
bool playSound = true;
|
|
||||||
|
|
||||||
this.Pressed += () => {
|
|
||||||
TAS.Regress(1);
|
|
||||||
if (playSound) buttonSound.Play();
|
|
||||||
playSound = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
this.ButtonDown += () => { this.isButtonPressed = true; TAS.StopIncrementingFrames(); };
|
|
||||||
this.ButtonUp += () => { this.isButtonPressed = false; TAS.ResetSpeedup(); playSound = true; };
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual void OnFrameIncremented(int newFrame)
|
|
||||||
{
|
|
||||||
this.Text = $"Current frame: {newFrame}";
|
|
||||||
}
|
|
||||||
|
|
||||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
public override void _Process(double delta)
|
|
||||||
{
|
|
||||||
if (TAS.CurrentFrame == 0)
|
|
||||||
{
|
|
||||||
this.Disabled = true;
|
|
||||||
TAS.ResetSpeedup();
|
|
||||||
this.isButtonPressed = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
this.Disabled = false;
|
|
||||||
|
|
||||||
if (this.isButtonPressed)
|
|
||||||
{
|
|
||||||
TAS.RegressWithSpeedup(delta);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
using Godot;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
public partial class ResetFramesButton : Button
|
|
||||||
{
|
|
||||||
// Called when the node enters the scene tree for the first time.
|
|
||||||
public override void _Ready()
|
|
||||||
{
|
|
||||||
TAS_System TAS = GetNode<TAS_System>("/root/TAS_System");
|
|
||||||
this.Pressed += () => { TAS.ResetFrameCount(); };
|
|
||||||
}
|
|
||||||
|
|
||||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
public override void _Process(double delta)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
using Godot;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
public partial class StartIncrementButton : Button
|
|
||||||
{
|
|
||||||
// Called when the node enters the scene tree for the first time.
|
|
||||||
public override void _Ready()
|
|
||||||
{
|
|
||||||
TAS_System TAS = GetNode<TAS_System>("/root/TAS_System");
|
|
||||||
this.Pressed += () => { TAS.StartIncrementingFrames(); };
|
|
||||||
}
|
|
||||||
|
|
||||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
public override void _Process(double delta)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
using Godot;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
public partial class StopIncrementButton : Button
|
|
||||||
{
|
|
||||||
// Called when the node enters the scene tree for the first time.
|
|
||||||
public override void _Ready()
|
|
||||||
{
|
|
||||||
TAS_System TAS = GetNode<TAS_System>("/root/TAS_System");
|
|
||||||
this.Pressed += () => { TAS.StopIncrementingFrames(); };
|
|
||||||
}
|
|
||||||
|
|
||||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
public override void _Process(double delta)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
extends Control
|
|
||||||
|
|
||||||
|
|
||||||
func _input(event):
|
|
||||||
var f: Callable
|
|
||||||
if event.is_pressed():
|
|
||||||
f = press
|
|
||||||
else:
|
|
||||||
f = release
|
|
||||||
if event.is_action("regress"):
|
|
||||||
f.call($FrameButtons/RegressButton)
|
|
||||||
elif event.is_action("advance"):
|
|
||||||
f.call($FrameButtons/AdvanceButton)
|
|
||||||
elif event.is_action("increment"):
|
|
||||||
if TAS_System.IsIncrementingFrames:
|
|
||||||
f.call($TASButtons/StopIncrementButton)
|
|
||||||
else:
|
|
||||||
f.call($TASButtons/StartIncrementButton)
|
|
||||||
|
|
||||||
|
|
||||||
func press(btn: Button):
|
|
||||||
btn.button_pressed = true
|
|
||||||
btn.pressed.emit()
|
|
||||||
btn.button_down.emit()
|
|
||||||
|
|
||||||
func release(btn: Button):
|
|
||||||
btn.button_pressed = false
|
|
||||||
btn.button_up.emit()
|
|
|
@ -1,146 +0,0 @@
|
||||||
[gd_scene load_steps=11 format=3 uid="uid://b1uf31ed6h0ir"]
|
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://UI/TAS UI/CurrentFrameLabel.cs" id="1_27u4w"]
|
|
||||||
[ext_resource type="Script" path="res://UI/TAS UI/TAS UI.gd" id="1_ytl0x"]
|
|
||||||
[ext_resource type="Script" path="res://UI/TAS UI/RegressButton.cs" id="2_fhmsa"]
|
|
||||||
[ext_resource type="AudioStream" uid="uid://cio6yfcnyf2lx" path="res://audio/note.wav" id="2_nsxig"]
|
|
||||||
[ext_resource type="Script" path="res://UI/TAS UI/Label2.gd" id="2_otida"]
|
|
||||||
[ext_resource type="Script" path="res://UI/TAS UI/AdvanceButton.cs" id="3_0ti6q"]
|
|
||||||
[ext_resource type="Script" path="res://UI/TAS UI/UIAudioPlayer.cs" id="3_251uv"]
|
|
||||||
[ext_resource type="Script" path="res://UI/TAS UI/StopIncrementButton.cs" id="4_4gd4c"]
|
|
||||||
[ext_resource type="Script" path="res://UI/TAS UI/StartIncrementButton.cs" id="5_5af83"]
|
|
||||||
[ext_resource type="Script" path="res://UI/TAS UI/ResetFramesButton.cs" id="6_nwwkv"]
|
|
||||||
|
|
||||||
[node name="TAS UI" type="Control"]
|
|
||||||
layout_mode = 3
|
|
||||||
anchors_preset = 15
|
|
||||||
anchor_right = 1.0
|
|
||||||
anchor_bottom = 1.0
|
|
||||||
grow_horizontal = 2
|
|
||||||
grow_vertical = 2
|
|
||||||
mouse_filter = 2
|
|
||||||
script = ExtResource("1_ytl0x")
|
|
||||||
|
|
||||||
[node name="ButtonSound" type="AudioStreamPlayer" parent="."]
|
|
||||||
stream = ExtResource("2_nsxig")
|
|
||||||
script = ExtResource("3_251uv")
|
|
||||||
|
|
||||||
[node name="DEBUG" type="Control" parent="."]
|
|
||||||
visible = false
|
|
||||||
layout_mode = 1
|
|
||||||
anchors_preset = 15
|
|
||||||
anchor_right = 1.0
|
|
||||||
anchor_bottom = 1.0
|
|
||||||
grow_horizontal = 2
|
|
||||||
grow_vertical = 2
|
|
||||||
mouse_filter = 2
|
|
||||||
|
|
||||||
[node name="Label" type="Label" parent="DEBUG"]
|
|
||||||
layout_mode = 1
|
|
||||||
anchors_preset = 2
|
|
||||||
anchor_top = 1.0
|
|
||||||
anchor_bottom = 1.0
|
|
||||||
offset_top = -26.0
|
|
||||||
offset_right = 199.0
|
|
||||||
grow_vertical = 0
|
|
||||||
text = "Current Frame: 0"
|
|
||||||
script = ExtResource("1_27u4w")
|
|
||||||
|
|
||||||
[node name="Label2" type="Label" parent="DEBUG"]
|
|
||||||
layout_mode = 1
|
|
||||||
anchors_preset = 2
|
|
||||||
anchor_top = 1.0
|
|
||||||
anchor_bottom = 1.0
|
|
||||||
offset_left = 2.0
|
|
||||||
offset_top = -55.0
|
|
||||||
offset_right = 201.0
|
|
||||||
offset_bottom = -29.0
|
|
||||||
grow_vertical = 0
|
|
||||||
text = "Current Frame: 0"
|
|
||||||
script = ExtResource("2_otida")
|
|
||||||
|
|
||||||
[node name="FrameButtons" type="Control" parent="."]
|
|
||||||
visible = false
|
|
||||||
layout_mode = 1
|
|
||||||
anchors_preset = 7
|
|
||||||
anchor_left = 0.5
|
|
||||||
anchor_top = 1.0
|
|
||||||
anchor_right = 0.5
|
|
||||||
anchor_bottom = 1.0
|
|
||||||
offset_left = -131.5
|
|
||||||
offset_top = -52.0
|
|
||||||
offset_right = 131.5
|
|
||||||
grow_horizontal = 2
|
|
||||||
grow_vertical = 0
|
|
||||||
|
|
||||||
[node name="RegressButton" type="Button" parent="FrameButtons"]
|
|
||||||
layout_mode = 1
|
|
||||||
anchors_preset = -1
|
|
||||||
anchor_right = 0.5
|
|
||||||
anchor_bottom = 1.0
|
|
||||||
grow_vertical = 2
|
|
||||||
focus_mode = 0
|
|
||||||
text = "Regress"
|
|
||||||
script = ExtResource("2_fhmsa")
|
|
||||||
|
|
||||||
[node name="AdvanceButton" type="Button" parent="FrameButtons"]
|
|
||||||
layout_mode = 1
|
|
||||||
anchors_preset = -1
|
|
||||||
anchor_left = 0.5
|
|
||||||
anchor_right = 1.0
|
|
||||||
anchor_bottom = 1.0
|
|
||||||
grow_vertical = 2
|
|
||||||
focus_mode = 0
|
|
||||||
disabled = true
|
|
||||||
text = "Advance"
|
|
||||||
script = ExtResource("3_0ti6q")
|
|
||||||
|
|
||||||
[node name="TASButtons" type="Control" parent="."]
|
|
||||||
visible = false
|
|
||||||
layout_mode = 1
|
|
||||||
anchors_preset = 3
|
|
||||||
anchor_left = 1.0
|
|
||||||
anchor_top = 1.0
|
|
||||||
anchor_right = 1.0
|
|
||||||
anchor_bottom = 1.0
|
|
||||||
offset_left = -205.0
|
|
||||||
offset_top = -103.0
|
|
||||||
grow_horizontal = 0
|
|
||||||
grow_vertical = 0
|
|
||||||
|
|
||||||
[node name="StopIncrementButton" type="Button" parent="TASButtons"]
|
|
||||||
layout_mode = 1
|
|
||||||
anchors_preset = 10
|
|
||||||
anchor_right = 1.0
|
|
||||||
offset_bottom = 31.0
|
|
||||||
grow_horizontal = 2
|
|
||||||
focus_mode = 0
|
|
||||||
text = "Stop Increment"
|
|
||||||
script = ExtResource("4_4gd4c")
|
|
||||||
|
|
||||||
[node name="StartIncrementButton" type="Button" parent="TASButtons"]
|
|
||||||
layout_mode = 1
|
|
||||||
anchors_preset = 14
|
|
||||||
anchor_top = 0.5
|
|
||||||
anchor_right = 1.0
|
|
||||||
anchor_bottom = 0.5
|
|
||||||
offset_top = -15.5
|
|
||||||
offset_bottom = 15.5
|
|
||||||
grow_horizontal = 2
|
|
||||||
grow_vertical = 2
|
|
||||||
focus_mode = 0
|
|
||||||
text = "Start Increment"
|
|
||||||
script = ExtResource("5_5af83")
|
|
||||||
|
|
||||||
[node name="ResetFramesButton" type="Button" parent="TASButtons"]
|
|
||||||
layout_mode = 1
|
|
||||||
anchors_preset = 12
|
|
||||||
anchor_top = 1.0
|
|
||||||
anchor_right = 1.0
|
|
||||||
anchor_bottom = 1.0
|
|
||||||
offset_top = -31.0
|
|
||||||
grow_horizontal = 2
|
|
||||||
grow_vertical = 0
|
|
||||||
focus_mode = 0
|
|
||||||
text = "Reset Frames"
|
|
||||||
script = ExtResource("6_nwwkv")
|
|
|
@ -1,15 +0,0 @@
|
||||||
using Godot;
|
|
||||||
using System;
|
|
||||||
|
|
||||||
public partial class UIAudioPlayer : AudioStreamPlayer
|
|
||||||
{
|
|
||||||
// Called when the node enters the scene tree for the first time.
|
|
||||||
public override void _Ready()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
// Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
||||||
public override void _Process(double delta)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
extends AnimationTree
|
|
||||||
|
|
||||||
var delta := 1.0 / float(Engine.physics_ticks_per_second)
|
|
||||||
|
|
||||||
func _ready():
|
|
||||||
TAS_System.FrameIncremented.connect(frame_inc)
|
|
||||||
TAS_System.FramesAdvanced.connect(frames_change)
|
|
||||||
TAS_System.FramesRegressed.connect(frames_change)
|
|
||||||
|
|
||||||
func frame_inc(_frame: int):
|
|
||||||
advance(delta)
|
|
||||||
|
|
||||||
func frames_change(start: int, end: int):
|
|
||||||
advance((end - start)*delta)
|
|
BIN
godot/audio/TricksterGhost.mp3 (Stored with Git LFS)
BIN
godot/audio/TricksterGhost.mp3 (Stored with Git LFS)
Binary file not shown.
|
@ -1,19 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="mp3"
|
|
||||||
type="AudioStreamMP3"
|
|
||||||
uid="uid://b88pn0htpxvo3"
|
|
||||||
path="res://.godot/imported/TricksterGhost.mp3-9e9257851e7178f1dea40efb12b41b62.mp3str"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/TricksterGhost.mp3"
|
|
||||||
dest_files=["res://.godot/imported/TricksterGhost.mp3-9e9257851e7178f1dea40efb12b41b62.mp3str"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
loop=false
|
|
||||||
loop_offset=0
|
|
||||||
bpm=0
|
|
||||||
beat_count=0
|
|
||||||
bar_beats=4
|
|
BIN
godot/audio/TricksterGhostNew.mp3 (Stored with Git LFS)
BIN
godot/audio/TricksterGhostNew.mp3 (Stored with Git LFS)
Binary file not shown.
|
@ -1,19 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="mp3"
|
|
||||||
type="AudioStreamMP3"
|
|
||||||
uid="uid://dw06bektw4j8m"
|
|
||||||
path="res://.godot/imported/TricksterGhostNew.mp3-04c37f493148cbf09dc4a34a27263367.mp3str"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/TricksterGhostNew.mp3"
|
|
||||||
dest_files=["res://.godot/imported/TricksterGhostNew.mp3-04c37f493148cbf09dc4a34a27263367.mp3str"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
loop=true
|
|
||||||
loop_offset=0.0
|
|
||||||
bpm=0.0
|
|
||||||
beat_count=0
|
|
||||||
bar_beats=4
|
|
Binary file not shown.
|
@ -1,24 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="wav"
|
|
||||||
type="AudioStreamWAV"
|
|
||||||
uid="uid://c5v6c6x05lqg3"
|
|
||||||
path="res://.godot/imported/billiard-clack.wav-3f99ec74be11d1cb465d3dc06a94b10f.sample"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/billiard-clack.wav"
|
|
||||||
dest_files=["res://.godot/imported/billiard-clack.wav-3f99ec74be11d1cb465d3dc06a94b10f.sample"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
force/8_bit=false
|
|
||||||
force/mono=false
|
|
||||||
force/max_rate=false
|
|
||||||
force/max_rate_hz=44100
|
|
||||||
edit/trim=false
|
|
||||||
edit/normalize=false
|
|
||||||
edit/loop_mode=0
|
|
||||||
edit/loop_begin=0
|
|
||||||
edit/loop_end=-1
|
|
||||||
compress/mode=0
|
|
Binary file not shown.
|
@ -1,24 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="wav"
|
|
||||||
type="AudioStreamWAV"
|
|
||||||
uid="uid://ckhf7ksthi053"
|
|
||||||
path="res://.godot/imported/charge.wav-9ea0e7ab134da578b6f69151780ec24f.sample"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/charge.wav"
|
|
||||||
dest_files=["res://.godot/imported/charge.wav-9ea0e7ab134da578b6f69151780ec24f.sample"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
force/8_bit=false
|
|
||||||
force/mono=false
|
|
||||||
force/max_rate=false
|
|
||||||
force/max_rate_hz=44100
|
|
||||||
edit/trim=false
|
|
||||||
edit/normalize=false
|
|
||||||
edit/loop_mode=0
|
|
||||||
edit/loop_begin=0
|
|
||||||
edit/loop_end=-1
|
|
||||||
compress/mode=0
|
|
BIN
godot/audio/error.mp3 (Stored with Git LFS)
BIN
godot/audio/error.mp3 (Stored with Git LFS)
Binary file not shown.
|
@ -1,19 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="mp3"
|
|
||||||
type="AudioStreamMP3"
|
|
||||||
uid="uid://bg07vavc0duo5"
|
|
||||||
path="res://.godot/imported/error.mp3-e904d198a343e1da5de4876587f3ccef.mp3str"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/error.mp3"
|
|
||||||
dest_files=["res://.godot/imported/error.mp3-e904d198a343e1da5de4876587f3ccef.mp3str"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
loop=false
|
|
||||||
loop_offset=0
|
|
||||||
bpm=0
|
|
||||||
beat_count=0
|
|
||||||
bar_beats=4
|
|
Binary file not shown.
|
@ -1,24 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="wav"
|
|
||||||
type="AudioStreamWAV"
|
|
||||||
uid="uid://d2ncd2qoklbbe"
|
|
||||||
path="res://.godot/imported/impact.wav-606f8b40b78eec03bfd2693747f9e1cb.sample"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/impact.wav"
|
|
||||||
dest_files=["res://.godot/imported/impact.wav-606f8b40b78eec03bfd2693747f9e1cb.sample"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
force/8_bit=false
|
|
||||||
force/mono=false
|
|
||||||
force/max_rate=false
|
|
||||||
force/max_rate_hz=44100
|
|
||||||
edit/trim=false
|
|
||||||
edit/normalize=false
|
|
||||||
edit/loop_mode=0
|
|
||||||
edit/loop_begin=0
|
|
||||||
edit/loop_end=-1
|
|
||||||
compress/mode=0
|
|
Binary file not shown.
|
@ -1,24 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="wav"
|
|
||||||
type="AudioStreamWAV"
|
|
||||||
uid="uid://cio6yfcnyf2lx"
|
|
||||||
path="res://.godot/imported/note.wav-f74766d8f2fafbaa9729bf4b58d8f300.sample"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://audio/note.wav"
|
|
||||||
dest_files=["res://.godot/imported/note.wav-f74766d8f2fafbaa9729bf4b58d8f300.sample"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
force/8_bit=false
|
|
||||||
force/mono=false
|
|
||||||
force/max_rate=false
|
|
||||||
force/max_rate_hz=44100
|
|
||||||
edit/trim=false
|
|
||||||
edit/normalize=false
|
|
||||||
edit/loop_mode=0
|
|
||||||
edit/loop_begin=0
|
|
||||||
edit/loop_end=-1
|
|
||||||
compress/mode=0
|
|
BIN
godot/balloon.glb (Stored with Git LFS)
BIN
godot/balloon.glb (Stored with Git LFS)
Binary file not shown.
|
@ -1,50 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="scene"
|
|
||||||
importer_version=1
|
|
||||||
type="PackedScene"
|
|
||||||
uid="uid://dl005e2rvn86b"
|
|
||||||
path="res://.godot/imported/balloon.glb-1dbd4246a6d2ad23da187ebfe5c7e652.scn"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://balloon.glb"
|
|
||||||
dest_files=["res://.godot/imported/balloon.glb-1dbd4246a6d2ad23da187ebfe5c7e652.scn"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
nodes/root_type="Node3D"
|
|
||||||
nodes/root_name="Scene Root"
|
|
||||||
nodes/apply_root_scale=true
|
|
||||||
nodes/root_scale=1.0
|
|
||||||
meshes/ensure_tangents=true
|
|
||||||
meshes/generate_lods=true
|
|
||||||
meshes/create_shadow_meshes=true
|
|
||||||
meshes/light_baking=1
|
|
||||||
meshes/lightmap_texel_size=0.2
|
|
||||||
skins/use_named_skins=true
|
|
||||||
animation/import=true
|
|
||||||
animation/fps=30
|
|
||||||
animation/trimming=false
|
|
||||||
animation/remove_immutable_tracks=true
|
|
||||||
import_script/path="res://physics/import_billiard.gd"
|
|
||||||
_subresources={
|
|
||||||
"materials": {
|
|
||||||
"balloon": {
|
|
||||||
"use_external/enabled": true,
|
|
||||||
"use_external/path": "res://Objects/balloon/balloon_material_standard.tres"
|
|
||||||
},
|
|
||||||
"string": {
|
|
||||||
"use_external/enabled": true,
|
|
||||||
"use_external/path": "res://Objects/balloon/string.tres"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nodes": {
|
|
||||||
"PATH:Balloon": {
|
|
||||||
"generate/physics": true,
|
|
||||||
"physics/body_type": 1,
|
|
||||||
"physics/shape_type": 3
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
gltf/embedded_image_handling=1
|
|
BIN
godot/cake.glb (Stored with Git LFS)
BIN
godot/cake.glb (Stored with Git LFS)
Binary file not shown.
|
@ -1,53 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="scene"
|
|
||||||
importer_version=1
|
|
||||||
type="PackedScene"
|
|
||||||
uid="uid://djj412h1ien4o"
|
|
||||||
path="res://.godot/imported/cake.glb-e60e073e8642f273d1a78ec90c85894b.scn"
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://cake.glb"
|
|
||||||
dest_files=["res://.godot/imported/cake.glb-e60e073e8642f273d1a78ec90c85894b.scn"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
nodes/root_type="Node3D"
|
|
||||||
nodes/root_name="Scene Root"
|
|
||||||
nodes/apply_root_scale=true
|
|
||||||
nodes/root_scale=1.0
|
|
||||||
meshes/ensure_tangents=true
|
|
||||||
meshes/generate_lods=true
|
|
||||||
meshes/create_shadow_meshes=true
|
|
||||||
meshes/light_baking=1
|
|
||||||
meshes/lightmap_texel_size=0.2
|
|
||||||
skins/use_named_skins=true
|
|
||||||
animation/import=true
|
|
||||||
animation/fps=30
|
|
||||||
animation/trimming=false
|
|
||||||
animation/remove_immutable_tracks=true
|
|
||||||
import_script/path="res://physics/import_billiard.gd"
|
|
||||||
_subresources={
|
|
||||||
"materials": {
|
|
||||||
"cake": {
|
|
||||||
"use_external/enabled": true,
|
|
||||||
"use_external/path": "res://cake.tres"
|
|
||||||
},
|
|
||||||
"candles": {
|
|
||||||
"use_external/enabled": true,
|
|
||||||
"use_external/path": "res://candles.tres"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nodes": {
|
|
||||||
"PATH:cake2": {
|
|
||||||
"generate/physics": true,
|
|
||||||
"physics/body_type": 1,
|
|
||||||
"physics/shape_type": 5,
|
|
||||||
"primitive/height": 0.244,
|
|
||||||
"primitive/position": Vector3(0, 0.042, 0),
|
|
||||||
"primitive/radius": 0.219
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
gltf/embedded_image_handling=1
|
|
|
@ -1,12 +0,0 @@
|
||||||
[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://b8htfw5f1a4wf"]
|
|
||||||
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dhyh1g25bmhtf" path="res://cake_cake_albedo.png" id="1_jefwg"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://cer3pk0fspi1c" path="res://cake_cake_normals.png" id="2_55xkl"]
|
|
||||||
|
|
||||||
[resource]
|
|
||||||
resource_name = "cake"
|
|
||||||
vertex_color_use_as_albedo = true
|
|
||||||
albedo_texture = ExtResource("1_jefwg")
|
|
||||||
roughness = 0.5
|
|
||||||
normal_enabled = true
|
|
||||||
normal_texture = ExtResource("2_55xkl")
|
|
|
@ -1,8 +0,0 @@
|
||||||
[gd_scene load_steps=2 format=3 uid="uid://cx4ohbn84hmc3"]
|
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://djj412h1ien4o" path="res://cake.glb" id="1_q3mni"]
|
|
||||||
|
|
||||||
[node name="cake" instance=ExtResource("1_q3mni")]
|
|
||||||
|
|
||||||
[node name="CollisionShape3D" parent="." index="4"]
|
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0367587, 0)
|
|
BIN
godot/cake_cake_albedo.png (Stored with Git LFS)
BIN
godot/cake_cake_albedo.png (Stored with Git LFS)
Binary file not shown.
|
@ -1,36 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://dhyh1g25bmhtf"
|
|
||||||
path.bptc="res://.godot/imported/cake_cake_albedo.png-8e7e933b04d67a69b2a262d9cdfe2bb0.bptc.ctex"
|
|
||||||
metadata={
|
|
||||||
"imported_formats": ["s3tc_bptc"],
|
|
||||||
"vram_texture": true
|
|
||||||
}
|
|
||||||
generator_parameters={}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://cake_cake_albedo.png"
|
|
||||||
dest_files=["res://.godot/imported/cake_cake_albedo.png-8e7e933b04d67a69b2a262d9cdfe2bb0.bptc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=2
|
|
||||||
compress/high_quality=true
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=true
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=0
|
|
BIN
godot/cake_cake_normals.png (Stored with Git LFS)
BIN
godot/cake_cake_normals.png (Stored with Git LFS)
Binary file not shown.
|
@ -1,36 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://cer3pk0fspi1c"
|
|
||||||
path.bptc="res://.godot/imported/cake_cake_normals.png-85023f0c4cf5997d4101eb078e7a1400.bptc.ctex"
|
|
||||||
metadata={
|
|
||||||
"imported_formats": ["s3tc_bptc"],
|
|
||||||
"vram_texture": true
|
|
||||||
}
|
|
||||||
generator_parameters={}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://cake_cake_normals.png"
|
|
||||||
dest_files=["res://.godot/imported/cake_cake_normals.png-85023f0c4cf5997d4101eb078e7a1400.bptc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=2
|
|
||||||
compress/high_quality=true
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=1
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=true
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=1
|
|
||||||
roughness/src_normal="res://cake_cake_normals.png"
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=0
|
|
|
@ -1,8 +0,0 @@
|
||||||
[gd_resource type="StandardMaterial3D" format=3 uid="uid://li4gdaji6poj"]
|
|
||||||
|
|
||||||
[resource]
|
|
||||||
resource_name = "candles"
|
|
||||||
cull_mode = 2
|
|
||||||
vertex_color_use_as_albedo = true
|
|
||||||
albedo_color = Color(0.453326, 0, 0.0696221, 1)
|
|
||||||
roughness = 0.5
|
|
BIN
godot/child.glb (Stored with Git LFS)
BIN
godot/child.glb (Stored with Git LFS)
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
godot/child_Child_Colour.png (Stored with Git LFS)
BIN
godot/child_Child_Colour.png (Stored with Git LFS)
Binary file not shown.
|
@ -1,35 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://ykvmuu6gxuom"
|
|
||||||
path.s3tc="res://.godot/imported/child_Child_Colour.png-f361e4e6aa172920dd7d8097cc2e5595.s3tc.ctex"
|
|
||||||
metadata={
|
|
||||||
"imported_formats": ["s3tc_bptc"],
|
|
||||||
"vram_texture": true
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://child_Child_Colour.png"
|
|
||||||
dest_files=["res://.godot/imported/child_Child_Colour.png-f361e4e6aa172920dd7d8097cc2e5595.s3tc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=2
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=0
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=true
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=0
|
|
||||||
roughness/src_normal=""
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=0
|
|
BIN
godot/child_Child_Normal.png (Stored with Git LFS)
BIN
godot/child_Child_Normal.png (Stored with Git LFS)
Binary file not shown.
|
@ -1,35 +0,0 @@
|
||||||
[remap]
|
|
||||||
|
|
||||||
importer="texture"
|
|
||||||
type="CompressedTexture2D"
|
|
||||||
uid="uid://cgwi7p5178xwg"
|
|
||||||
path.s3tc="res://.godot/imported/child_Child_Normal.png-2c56fd0195c1c8de3aa3abb3c7b11f2f.s3tc.ctex"
|
|
||||||
metadata={
|
|
||||||
"imported_formats": ["s3tc_bptc"],
|
|
||||||
"vram_texture": true
|
|
||||||
}
|
|
||||||
|
|
||||||
[deps]
|
|
||||||
|
|
||||||
source_file="res://child_Child_Normal.png"
|
|
||||||
dest_files=["res://.godot/imported/child_Child_Normal.png-2c56fd0195c1c8de3aa3abb3c7b11f2f.s3tc.ctex"]
|
|
||||||
|
|
||||||
[params]
|
|
||||||
|
|
||||||
compress/mode=2
|
|
||||||
compress/high_quality=false
|
|
||||||
compress/lossy_quality=0.7
|
|
||||||
compress/hdr_compression=1
|
|
||||||
compress/normal_map=1
|
|
||||||
compress/channel_pack=0
|
|
||||||
mipmaps/generate=true
|
|
||||||
mipmaps/limit=-1
|
|
||||||
roughness/mode=1
|
|
||||||
roughness/src_normal="res://child_Child_Normal.png"
|
|
||||||
process/fix_alpha_border=true
|
|
||||||
process/premult_alpha=false
|
|
||||||
process/normal_map_invert_y=false
|
|
||||||
process/hdr_as_srgb=false
|
|
||||||
process/hdr_clamp_exposure=false
|
|
||||||
process/size_limit=0
|
|
||||||
detect_3d/compress_to=0
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue