tutorial level; rolltime indicator

This commit is contained in:
mehbark 2025-05-30 15:13:12 -04:00
parent 94c0e72571
commit 963fffb053
23 changed files with 384 additions and 29 deletions

View file

@ -48,7 +48,6 @@ func any_at(pos: Vector2i, filter: Callable) -> bool:
func type_at(pos: Vector2i, type: Piece.Type) -> Piece:
return find_piece_at(pos, func(p): return p.type == type)
# TODO: ball collisions
func solid_at(pos: Vector2i) -> bool:
return any_at(pos, func(p): return p.type == Piece.Type.Wall or p.type == Piece.Type.Ball or p.type == Piece.Type.Player)
@ -65,6 +64,12 @@ func add_pieces(piece: Array[Piece]):
for p in piece:
add_piece(p)
func player() -> Piece:
for piece in pieces():
if piece.type == Piece.Type.Player:
return piece
return null
var last_tween: Tween = null
func finish_tween():

View file

@ -0,0 +1,25 @@
extends Board
var ball: Piece
var goal: Piece
func _ready() -> void:
for piece in pieces():
if piece.type == Piece.Type.Ball:
ball = piece
if piece.type == Piece.Type.Goal:
goal = piece
super()
func won() -> bool:
return ball.lpos + ball.lvel == goal.lpos
func good() -> bool:
return (ball.lpos.x == 2 and ball.lvel.x <= 3) or won()
func _process(_delta: float) -> void:
$Move.visible = player().lpos.y != 1 and good() and not won()
$Push.visible = player().lpos.y == 1 and good() and not won()
$Undo.visible = not good()
$Wait.visible = won()
$ControlsMove.visible = $Move.visible or $Push.visible

View file

@ -0,0 +1 @@
uid://b810s7nmn58xc

View file

