InitCommit
update 1.4.2 source code
BIN
ui_scenes/spriteEditMenu/arrows.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
34
ui_scenes/spriteEditMenu/arrows.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c43lmtk2g6dgg"
|
||||
path="res://.godot/imported/arrows.png-cd4ac20d5cd574239ab8aca2a1c34839.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/arrows.png"
|
||||
dest_files=["res://.godot/imported/arrows.png-cd4ac20d5cd574239ab8aca2a1c34839.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_scenes/spriteEditMenu/blink.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
34
ui_scenes/spriteEditMenu/blink.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://doxw3dy86i2e4"
|
||||
path="res://.godot/imported/blink.png-27fe359927a4ee68fcf70755bf742260.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/blink.png"
|
||||
dest_files=["res://.godot/imported/blink.png-27fe359927a4ee68fcf70755bf742260.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_scenes/spriteEditMenu/bonusMenu.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
34
ui_scenes/spriteEditMenu/bonusMenu.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dc7lhw84ky0fj"
|
||||
path="res://.godot/imported/bonusMenu.png-de00038bb06822571dfc4e11b8dbef5d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/bonusMenu.png"
|
||||
dest_files=["res://.godot/imported/bonusMenu.png-de00038bb06822571dfc4e11b8dbef5d.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_scenes/spriteEditMenu/border.png
Normal file
|
After Width: | Height: | Size: 28 KiB |
34
ui_scenes/spriteEditMenu/border.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://4tbpehro4x5p"
|
||||
path="res://.godot/imported/border.png-1d3c045faaa3c97ca457bc2240984d88.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/border.png"
|
||||
dest_files=["res://.godot/imported/border.png-1d3c045faaa3c97ca457bc2240984d88.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_scenes/spriteEditMenu/buh.png
Normal file
|
After Width: | Height: | Size: 224 B |
34
ui_scenes/spriteEditMenu/buh.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://7antbeiop3my"
|
||||
path="res://.godot/imported/buh.png-f30b4988f1365e4f23e6e503a0cbb6d2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/buh.png"
|
||||
dest_files=["res://.godot/imported/buh.png-f30b4988f1365e4f23e6e503a0cbb6d2.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
|
||||
28
ui_scenes/spriteEditMenu/chain.gd
Normal file
@@ -0,0 +1,28 @@
|
||||
extends Node2D
|
||||
|
||||
@onready var line = $Line2D
|
||||
@onready var plug = $Plug
|
||||
|
||||
func _ready():
|
||||
Global.chain = self
|
||||
|
||||
func _process(delta):
|
||||
ohYeah()
|
||||
|
||||
|
||||
func ohYeah():
|
||||
if Global.heldSprite != null:
|
||||
global_position = Global.heldSprite.global_position
|
||||
line.clear_points()
|
||||
line.add_point(Vector2.ZERO)
|
||||
line.add_point(to_local(get_global_mouse_position()))
|
||||
|
||||
plug.position = get_local_mouse_position()
|
||||
|
||||
plug.look_at(global_position)
|
||||
plug.rotation_degrees += 180
|
||||
|
||||
func enable(enabled):
|
||||
ohYeah()
|
||||
set_process(enabled)
|
||||
visible = enabled
|
||||
17
ui_scenes/spriteEditMenu/chain.gdshader
Normal file
@@ -0,0 +1,17 @@
|
||||
shader_type canvas_item;
|
||||
|
||||
uniform float speed;
|
||||
|
||||
uniform sampler2D backImg: repeat_enable;
|
||||
|
||||
uniform sampler2D palette;
|
||||
uniform float palette_speed = 0.1;
|
||||
|
||||
void fragment(){
|
||||
|
||||
vec2 scroll = vec2(1.0,0.0) * TIME * speed;
|
||||
vec4 tex = texture(TEXTURE, (UV));
|
||||
float palette_swap = mod(tex.r - TIME * palette_speed, 1.0);
|
||||
COLOR = vec4(texture(palette, vec2(palette_swap, 0)).rgb, tex.a);
|
||||
|
||||
}
|
||||
BIN
ui_scenes/spriteEditMenu/chain.png
Normal file
|
After Width: | Height: | Size: 357 B |
34
ui_scenes/spriteEditMenu/chain.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://8reh84he7n6b"
|
||||
path="res://.godot/imported/chain.png-aa371e4cfd7240a8951980d99260c8c8.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/chain.png"
|
||||
dest_files=["res://.godot/imported/chain.png-aa371e4cfd7240a8951980d99260c8c8.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
|
||||
34
ui_scenes/spriteEditMenu/chain.tscn
Normal file
@@ -0,0 +1,34 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://6ah4i0nx1tu6"]
|
||||
|
||||
[ext_resource type="Script" path="res://ui_scenes/spriteEditMenu/chain.gd" id="1_66udn"]
|
||||
[ext_resource type="Shader" path="res://ui_scenes/spriteEditMenu/chain.gdshader" id="2_58fpx"]
|
||||
[ext_resource type="Texture2D" uid="uid://7antbeiop3my" path="res://ui_scenes/spriteEditMenu/buh.png" id="3_rsife"]
|
||||
[ext_resource type="Texture2D" uid="uid://cc5kaiuc8ikpx" path="res://ui_scenes/spriteEditMenu/plug.png" id="4_gywbm"]
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_bmcbo"]
|
||||
offsets = PackedFloat32Array(0, 0.0235294, 0.155294, 0.176471, 0.324706, 0.341176, 0.475294, 0.503529, 0.665882, 0.689412, 0.84, 0.849412)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_vomwt"]
|
||||
gradient = SubResource("Gradient_bmcbo")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_12eg4"]
|
||||
shader = ExtResource("2_58fpx")
|
||||
shader_parameter/speed = null
|
||||
shader_parameter/palette_speed = 1.0
|
||||
shader_parameter/palette = SubResource("GradientTexture1D_vomwt")
|
||||
|
||||
[node name="Chain" type="Node2D"]
|
||||
script = ExtResource("1_66udn")
|
||||
|
||||
[node name="Line2D" type="Line2D" parent="."]
|
||||
texture_repeat = 2
|
||||
material = SubResource("ShaderMaterial_12eg4")
|
||||
points = PackedVector2Array(0, 0, 0, 139)
|
||||
texture = ExtResource("3_rsife")
|
||||
texture_mode = 2
|
||||
|
||||
[node name="Plug" type="Sprite2D" parent="."]
|
||||
position = Vector2(0, 140)
|
||||
rotation = 1.5708
|
||||
texture = ExtResource("4_gywbm")
|
||||
BIN
ui_scenes/spriteEditMenu/failed.png
Normal file
|
After Width: | Height: | Size: 30 KiB |
34
ui_scenes/spriteEditMenu/failed.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://hunniqiw3ss4"
|
||||
path="res://.godot/imported/failed.png-8c2f2d9a86fdb14fe1ec5162e429b772.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/failed.png"
|
||||
dest_files=["res://.godot/imported/failed.png-8c2f2d9a86fdb14fe1ec5162e429b772.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_scenes/spriteEditMenu/flip.png
Normal file
|
After Width: | Height: | Size: 192 B |
34
ui_scenes/spriteEditMenu/flip.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bqrmbdfkm8j0"
|
||||
path="res://.godot/imported/flip.png-c52d53053c0678a83f493c6ece9d99fc.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/flip.png"
|
||||
dest_files=["res://.godot/imported/flip.png-c52d53053c0678a83f493c6ece9d99fc.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_scenes/spriteEditMenu/grab.png
Normal file
|
After Width: | Height: | Size: 923 B |
34
ui_scenes/spriteEditMenu/grab.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b26x6kss2fvsi"
|
||||
path="res://.godot/imported/grab.png-391ea9ad5da111abc5745de162201ff2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/grab.png"
|
||||
dest_files=["res://.godot/imported/grab.png-391ea9ad5da111abc5745de162201ff2.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_scenes/spriteEditMenu/layerButtons/1.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
34
ui_scenes/spriteEditMenu/layerButtons/1.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://buesrv3jthcwo"
|
||||
path="res://.godot/imported/1.png-c964c57ac16ed8445df811a892974b9e.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/layerButtons/1.png"
|
||||
dest_files=["res://.godot/imported/1.png-c964c57ac16ed8445df811a892974b9e.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_scenes/spriteEditMenu/layerButtons/10.png
Normal file
|
After Width: | Height: | Size: 6.0 KiB |
34
ui_scenes/spriteEditMenu/layerButtons/10.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dxxj6jvajo37s"
|
||||
path="res://.godot/imported/10.png-53b8c233c862897a1801f00ca5b91143.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/layerButtons/10.png"
|
||||
dest_files=["res://.godot/imported/10.png-53b8c233c862897a1801f00ca5b91143.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_scenes/spriteEditMenu/layerButtons/2.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
34
ui_scenes/spriteEditMenu/layerButtons/2.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bdvjefbn67h7n"
|
||||
path="res://.godot/imported/2.png-fcd8e4822b5d45b020884fae579ffad6.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/layerButtons/2.png"
|
||||
dest_files=["res://.godot/imported/2.png-fcd8e4822b5d45b020884fae579ffad6.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_scenes/spriteEditMenu/layerButtons/3.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
34
ui_scenes/spriteEditMenu/layerButtons/3.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bnibv326xsq7i"
|
||||
path="res://.godot/imported/3.png-d3d8465c848ce6e04210954c2e686de6.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/layerButtons/3.png"
|
||||
dest_files=["res://.godot/imported/3.png-d3d8465c848ce6e04210954c2e686de6.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_scenes/spriteEditMenu/layerButtons/4.png
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
34
ui_scenes/spriteEditMenu/layerButtons/4.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://eliiptsl55ih"
|
||||
path="res://.godot/imported/4.png-f0b346137efd9ce5ba35d7e45288242a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/layerButtons/4.png"
|
||||
dest_files=["res://.godot/imported/4.png-f0b346137efd9ce5ba35d7e45288242a.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_scenes/spriteEditMenu/layerButtons/5.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
34
ui_scenes/spriteEditMenu/layerButtons/5.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bpe5knupjg6ws"
|
||||
path="res://.godot/imported/5.png-2721138294661855397af7f1f0cacab2.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/layerButtons/5.png"
|
||||
dest_files=["res://.godot/imported/5.png-2721138294661855397af7f1f0cacab2.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_scenes/spriteEditMenu/layerButtons/6.png
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
34
ui_scenes/spriteEditMenu/layerButtons/6.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://wjdyw8b0hjag"
|
||||
path="res://.godot/imported/6.png-97eac8704b8ee3e5e74f88e9679c4116.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/layerButtons/6.png"
|
||||
dest_files=["res://.godot/imported/6.png-97eac8704b8ee3e5e74f88e9679c4116.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_scenes/spriteEditMenu/layerButtons/7.png
Normal file
|
After Width: | Height: | Size: 5.0 KiB |
34
ui_scenes/spriteEditMenu/layerButtons/7.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b6jdxx3ojc0ay"
|
||||
path="res://.godot/imported/7.png-bcc61f675995aacff2c3362d6eff33de.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/layerButtons/7.png"
|
||||
dest_files=["res://.godot/imported/7.png-bcc61f675995aacff2c3362d6eff33de.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_scenes/spriteEditMenu/layerButtons/8.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
34
ui_scenes/spriteEditMenu/layerButtons/8.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://drcl08v4k3laj"
|
||||
path="res://.godot/imported/8.png-763b593b8b32a724d1db4509d8a801c5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/layerButtons/8.png"
|
||||
dest_files=["res://.godot/imported/8.png-763b593b8b32a724d1db4509d8a801c5.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_scenes/spriteEditMenu/layerButtons/9.png
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
34
ui_scenes/spriteEditMenu/layerButtons/9.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://byyf5t56u3fq8"
|
||||
path="res://.godot/imported/9.png-ec48b6dc5bfd532c14acb3548aa66b05.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/layerButtons/9.png"
|
||||
dest_files=["res://.godot/imported/9.png-ec48b6dc5bfd532c14acb3548aa66b05.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_scenes/spriteEditMenu/layerButtons/select.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
34
ui_scenes/spriteEditMenu/layerButtons/select.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b48v7hw1dtc8m"
|
||||
path="res://.godot/imported/select.png-acda2821561d766a3818d2b9981a6740.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/layerButtons/select.png"
|
||||
dest_files=["res://.godot/imported/select.png-acda2821561d766a3818d2b9981a6740.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_scenes/spriteEditMenu/plug.png
Normal file
|
After Width: | Height: | Size: 182 B |
34
ui_scenes/spriteEditMenu/plug.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cc5kaiuc8ikpx"
|
||||
path="res://.godot/imported/plug.png-0fe3e640c939f846b5e68adc8b7a4851.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/plug.png"
|
||||
dest_files=["res://.godot/imported/plug.png-0fe3e640c939f846b5e68adc8b7a4851.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_scenes/spriteEditMenu/replace.png
Normal file
|
After Width: | Height: | Size: 353 B |
34
ui_scenes/spriteEditMenu/replace.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://0bjtyfc31lo"
|
||||
path="res://.godot/imported/replace.png-f8efe0eba97b167736ef654d7e526571.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/replace.png"
|
||||
dest_files=["res://.godot/imported/replace.png-f8efe0eba97b167736ef654d7e526571.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_scenes/spriteEditMenu/rotBack.png
Normal file
|
After Width: | Height: | Size: 3.1 KiB |
34
ui_scenes/spriteEditMenu/rotBack.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cx6cdgsr13ycu"
|
||||
path="res://.godot/imported/rotBack.png-d1cfd1f1ffe498ededa56517446979eb.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/rotBack.png"
|
||||
dest_files=["res://.godot/imported/rotBack.png-d1cfd1f1ffe498ededa56517446979eb.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_scenes/spriteEditMenu/rotBorder.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
34
ui_scenes/spriteEditMenu/rotBorder.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c3aoy45qvlbnp"
|
||||
path="res://.godot/imported/rotBorder.png-5a505914f521664cdc88251bf28f177a.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/rotBorder.png"
|
||||
dest_files=["res://.godot/imported/rotBorder.png-5a505914f521664cdc88251bf28f177a.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_scenes/spriteEditMenu/rotFill.png
Normal file
|
After Width: | Height: | Size: 398 B |
34
ui_scenes/spriteEditMenu/rotFill.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b874fy2eslmx"
|
||||
path="res://.godot/imported/rotFill.png-441c89c9e607ae1c76127269d2edfa04.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/rotFill.png"
|
||||
dest_files=["res://.godot/imported/rotFill.png-441c89c9e607ae1c76127269d2edfa04.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_scenes/spriteEditMenu/rotLineDisplay.png
Normal file
|
After Width: | Height: | Size: 789 B |
34
ui_scenes/spriteEditMenu/rotLineDisplay.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://b2gal5hyecwmt"
|
||||
path="res://.godot/imported/rotLineDisplay.png-5e6f57a640835b828f9273b0e746b291.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/rotLineDisplay.png"
|
||||
dest_files=["res://.godot/imported/rotLineDisplay.png-5e6f57a640835b828f9273b0e746b291.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_scenes/spriteEditMenu/speaking.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
34
ui_scenes/spriteEditMenu/speaking.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bd68uiemrcy5v"
|
||||
path="res://.godot/imported/speaking.png-b398ab9f6be014558ed9a3f4f653bd52.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/speaking.png"
|
||||
dest_files=["res://.godot/imported/speaking.png-b398ab9f6be014558ed9a3f4f653bd52.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
|
||||
340
ui_scenes/spriteEditMenu/sprite_viewer.gd
Normal file
@@ -0,0 +1,340 @@
|
||||
extends Node2D
|
||||
|
||||
#Node Reference
|
||||
@onready var spriteSpin = $SubViewportContainer/SubViewport/Node3D/Sprite3D
|
||||
|
||||
@onready var parentSpin = $SubViewportContainer2/SubViewport/Node3D/Sprite3D
|
||||
|
||||
@onready var spriteRotDisplay = $RotationalLimits/RotBack/SpriteDisplay
|
||||
|
||||
|
||||
@onready var coverCollider = $Area2D/CollisionShape2D
|
||||
|
||||
|
||||
func _ready():
|
||||
Global.spriteEdit = self
|
||||
|
||||
func setImage():
|
||||
if Global.heldSprite == null:
|
||||
return
|
||||
|
||||
spriteSpin.texture = Global.heldSprite.tex
|
||||
spriteSpin.pixel_size = 1.5 / Global.heldSprite.imageData.get_size().y
|
||||
spriteSpin.hframes = Global.heldSprite.frames
|
||||
|
||||
spriteRotDisplay.texture = Global.heldSprite.tex
|
||||
spriteRotDisplay.offset = Global.heldSprite.offset
|
||||
var displaySize = Global.heldSprite.imageData.get_size().y
|
||||
spriteRotDisplay.scale = Vector2(1,1) * (150.0/displaySize)
|
||||
|
||||
$Slider/Label.text = "drag: " + str(Global.heldSprite.dragSpeed)
|
||||
$Slider/DragSlider.value = Global.heldSprite.dragSpeed
|
||||
|
||||
$WobbleControl/xFrqLabel.text = "x frequency: " + str(Global.heldSprite.xFrq)
|
||||
$WobbleControl/xAmpLabel.text = "x amplitude: " + str(Global.heldSprite.xAmp)
|
||||
|
||||
$WobbleControl/xFrq.value = Global.heldSprite.xFrq
|
||||
$WobbleControl/xAmp.value = Global.heldSprite.xAmp
|
||||
|
||||
$WobbleControl/yFrqLabel.text = "y frequency: " + str(Global.heldSprite.yFrq)
|
||||
$WobbleControl/yAmpLabel.text = "y amplitude: " + str(Global.heldSprite.yAmp)
|
||||
|
||||
$WobbleControl/yFrq.value = Global.heldSprite.yFrq
|
||||
$WobbleControl/yAmp.value = Global.heldSprite.yAmp
|
||||
|
||||
$Rotation/rDragLabel.text = "rotational drag: " + str(Global.heldSprite.rdragStr)
|
||||
$Rotation/rDrag.value = Global.heldSprite.rdragStr
|
||||
|
||||
$Buttons/Speaking.frame = Global.heldSprite.showOnTalk
|
||||
$Buttons/Blinking.frame = Global.heldSprite.showOnBlink
|
||||
|
||||
$RotationalLimits/rotLimitMin.value = Global.heldSprite.rLimitMin
|
||||
$RotationalLimits/RotLimitMin.text = "rotational limit min: " + str(Global.heldSprite.rLimitMin)
|
||||
$RotationalLimits/rotLimitMax.value = Global.heldSprite.rLimitMax
|
||||
$RotationalLimits/RotLimitMax.text = "rotational limit max: " + str(Global.heldSprite.rLimitMax)
|
||||
|
||||
$Rotation/squashlabel.text = "squash: " + str(Global.heldSprite.stretchAmount)
|
||||
$Rotation/squash.value = Global.heldSprite.stretchAmount
|
||||
|
||||
$Position/fileTitle.text = Global.heldSprite.path
|
||||
|
||||
$Buttons/CheckBox.button_pressed = Global.heldSprite.ignoreBounce
|
||||
$Buttons/ClipLinked.button_pressed = Global.heldSprite.clipped
|
||||
|
||||
$Animation/animSpeedLabel.text = "animation speed: " + str(Global.heldSprite.animSpeed)
|
||||
$Animation/animSpeed.value = Global.heldSprite.animSpeed
|
||||
|
||||
$Animation/animFramesLabel.text = "sprite frames: " + str(Global.heldSprite.frames)
|
||||
$Animation/animFrames.value = Global.heldSprite.frames
|
||||
|
||||
|
||||
changeRotLimit()
|
||||
|
||||
setLayerButtons()
|
||||
|
||||
if Global.heldSprite.parentId == null:
|
||||
$Buttons/Unlink.visible = false
|
||||
parentSpin.visible = false
|
||||
else:
|
||||
$Buttons/Unlink.visible = true
|
||||
|
||||
var nodes = get_tree().get_nodes_in_group(str(Global.heldSprite.parentId))
|
||||
|
||||
if nodes.size()<=0:
|
||||
return
|
||||
|
||||
parentSpin.texture = nodes[0].tex
|
||||
parentSpin.pixel_size = 1.5 / nodes[0].imageData.get_size().y
|
||||
parentSpin.hframes = nodes[0].frames
|
||||
parentSpin.visible = true
|
||||
|
||||
func _process(delta):
|
||||
|
||||
visible = Global.heldSprite != null
|
||||
coverCollider.disabled = !visible
|
||||
|
||||
if !visible:
|
||||
return
|
||||
|
||||
var obj = Global.heldSprite
|
||||
spriteSpin.rotate_y(delta*4.0)
|
||||
parentSpin.rotate_y(delta*4.0)
|
||||
|
||||
$Position/Label.text = "position X : "+str(obj.position.x)+" Y: " + str(obj.position.y)
|
||||
$Position/Label2.text = "offset X : "+str(obj.offset.x)+" Y: " + str(obj.offset.y)
|
||||
$Position/Label3.text = "layer : "+str(obj.z)
|
||||
|
||||
#Sprite Rotational Limit Display
|
||||
|
||||
var size = Global.heldSprite.rLimitMax - Global.heldSprite.rLimitMin
|
||||
var minimum = Global.heldSprite.rLimitMin
|
||||
|
||||
spriteRotDisplay.rotation_degrees = sin(Global.animationTick*0.05)*(size/2.0)+(minimum+(size/2.0))
|
||||
$RotationalLimits/RotBack/RotLineDisplay3.rotation_degrees = spriteRotDisplay.rotation_degrees
|
||||
|
||||
|
||||
func _on_drag_slider_value_changed(value):
|
||||
if Global.heldSprite != null:
|
||||
$Slider/Label.text = "drag: " + str(value)
|
||||
Global.heldSprite.dragSpeed = value
|
||||
|
||||
|
||||
func _on_x_frq_value_changed(value):
|
||||
$WobbleControl/xFrqLabel.text = "x frequency: " + str(value)
|
||||
Global.heldSprite.xFrq = value
|
||||
|
||||
|
||||
func _on_x_amp_value_changed(value):
|
||||
$WobbleControl/xAmpLabel.text = "x amplitude: " + str(value)
|
||||
Global.heldSprite.xAmp = value
|
||||
|
||||
|
||||
func _on_y_frq_value_changed(value):
|
||||
$WobbleControl/yFrqLabel.text = "y frequency: " + str(value)
|
||||
Global.heldSprite.yFrq = value
|
||||
|
||||
func _on_y_amp_value_changed(value):
|
||||
$WobbleControl/yAmpLabel.text = "y amplitude: " + str(value)
|
||||
Global.heldSprite.yAmp = value
|
||||
|
||||
|
||||
func _on_r_drag_value_changed(value):
|
||||
$Rotation/rDragLabel.text = "rotational drag: " + str(value)
|
||||
Global.heldSprite.rdragStr = value
|
||||
|
||||
|
||||
func _on_speaking_pressed():
|
||||
var f = $Buttons/Speaking.frame
|
||||
f = (f+1) % 3
|
||||
|
||||
$Buttons/Speaking.frame = f
|
||||
Global.heldSprite.showOnTalk = f
|
||||
|
||||
|
||||
func _on_blinking_pressed():
|
||||
var f = $Buttons/Blinking.frame
|
||||
f = (f+1) % 3
|
||||
|
||||
$Buttons/Blinking.frame = f
|
||||
Global.heldSprite.showOnBlink = f
|
||||
|
||||
|
||||
func _on_trash_pressed():
|
||||
Global.heldSprite.queue_free()
|
||||
Global.heldSprite = null
|
||||
|
||||
Global.spriteList.updateData()
|
||||
|
||||
func _on_unlink_pressed():
|
||||
if Global.heldSprite.parentId == null:
|
||||
return
|
||||
Global.unlinkSprite()
|
||||
setImage()
|
||||
|
||||
|
||||
func _on_rot_limit_min_value_changed(value):
|
||||
$RotationalLimits/RotLimitMin.text = "rotational limit min: " + str(value)
|
||||
Global.heldSprite.rLimitMin = value
|
||||
|
||||
changeRotLimit()
|
||||
|
||||
func _on_rot_limit_max_value_changed(value):
|
||||
$RotationalLimits/RotLimitMax.text = "rotational limit max: " + str(value)
|
||||
Global.heldSprite.rLimitMax = value
|
||||
|
||||
changeRotLimit()
|
||||
|
||||
func changeRotLimit():
|
||||
$RotationalLimits/RotBack/rotLimitBar.value = Global.heldSprite.rLimitMax - Global.heldSprite.rLimitMin
|
||||
$RotationalLimits/RotBack/rotLimitBar.rotation_degrees = Global.heldSprite.rLimitMin + 90
|
||||
|
||||
$RotationalLimits/RotBack/RotLineDisplay.rotation_degrees = Global.heldSprite.rLimitMin
|
||||
$RotationalLimits/RotBack/RotLineDisplay2.rotation_degrees = Global.heldSprite.rLimitMax
|
||||
|
||||
func setLayerButtons():
|
||||
var a = Global.heldSprite.costumeLayers.duplicate()
|
||||
|
||||
$Layers/Layer1.frame = 1-a[0]
|
||||
$Layers/Layer2.frame = 1-a[1]
|
||||
$Layers/Layer3.frame = 1-a[2]
|
||||
$Layers/Layer4.frame = 1-a[3]
|
||||
$Layers/Layer5.frame = 1-a[4]
|
||||
$Layers/Layer6.frame = 1-a[5]
|
||||
$Layers/Layer7.frame = 1-a[6]
|
||||
$Layers/Layer8.frame = 1-a[7]
|
||||
$Layers/Layer9.frame = 1-a[8]
|
||||
$Layers/Layer10.frame = 1-a[9]
|
||||
|
||||
var nodes = get_tree().get_nodes_in_group("saved")
|
||||
for sprite in nodes:
|
||||
if sprite.costumeLayers[Global.main.costume - 1] == 1:
|
||||
sprite.visible = true
|
||||
sprite.changeCollision(true)
|
||||
else:
|
||||
sprite.visible = false
|
||||
sprite.changeCollision(false)
|
||||
|
||||
|
||||
|
||||
func _on_layer_button_1_pressed():
|
||||
if Global.heldSprite.costumeLayers[0] == 0:
|
||||
Global.heldSprite.costumeLayers[0] = 1
|
||||
else:
|
||||
Global.heldSprite.costumeLayers[0] = 0
|
||||
setLayerButtons()
|
||||
|
||||
|
||||
func _on_layer_button_2_pressed():
|
||||
if Global.heldSprite.costumeLayers[1] == 0:
|
||||
Global.heldSprite.costumeLayers[1] = 1
|
||||
else:
|
||||
Global.heldSprite.costumeLayers[1] = 0
|
||||
setLayerButtons()
|
||||
|
||||
|
||||
func _on_layer_button_3_pressed():
|
||||
if Global.heldSprite.costumeLayers[2] == 0:
|
||||
Global.heldSprite.costumeLayers[2] = 1
|
||||
else:
|
||||
Global.heldSprite.costumeLayers[2] = 0
|
||||
setLayerButtons()
|
||||
|
||||
|
||||
func _on_layer_button_4_pressed():
|
||||
if Global.heldSprite.costumeLayers[3] == 0:
|
||||
Global.heldSprite.costumeLayers[3] = 1
|
||||
else:
|
||||
Global.heldSprite.costumeLayers[3] = 0
|
||||
setLayerButtons()
|
||||
|
||||
|
||||
func _on_layer_button_5_pressed():
|
||||
if Global.heldSprite.costumeLayers[4] == 0:
|
||||
Global.heldSprite.costumeLayers[4] = 1
|
||||
else:
|
||||
Global.heldSprite.costumeLayers[4] = 0
|
||||
setLayerButtons()
|
||||
|
||||
func _on_layer_button_6_pressed():
|
||||
if Global.heldSprite.costumeLayers[5] == 0:
|
||||
Global.heldSprite.costumeLayers[5] = 1
|
||||
else:
|
||||
Global.heldSprite.costumeLayers[5] = 0
|
||||
setLayerButtons()
|
||||
|
||||
func _on_layer_button_7_pressed():
|
||||
if Global.heldSprite.costumeLayers[6] == 0:
|
||||
Global.heldSprite.costumeLayers[6] = 1
|
||||
else:
|
||||
Global.heldSprite.costumeLayers[6] = 0
|
||||
setLayerButtons()
|
||||
|
||||
func _on_layer_button_8_pressed():
|
||||
if Global.heldSprite.costumeLayers[7] == 0:
|
||||
Global.heldSprite.costumeLayers[7] = 1
|
||||
else:
|
||||
Global.heldSprite.costumeLayers[7] = 0
|
||||
setLayerButtons()
|
||||
|
||||
func _on_layer_button_9_pressed():
|
||||
if Global.heldSprite.costumeLayers[8] == 0:
|
||||
Global.heldSprite.costumeLayers[8] = 1
|
||||
else:
|
||||
Global.heldSprite.costumeLayers[8] = 0
|
||||
setLayerButtons()
|
||||
|
||||
func _on_layer_button_10_pressed():
|
||||
if Global.heldSprite.costumeLayers[9] == 0:
|
||||
Global.heldSprite.costumeLayers[9] = 1
|
||||
else:
|
||||
Global.heldSprite.costumeLayers[9] = 0
|
||||
setLayerButtons()
|
||||
|
||||
func layerSelected():
|
||||
var newPos = Vector2.ZERO
|
||||
match Global.main.costume:
|
||||
1:
|
||||
newPos = $Layers/Layer1.position
|
||||
2:
|
||||
newPos = $Layers/Layer2.position
|
||||
3:
|
||||
newPos = $Layers/Layer3.position
|
||||
4:
|
||||
newPos = $Layers/Layer4.position
|
||||
5:
|
||||
newPos = $Layers/Layer5.position
|
||||
6:
|
||||
newPos = $Layers/Layer6.position
|
||||
7:
|
||||
newPos = $Layers/Layer7.position
|
||||
8:
|
||||
newPos = $Layers/Layer8.position
|
||||
9:
|
||||
newPos = $Layers/Layer9.position
|
||||
10:
|
||||
newPos = $Layers/Layer10.position
|
||||
$Layers/Select.position = newPos
|
||||
|
||||
|
||||
func _on_squash_value_changed(value):
|
||||
$Rotation/squashlabel.text = "squash: " + str(value)
|
||||
Global.heldSprite.stretchAmount = value
|
||||
|
||||
|
||||
func _on_check_box_toggled(button_pressed):
|
||||
Global.heldSprite.ignoreBounce = button_pressed
|
||||
|
||||
|
||||
func _on_anim_speed_value_changed(value):
|
||||
$Animation/animSpeedLabel.text = "animation speed: " + str(value)
|
||||
Global.heldSprite.animSpeed = value
|
||||
|
||||
func _on_anim_frames_value_changed(value):
|
||||
$Animation/animFramesLabel.text = "sprite frames: " + str(value)
|
||||
Global.heldSprite.frames = value
|
||||
spriteSpin.hframes = Global.heldSprite.frames
|
||||
Global.heldSprite.changeFrames()
|
||||
|
||||
|
||||
func _on_clip_linked_toggled(button_pressed):
|
||||
Global.heldSprite.setClip(button_pressed)
|
||||
62
ui_scenes/spriteEditMenu/sprite_viewer.gdshader
Normal file
@@ -0,0 +1,62 @@
|
||||
shader_type canvas_item;
|
||||
|
||||
uniform vec4 color : source_color;
|
||||
uniform float width : hint_range(0, 10) = 1.0;
|
||||
uniform int pattern : hint_range(0, 2) = 0; // diamond, circle, square
|
||||
uniform bool inside = false;
|
||||
uniform bool add_margins = true; // only useful when inside is false
|
||||
|
||||
void vertex() {
|
||||
if (add_margins) {
|
||||
VERTEX += (UV * 2.0 - 1.0) * width;
|
||||
}
|
||||
}
|
||||
|
||||
bool hasContraryNeighbour(vec2 uv, vec2 texture_pixel_size, sampler2D texture) {
|
||||
for (float i = -ceil(width); i <= ceil(width); i++) {
|
||||
float x = abs(i) > width ? width * sign(i) : i;
|
||||
float offset;
|
||||
|
||||
if (pattern == 0) {
|
||||
offset = width - abs(x);
|
||||
} else if (pattern == 1) {
|
||||
offset = floor(sqrt(pow(width + 0.5, 2) - x * x));
|
||||
} else if (pattern == 2) {
|
||||
offset = width;
|
||||
}
|
||||
|
||||
for (float j = -ceil(offset); j <= ceil(offset); j++) {
|
||||
float y = abs(j) > offset ? offset * sign(j) : j;
|
||||
vec2 xy = uv + texture_pixel_size * vec2(x, y);
|
||||
|
||||
if ((xy != clamp(xy, vec2(0.0), vec2(1.0)) || texture(texture, xy).a == 0.0) == inside) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
vec2 uv = UV;
|
||||
|
||||
if (add_margins) {
|
||||
vec2 texture_pixel_size = vec2(1.0) / (vec2(1.0) / TEXTURE_PIXEL_SIZE + vec2(width * 2.0));
|
||||
|
||||
uv = (uv - texture_pixel_size * width) * TEXTURE_PIXEL_SIZE / texture_pixel_size;
|
||||
|
||||
if (uv != clamp(uv, vec2(0.0), vec2(1.0))) {
|
||||
COLOR.a = 0.0;
|
||||
} else {
|
||||
COLOR = texture(TEXTURE, uv);
|
||||
}
|
||||
} else {
|
||||
COLOR = texture(TEXTURE, uv);
|
||||
}
|
||||
|
||||
if ((COLOR.a > 0.0) == inside && hasContraryNeighbour(uv, TEXTURE_PIXEL_SIZE, TEXTURE)) {
|
||||
COLOR.rgb = inside ? mix(COLOR.rgb, color.rgb, color.a) : color.rgb;
|
||||
COLOR.a += (1.0 - COLOR.a) * color.a;
|
||||
}
|
||||
}
|
||||
14857
ui_scenes/spriteEditMenu/sprite_viewer.tscn
Normal file
BIN
ui_scenes/spriteEditMenu/trash.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
34
ui_scenes/spriteEditMenu/trash.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dn5hs0pfutv1l"
|
||||
path="res://.godot/imported/trash.png-c1d9a16ad11c7c5ca9915b5fcfa82a71.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/trash.png"
|
||||
dest_files=["res://.godot/imported/trash.png-c1d9a16ad11c7c5ca9915b5fcfa82a71.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=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
ui_scenes/spriteEditMenu/unlink.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
34
ui_scenes/spriteEditMenu/unlink.png.import
Normal file
@@ -0,0 +1,34 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://jryy2sgvvyo8"
|
||||
path="res://.godot/imported/unlink.png-c1bef6c876d324962e1e8bf6a25c8628.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://ui_scenes/spriteEditMenu/unlink.png"
|
||||
dest_files=["res://.godot/imported/unlink.png-c1bef6c876d324962e1e8bf6a25c8628.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
|
||||