"Oi, SG!" Beginnings
BIN
graphics/hud/speccy/break_the_glass.png
Normal file
After Width: | Height: | Size: 257 B |
35
graphics/hud/speccy/break_the_glass.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/break_the_glass.png-322e406de2ce417c6947e7c51513424a.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graphics/hud/speccy/break_the_glass.png"
|
||||
dest_files=[ "res://.import/break_the_glass.png-322e406de2ce417c6947e7c51513424a.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
BIN
graphics/hud/speccy/go_get_em.png
Normal file
After Width: | Height: | Size: 225 B |
35
graphics/hud/speccy/go_get_em.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/go_get_em.png-80076e7e728e92f49b471d7986a620fe.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graphics/hud/speccy/go_get_em.png"
|
||||
dest_files=[ "res://.import/go_get_em.png-80076e7e728e92f49b471d7986a620fe.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
BIN
graphics/hud/speccy/kill_em_all.png
Normal file
After Width: | Height: | Size: 232 B |
35
graphics/hud/speccy/kill_em_all.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/kill_em_all.png-043b29a5fc7f16177492c344511e8a3a.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graphics/hud/speccy/kill_em_all.png"
|
||||
dest_files=[ "res://.import/kill_em_all.png-043b29a5fc7f16177492c344511e8a3a.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
BIN
graphics/hud/speccy/oi_go_right.png
Normal file
After Width: | Height: | Size: 241 B |
35
graphics/hud/speccy/oi_go_right.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/oi_go_right.png-23a20f2a0d8cb4ec57588e4ae39867a8.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graphics/hud/speccy/oi_go_right.png"
|
||||
dest_files=[ "res://.import/oi_go_right.png-23a20f2a0d8cb4ec57588e4ae39867a8.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
BIN
graphics/hud/speccy/over_here.png
Normal file
After Width: | Height: | Size: 228 B |
35
graphics/hud/speccy/over_here.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/over_here.png-aea3855eafdcaa5c5f0a21f9ac1c64a0.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graphics/hud/speccy/over_here.png"
|
||||
dest_files=[ "res://.import/over_here.png-aea3855eafdcaa5c5f0a21f9ac1c64a0.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
BIN
graphics/hud/speccy/shoot_that_thing.png
Normal file
After Width: | Height: | Size: 252 B |
35
graphics/hud/speccy/shoot_that_thing.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/shoot_that_thing.png-967594bf022da78bfe418a0ac5073eda.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graphics/hud/speccy/shoot_that_thing.png"
|
||||
dest_files=[ "res://.import/shoot_that_thing.png-967594bf022da78bfe418a0ac5073eda.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
BIN
graphics/hud/speccy/shoot_the_eye.png
Normal file
After Width: | Height: | Size: 250 B |
35
graphics/hud/speccy/shoot_the_eye.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/shoot_the_eye.png-483a88ff92e95a40ee9cfc88aa6084cb.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graphics/hud/speccy/shoot_the_eye.png"
|
||||
dest_files=[ "res://.import/shoot_the_eye.png-483a88ff92e95a40ee9cfc88aa6084cb.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
BIN
graphics/npc/speccy_talk.png
Normal file
After Width: | Height: | Size: 340 B |
35
graphics/npc/speccy_talk.png.import
Normal file
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/speccy_talk.png-0e5075eaf8cca73ab16668de5d45d342.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://graphics/npc/speccy_talk.png"
|
||||
dest_files=[ "res://.import/speccy_talk.png-0e5075eaf8cca73ab16668de5d45d342.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=false
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
|
@ -1,6 +1,7 @@
|
|||
[gd_scene load_steps=32 format=2]
|
||||
[gd_scene load_steps=33 format=2]
|
||||
|
||||
[ext_resource path="res://tilesets/t_death.tres" type="TileSet" id=1]
|
||||
[ext_resource path="res://objects/npc/speccy.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://tilesets/t_mountain.tres" type="TileSet" id=3]
|
||||
[ext_resource path="res://objects/hud/hud.tscn" type="PackedScene" id=4]
|
||||
[ext_resource path="res://objects/enemy/roboturret.tscn" type="PackedScene" id=5]
|
||||
|
@ -121,14 +122,12 @@ position = Vector2( 48, 120 )
|
|||
|
||||
[node name="AnimatedSprite" parent="RollingFiend" index="0"]
|
||||
visible = false
|
||||
frame = 1
|
||||
|
||||
[node name="SawTest2" type="AnimatedSprite" parent="RollingFiend"]
|
||||
material = SubResource( 4 )
|
||||
position = Vector2( 4, 4 )
|
||||
z_index = -3
|
||||
frames = SubResource( 5 )
|
||||
frame = 1
|
||||
playing = true
|
||||
|
||||
[node name="Steam" parent="." instance=ExtResource( 23 )]
|
||||
|
@ -204,4 +203,7 @@ position = Vector2( 144, 24 )
|
|||
[node name="FallingBlock" parent="." instance=ExtResource( 24 )]
|
||||
position = Vector2( 124, 96 )
|
||||
|
||||
[node name="speccy" parent="." instance=ExtResource( 2 )]
|
||||
position = Vector2( 82, 72 )
|
||||
|
||||
[editable path="RollingFiend"]
|
||||
|
|
180
objects/npc/speccy.tscn
Normal file
|
@ -0,0 +1,180 @@
|
|||
[gd_scene load_steps=11 format=2]
|
||||
|
||||
[ext_resource path="res://graphics/npc/speccy.png" type="Texture" id=1]
|
||||
[ext_resource path="res://shaders/beam_cycle.gdshader" type="Shader" id=2]
|
||||
[ext_resource path="res://graphics/enemy/boss/stg_2600/beam_gradient.png" type="Texture" id=3]
|
||||
[ext_resource path="res://graphics/hud/speccy/over_here.png" type="Texture" id=4]
|
||||
[ext_resource path="res://graphics/npc/speccy_talk.png" type="Texture" id=5]
|
||||
[ext_resource path="res://graphics/npc/speccy_cool.png" type="Texture" id=6]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=3]
|
||||
shader = ExtResource( 2 )
|
||||
shader_param/cycle_speed = 4.0
|
||||
shader_param/gradient = ExtResource( 3 )
|
||||
|
||||
[sub_resource type="AtlasTexture" id=4]
|
||||
atlas = ExtResource( 6 )
|
||||
region = Rect2( 72, 0, 24, 24 )
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Sprite:scale")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1, 1 ) ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath("Sprite/Overlay:modulate")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 1, 1, 1, 1 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath("Sprite2:scale")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 0.155205, 1 ) ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("Sprite:hframes")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/keys = {
|
||||
"times": PoolRealArray( 0 ),
|
||||
"transitions": PoolRealArray( 1 ),
|
||||
"update": 1,
|
||||
"values": [ 1 ]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id=2]
|
||||
resource_name = "fun"
|
||||
length = 3.0
|
||||
step = 0.05
|
||||
tracks/0/type = "value"
|
||||
tracks/0/path = NodePath("Sprite:scale")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"times": PoolRealArray( 0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.5, 0.6, 2.4, 2.5, 2.6, 2.65, 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 1e-05, 1 ), Vector2( 0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( -0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( 0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( -0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( 1.25, 0.833 ), Vector2( 1, 1 ), Vector2( 1, 1 ), Vector2( 1.25, 0.833 ), Vector2( 1e-05, 1 ), Vector2( -0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( 0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( -0.75, 1 ), Vector2( 1e-05, 1 ), Vector2( 0.75, 1 ), Vector2( 1e-05, 1 ) ]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/path = NodePath("Sprite/Overlay:modulate")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"times": PoolRealArray( 0, 0.5, 0.6, 2.4, 2.5, 3 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 1 ) ]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/path = NodePath("Sprite2:scale")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/keys = {
|
||||
"times": PoolRealArray( 0, 0.8, 0.9, 1, 1.65, 1.75, 1.85 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 0,
|
||||
"values": [ Vector2( 0, 0 ), Vector2( 1e-05, 1e-05 ), Vector2( 1.0418, 1 ), Vector2( 1, 0.96 ), Vector2( 1, 0.96 ), Vector2( 1.0418, 1 ), Vector2( 1e-05, 1e-05 ) ]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/path = NodePath("Sprite:texture")
|
||||
tracks/3/interp = 2
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/keys = {
|
||||
"times": PoolRealArray( 0, 0.75, 0.85, 0.95, 1.05, 1.15, 1.25, 1.4, 2 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1, 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ ExtResource( 1 ), ExtResource( 1 ), ExtResource( 5 ), ExtResource( 1 ), ExtResource( 5 ), ExtResource( 1 ), ExtResource( 5 ), ExtResource( 1 ), ExtResource( 6 ) ]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/path = NodePath("Sprite:hframes")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/keys = {
|
||||
"times": PoolRealArray( 0, 2 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ 1, 4 ]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/path = NodePath("Sprite:frame")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/keys = {
|
||||
"times": PoolRealArray( 0, 2, 2.05, 2.1, 2.15 ),
|
||||
"transitions": PoolRealArray( 1, 1, 1, 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ 0, 0, 1, 2, 3 ]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/path = NodePath("Sprite/Overlay:texture")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/keys = {
|
||||
"times": PoolRealArray( 0, 2.4 ),
|
||||
"transitions": PoolRealArray( 1, 1 ),
|
||||
"update": 1,
|
||||
"values": [ ExtResource( 1 ), SubResource( 4 ) ]
|
||||
}
|
||||
|
||||
[node name="speccy" type="Node2D"]
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="."]
|
||||
position = Vector2( 0, -12 )
|
||||
texture = ExtResource( 6 )
|
||||
offset = Vector2( -2, 0 )
|
||||
region_rect = Rect2( 1.015, 0, 0, 0 )
|
||||
|
||||
[node name="Overlay" type="Sprite" parent="Sprite"]
|
||||
material = SubResource( 3 )
|
||||
texture = SubResource( 4 )
|
||||
region_rect = Rect2( 1.015, 0, 0, 0 )
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
autoplay = "fun"
|
||||
anims/RESET = SubResource( 1 )
|
||||
anims/fun = SubResource( 2 )
|
||||
|
||||
[node name="Sprite2" type="Sprite" parent="."]
|
||||
position = Vector2( 0, -24 )
|
||||
scale = Vector2( 0.155205, 1 )
|
||||
texture = ExtResource( 4 )
|