@ -1,14 +1,21 @@
[gd_scene load_steps=7 format=3 uid="uid://dl5w8rbk60gwm"]
[gd_scene load_steps=14 format=3 uid="uid://dl5w8rbk60gwm"]
[ext_resource type="Script" uid="uid://c8ywa33v3jq7t" path="res://board.gd" id="1_tgj2k"]
[ext_resource type="Script" uid="uid://b810s7nmn58xc" path="res://level/player_barrier_01.gd" id="1_s4for"]
[ext_resource type="PackedScene" uid="uid://bkaa4sl1n2f5w" path="res://piece/wall.tscn" id="2_s4for"]
[ext_resource type="PackedScene" uid="uid://bghr6ew34loyb" path="res://piece/ball.tscn" id="3_pphtv"]
[ext_resource type="PackedScene" uid="uid://cnjmu3qesbndk" path="res://piece/player.tscn" id="4_lac8a"]
[ext_resource type="PackedScene" uid="uid://uf8vnylfqal1" path="res://piece/goal.tscn" id="5_p20hb"]
[ext_resource type="PackedScene" uid="uid://bxgv16ue166pp" path="res://piece/player_barrier.tscn" id="6_s4for"]
[ext_resource type="Texture2D" uid="uid://c05eohxftv8ik" path="res://ui/tutorial/controls-move.png" id="7_pphtv"]
[ext_resource type="Texture2D" uid="uid://bx2w4iba3aed6" path="res://ui/tutorial/move.png" id="8_lac8a"]
[ext_resource type="Texture2D" uid="uid://7aj3ilj87fha" path="res://ui/tutorial/push.png" id="9_p20hb"]
[ext_resource type="Texture2D" uid="uid://gysr2704m0u0" path="res://ui/tutorial/undo.png" id="10_er5tk"]
[ext_resource type="Texture2D" uid="uid://cfky5x4dk210f" path="res://ui/tutorial/wait.png" id="11_ci1ry"]
[ext_resource type="Texture2D" uid="uid://cx3usiaoto6wd" path="res://ui/tutorial/controls-undo.png" id="11_qyynt"]
[ext_resource type="Texture2D" uid="uid://bpv5ll4mvchhn" path="res://ui/tutorial/controls-wait.png" id="12_vfclq"]
[node name="Level1" type="Node3D"]
script = ExtResource("1_tgj2k")
script = ExtResource("1_s4for")
metadata/_custom_type_script = "uid://c8ywa33v3jq7t"
[node name="Wall" parent="." instance=ExtResource("2_s4for")]
@ -32,25 +39,25 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.5, 0.6, 0.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0.6, 0.5)
[node name="Wall10" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.600054, 4.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.600054, 5.5)
[node name="Wall11" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0.6, 4.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0.6, 5.5)
[node name="Wall12" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0.6, 4.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0.6, 5.5)
[node name="Wall13" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.5, 0.6, 4.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.5, 0.6, 5.5)
[node name="Wall14" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0.6, 4.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.5, 0.6, 5.5)
[node name="Wall15" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.5, 0.6, 4.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.5, 0.6, 5.5)
[node name="Wall16" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0.6, 4.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0.6, 5.5)
[node name="Wall8" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0.6, 1.5)
@ -59,14 +66,20 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0.6, 1.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0.6, 2.5)
[node name="Wall17" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0.6, 3.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0.6, 4.5)
[node name="Wall23" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.6, 2.5)
[node name="Wall25" parent="." instance=ExtResource("2_s4for")]
[node name="Wall18" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.5, 0.6, 3.5)
[node name="Wall26" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.6, 3.5)
[node name="Wall25" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.6, 4.5)
[node name="Wall24" parent="." instance=ExtResource("2_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.6, 1.5)
@ -74,17 +87,21 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 0.6, 1.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0.3, 1.5)
[node name="Player" parent="." instance=ExtResource("4_lac8a")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 1, 1.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 1, 3.5)
[node name="Goal2" parent="." instance=ExtResource("5_p20hb")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.5, 0, 1.5)
[node name="PlayerBarrier" parent="." instance=ExtResource("6_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0.5, 3.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0.5, 4.5)
[node name="PlayerBarrier2" parent="." instance=ExtResource("6_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0.5, 2.5)
[node name="PlayerBarrier6" parent="." instance=ExtResource("6_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0.5, 3.5)
type = 0
[node name="PlayerBarrier3" parent="." instance=ExtResource("6_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.5, 0.5, 1.5)
@ -92,4 +109,37 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.5, 0.5, 1.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.5, 0.5, 2.5)
[node name="PlayerBarrier5" parent="." instance=ExtResource("6_s4for")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0.5, 3.5)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 0.5, 4.5)
[node name="ControlsMove" type="Sprite2D" parent="."]
texture_filter = 1
position = Vector2(194, 426)
texture = ExtResource("7_pphtv")
[node name="Move" type="Sprite2D" parent="."]
texture_filter = 1
position = Vector2(187, 228)
texture = ExtResource("8_lac8a")
[node name="Push" type="Sprite2D" parent="."]
texture_filter = 1
position = Vector2(193, 224)
texture = ExtResource("9_p20hb")
[node name="Undo" type="Sprite2D" parent="."]
texture_filter = 1
position = Vector2(189, 233)
texture = ExtResource("10_er5tk")
[node name="ControlsUndo" type="Sprite2D" parent="Undo"]
position = Vector2(13, 196)
texture = ExtResource("11_qyynt")
[node name="Wait" type="Sprite2D" parent="."]
texture_filter = 1
position = Vector2(192, 232)
texture = ExtResource("11_ci1ry")
[node name="ControlsWait" type="Sprite2D" parent="Wait"]
position = Vector2(8, 201)
texture = ExtResource("12_vfclq")

19
main.gd
View file

@ -6,6 +6,7 @@ extends Node3D
# we lose some sokobanness, but is that a bad thing?
@onready var camera: Camera3D = $Camera
@onready var rolltime_indicator: Sprite2D = $RolltimeIndicator
# TODO: wall that player cannot go through but balls can
# (important)
@ -16,13 +17,7 @@ var player: Piece
var level_num := -1
# TODO: instead of dumb numbered levels, GIVE THEM GOOD NAMES AND MANUALLY ORDER THEM!
var levels: Array[PackedScene] = [
#preload("res://level/test_nightmare_mini.tscn"),
#preload("res://level/test_nightmare.tscn"),
#preload("res://level/level_00.tscn"),
#preload("res://level/level_01.tscn"),
#preload("res://level/level_02.tscn"),
#preload("res://level/level_03.tscn"),
#preload("res://level/level_04.tscn"),
preload("res://level/player_barrier_01.tscn"),
]
# TODO: sun movement takes exactly as much time as all piece movement
@ -45,8 +40,7 @@ func _process(delta: float) -> void:
$RedoButton.disabled = not hist.has_redo()
$RestartButton.disabled = not hist.has_undo()
# TODO: make this toggleable
$Clock.text = "T = %d\n%d FPS\n%f hold time\n%f arrf" % \
[time, Engine.get_frames_per_second(), move_hold_time, arrf(move_hold_time)]
$Clock.text = "T = %d" % time
var slowmo := Input.is_action_pressed("slowmo");
$SlowmoIndicator.text = "slowmo" if slowmo else ""
# TODO: only slowmo during rolltime?
@ -126,7 +120,10 @@ func board_step():
last_sun_tween.custom_step(413)
last_sun_tween.kill()
var tween := get_tree().create_tween()
tween.tween_property($Sun, "rotation_degrees:y", -15*time, anim_time)
tween.parallel().tween_property(rolltime_indicator, "modulate:a", 0.15, 0.07)
tween.tween_property(rolltime_indicator, "modulate:a", 0, 0.1)
last_sun_tween = tween
)
hist.add_undo_property(self, "time", time)
@ -200,9 +197,7 @@ func advance_level():
if board: board.queue_free()
board = levels[level_num].instantiate()
add_child(board)
for piece in board.pieces():
if piece.type == Piece.Type.Player:
player = piece
player = board.player()
$TopLeft.aabb = board.top_left_aabb()
$BottomRight.aabb = board.bottom_right_aabb()
var center := (board.top_left_aabb().position + board.bottom_right_aabb().position)/2

View file

@ -1,10 +1,11 @@
[gd_scene load_steps=14 format=3 uid="uid://lrk2whqxl0w0"]
[gd_scene load_steps=15 format=3 uid="uid://lrk2whqxl0w0"]
[ext_resource type="Script" uid="uid://c707s0tgd88pg" path="res://main.gd" id="1_ig7tw"]
[ext_resource type="Texture2D" uid="uid://crahyipmcudoy" path="res://ui/undo.png" id="3_lquwl"]
[ext_resource type="Texture2D" uid="uid://dyj5el5iro1cb" path="res://ui/redo.png" id="4_7mycd"]
[ext_resource type="Texture2D" uid="uid://cbb1q0usxd6ex" path="res://ui/restart.png" id="5_272bh"]
[ext_resource type="Shader" uid="uid://c7e17bwc7nrgt" path="res://ground.gdshader" id="5_lquwl"]
[ext_resource type="Texture2D" uid="uid://q6x7t05nx1d1" path="res://ui/rolltime-indicator.png" id="6_7mycd"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_1bvp3"]
sky_top_color = Color(0.467272, 0.753409, 0.87431, 1)
@ -121,6 +122,11 @@ vertical_alignment = 1
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.01, 0)
mesh = SubResource("PlaneMesh_1bvp3")
[node name="RolltimeIndicator" type="Sprite2D" parent="."]
modulate = Color(1, 1, 1, 0)
texture = ExtResource("6_7mycd")
centered = false
[connection signal="pressed" from="UndoButton" to="." method="undo"]
[connection signal="pressed" from="RedoButton" to="." method="redo"]
[connection signal="pressed" from="RestartButton" to="." method="restart"]

View file

@ -101,6 +101,7 @@ wait={
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":46,"key_label":0,"unicode":46,"location":0,"echo":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":false,"script":null)
]
}
slowmo={

BIN
ui/rolltime-indicator.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://q6x7t05nx1d1"
path="res://.godot/imported/rolltime-indicator.png-c5c14c2983b8a33e9ca19f04385a0157.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://ui/rolltime-indicator.png"
dest_files=["res://.godot/imported/rolltime-indicator.png-c5c14c2983b8a33e9ca19f04385a0157.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
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=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c05eohxftv8ik"
path="res://.godot/imported/controls-move.png-72d64749d55c53a63ce5349e6dd99e86.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://ui/tutorial/controls-move.png"
dest_files=["res://.godot/imported/controls-move.png-72d64749d55c53a63ce5349e6dd99e86.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
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=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cx3usiaoto6wd"
path="res://.godot/imported/controls-undo.png-f24ce79a7dbea319702caa15080e21d5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://ui/tutorial/controls-undo.png"
dest_files=["res://.godot/imported/controls-undo.png-f24ce79a7dbea319702caa15080e21d5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
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=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bpv5ll4mvchhn"
path="res://.godot/imported/controls-wait.png-ac0f3e63ac7a42cd07d2d631e25da4dc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://ui/tutorial/controls-wait.png"
dest_files=["res://.godot/imported/controls-wait.png-ac0f3e63ac7a42cd07d2d631e25da4dc.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
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=1

BIN
ui/tutorial/move.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bx2w4iba3aed6"
path="res://.godot/imported/move.png-cb9fa542bbd32443e1b1eec2d0591dfc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://ui/tutorial/move.png"
dest_files=["res://.godot/imported/move.png-cb9fa542bbd32443e1b1eec2d0591dfc.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
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=1

BIN
ui/tutorial/push.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://7aj3ilj87fha"
path="res://.godot/imported/push.png-89a57858aa45d81381eed76203ffc81e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://ui/tutorial/push.png"
dest_files=["res://.godot/imported/push.png-89a57858aa45d81381eed76203ffc81e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
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=1

BIN
ui/tutorial/undo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://gysr2704m0u0"
path="res://.godot/imported/undo.png-297b9e53eb44f784edb79bfed9a1926b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://ui/tutorial/undo.png"
dest_files=["res://.godot/imported/undo.png-297b9e53eb44f784edb79bfed9a1926b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
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=1

BIN
ui/tutorial/wait.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cfky5x4dk210f"
path="res://.godot/imported/wait.png-53da4992d753d0e522cd3735ef23f95e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://ui/tutorial/wait.png"
dest_files=["res://.godot/imported/wait.png-53da4992d753d0e522cd3735ef23f95e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
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=1