Add checkbox for midi wobble.
This commit is contained in:
parent
ab9dfe47cb
commit
67eb441484
7 changed files with 586 additions and 392 deletions
|
@ -20,7 +20,7 @@ var i = 0
|
||||||
var reparentMode = false
|
var reparentMode = false
|
||||||
var scrollSelection = 0
|
var scrollSelection = 0
|
||||||
|
|
||||||
var backgroundColor = Color(0.0,0.0,0.0,0.0)
|
var backgroundColor = Color(0.0, 0.0, 0.0, 0.0)
|
||||||
|
|
||||||
#Blink
|
#Blink
|
||||||
var blinkSpeed = 1.0
|
var blinkSpeed = 1.0
|
||||||
|
@ -50,6 +50,7 @@ var updatePusherNode = null
|
||||||
|
|
||||||
var rand = RandomNumberGenerator.new()
|
var rand = RandomNumberGenerator.new()
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
spectrum = AudioServer.get_bus_effect_instance(1, 1)
|
spectrum = AudioServer.get_bus_effect_instance(1, 1)
|
||||||
|
|
||||||
|
@ -63,6 +64,7 @@ func _ready():
|
||||||
|
|
||||||
createMicrophone()
|
createMicrophone()
|
||||||
|
|
||||||
|
|
||||||
func createMicrophone():
|
func createMicrophone():
|
||||||
var playa = AudioStreamPlayer.new()
|
var playa = AudioStreamPlayer.new()
|
||||||
var mic = AudioStreamMicrophone.new()
|
var mic = AudioStreamMicrophone.new()
|
||||||
|
@ -79,6 +81,7 @@ func createMicrophone():
|
||||||
await get_tree().create_timer(0.25).timeout
|
await get_tree().create_timer(0.25).timeout
|
||||||
createMicrophone()
|
createMicrophone()
|
||||||
|
|
||||||
|
|
||||||
func deleteAllMics():
|
func deleteAllMics():
|
||||||
for child in get_children():
|
for child in get_children():
|
||||||
child.queue_free()
|
child.queue_free()
|
||||||
|
@ -89,9 +92,9 @@ func _process(delta):
|
||||||
|
|
||||||
volume = spectrum.get_magnitude_for_frequency_range(20, 20000).length()
|
volume = spectrum.get_magnitude_for_frequency_range(20, 20000).length()
|
||||||
if currentMicrophone != null:
|
if currentMicrophone != null:
|
||||||
volumeSensitivity = lerp(volumeSensitivity,0.0,delta*2)
|
volumeSensitivity = lerp(volumeSensitivity, 0.0, delta * 2)
|
||||||
|
|
||||||
if volume>volumeLimit:
|
if volume > volumeLimit:
|
||||||
volumeSensitivity = 1.0
|
volumeSensitivity = 1.0
|
||||||
|
|
||||||
var prev = speaking
|
var prev = speaking
|
||||||
|
@ -127,13 +130,10 @@ func _process(delta):
|
||||||
else:
|
else:
|
||||||
RenderingServer.set_default_clear_color(Color.GRAY)
|
RenderingServer.set_default_clear_color(Color.GRAY)
|
||||||
|
|
||||||
|
|
||||||
blinking()
|
blinking()
|
||||||
scrollSprites()
|
scrollSprites()
|
||||||
|
|
||||||
|
|
||||||
if !main.fileSystemOpen:
|
if !main.fileSystemOpen:
|
||||||
|
|
||||||
if Input.is_action_just_pressed("refresh"):
|
if Input.is_action_just_pressed("refresh"):
|
||||||
refresh()
|
refresh()
|
||||||
if Input.is_action_just_pressed("unlink"):
|
if Input.is_action_just_pressed("unlink"):
|
||||||
|
@ -145,7 +145,6 @@ func _process(delta):
|
||||||
|
|
||||||
|
|
||||||
func select(areas):
|
func select(areas):
|
||||||
|
|
||||||
if main.fileSystemOpen:
|
if main.fileSystemOpen:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -172,8 +171,8 @@ func select(areas):
|
||||||
heldSprite = areas[i].get_parent().get_parent().get_parent()
|
heldSprite = areas[i].get_parent().get_parent().get_parent()
|
||||||
|
|
||||||
var count = heldSprite.path.get_slice_count("/") - 1
|
var count = heldSprite.path.get_slice_count("/") - 1
|
||||||
var i1 = heldSprite.path.get_slice("/",count)
|
var i1 = heldSprite.path.get_slice("/", count)
|
||||||
pushUpdate("Selected sprite \"" + i1 + "\"" + ".")
|
pushUpdate('Selected sprite "' + i1 + '"' + ".")
|
||||||
|
|
||||||
heldSprite.set_physics_process(true)
|
heldSprite.set_physics_process(true)
|
||||||
|
|
||||||
|
@ -184,14 +183,15 @@ func select(areas):
|
||||||
if heldSprite.parentId == prevSpr.id:
|
if heldSprite.parentId == prevSpr.id:
|
||||||
return
|
return
|
||||||
|
|
||||||
linkSprite(prevSpr,heldSprite)
|
linkSprite(prevSpr, heldSprite)
|
||||||
Global.chain.enable(reparentMode)
|
Global.chain.enable(reparentMode)
|
||||||
|
|
||||||
lastArray = areas.duplicate()
|
lastArray = areas.duplicate()
|
||||||
|
|
||||||
spriteEdit.setImage()
|
spriteEdit.setImage()
|
||||||
|
|
||||||
func linkSprite(sprite,newParent):
|
|
||||||
|
func linkSprite(sprite, newParent):
|
||||||
if sprite == newParent:
|
if sprite == newParent:
|
||||||
reparentMode = false
|
reparentMode = false
|
||||||
|
|
||||||
|
@ -205,7 +205,7 @@ func linkSprite(sprite,newParent):
|
||||||
reparentMode = false
|
reparentMode = false
|
||||||
return
|
return
|
||||||
|
|
||||||
sprite.reparent(newParent.sprite,true)
|
sprite.reparent(newParent.sprite, true)
|
||||||
|
|
||||||
sprite.parentId = newParent.id
|
sprite.parentId = newParent.id
|
||||||
sprite.parentSprite = newParent
|
sprite.parentSprite = newParent
|
||||||
|
@ -215,16 +215,16 @@ func linkSprite(sprite,newParent):
|
||||||
Global.spriteList.updateData()
|
Global.spriteList.updateData()
|
||||||
|
|
||||||
var count = sprite.path.get_slice_count("/") - 1
|
var count = sprite.path.get_slice_count("/") - 1
|
||||||
var i1 = sprite.path.get_slice("/",count)
|
var i1 = sprite.path.get_slice("/", count)
|
||||||
|
|
||||||
count = newParent.path.get_slice_count("/") - 1
|
count = newParent.path.get_slice_count("/") - 1
|
||||||
var i2 = newParent.path.get_slice("/",count)
|
var i2 = newParent.path.get_slice("/", count)
|
||||||
|
|
||||||
pushUpdate("Linked sprite \"" + i1 + "\" to sprite \"" + i2 + "\".")
|
pushUpdate('Linked sprite "' + i1 + '" to sprite "' + i2 + '".')
|
||||||
newParent.set_physics_process(true)
|
newParent.set_physics_process(true)
|
||||||
|
|
||||||
func scrollSprites():
|
|
||||||
|
|
||||||
|
func scrollSprites():
|
||||||
if Input.is_action_pressed("control"):
|
if Input.is_action_pressed("control"):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -244,14 +244,13 @@ func scrollSprites():
|
||||||
scrollSelection = 0
|
scrollSelection = 0
|
||||||
|
|
||||||
if Input.is_action_just_pressed("scrollUp"):
|
if Input.is_action_just_pressed("scrollUp"):
|
||||||
scroll-=1
|
scroll -= 1
|
||||||
if Input.is_action_just_pressed("scrollDown"):
|
if Input.is_action_just_pressed("scrollDown"):
|
||||||
scroll+=1
|
scroll += 1
|
||||||
|
|
||||||
if scroll == 0:
|
if scroll == 0:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
var obj = get_tree().get_nodes_in_group("saved")
|
var obj = get_tree().get_nodes_in_group("saved")
|
||||||
|
|
||||||
if obj.size() <= 0:
|
if obj.size() <= 0:
|
||||||
|
@ -266,18 +265,19 @@ func scrollSprites():
|
||||||
heldSprite = obj[scrollSelection]
|
heldSprite = obj[scrollSelection]
|
||||||
|
|
||||||
var count = heldSprite.path.get_slice_count("/") - 1
|
var count = heldSprite.path.get_slice_count("/") - 1
|
||||||
var i1 = heldSprite.path.get_slice("/",count)
|
var i1 = heldSprite.path.get_slice("/", count)
|
||||||
pushUpdate("Selected sprite \"" + i1 + "\"" + ".")
|
pushUpdate('Selected sprite "' + i1 + '"' + ".")
|
||||||
|
|
||||||
heldSprite.set_physics_process(true)
|
heldSprite.set_physics_process(true)
|
||||||
|
|
||||||
spriteEdit.setImage()
|
spriteEdit.setImage()
|
||||||
|
|
||||||
|
|
||||||
func blinking():
|
func blinking():
|
||||||
blinkTick += 1
|
blinkTick += 1
|
||||||
if blinkTick == 0:
|
if blinkTick == 0:
|
||||||
blink = false
|
blink = false
|
||||||
if rand.randf_range(-1.0,1.0) > 0.5:
|
if rand.randf_range(-1.0, 1.0) > 0.5:
|
||||||
blinkTick = (420 * blinkSpeed) + 1
|
blinkTick = (420 * blinkSpeed) + 1
|
||||||
if blinkTick > 420 * blinkSpeed:
|
if blinkTick > 420 * blinkSpeed:
|
||||||
if rand.randi() % int(blinkChance) == 0:
|
if rand.randi() % int(blinkChance) == 0:
|
||||||
|
@ -285,6 +285,7 @@ func blinking():
|
||||||
|
|
||||||
blinkTick = -12
|
blinkTick = -12
|
||||||
|
|
||||||
|
|
||||||
func epicFail(err):
|
func epicFail(err):
|
||||||
print(fail)
|
print(fail)
|
||||||
if fail == null:
|
if fail == null:
|
||||||
|
@ -311,6 +312,7 @@ func epicFail(err):
|
||||||
await get_tree().create_timer(2.5).timeout
|
await get_tree().create_timer(2.5).timeout
|
||||||
fail.visible = false
|
fail.visible = false
|
||||||
|
|
||||||
|
|
||||||
func refresh():
|
func refresh():
|
||||||
var objs = get_tree().get_nodes_in_group("saved")
|
var objs = get_tree().get_nodes_in_group("saved")
|
||||||
for object in objs:
|
for object in objs:
|
||||||
|
@ -319,6 +321,7 @@ func refresh():
|
||||||
object.remadePolygon = false
|
object.remadePolygon = false
|
||||||
pushUpdate("Refreshed all sprites.")
|
pushUpdate("Refreshed all sprites.")
|
||||||
|
|
||||||
|
|
||||||
func unlinkSprite():
|
func unlinkSprite():
|
||||||
if heldSprite == null:
|
if heldSprite == null:
|
||||||
return
|
return
|
||||||
|
@ -326,7 +329,7 @@ func unlinkSprite():
|
||||||
return
|
return
|
||||||
|
|
||||||
var glob = heldSprite.global_position
|
var glob = heldSprite.global_position
|
||||||
glob = Vector2(int(glob.x),int(glob.y))
|
glob = Vector2(int(glob.x), int(glob.y))
|
||||||
|
|
||||||
heldSprite.get_parent().remove_child(heldSprite)
|
heldSprite.get_parent().remove_child(heldSprite)
|
||||||
main.origin.add_child(heldSprite)
|
main.origin.add_child(heldSprite)
|
||||||
|
@ -338,20 +341,22 @@ func unlinkSprite():
|
||||||
Global.spriteList.updateData()
|
Global.spriteList.updateData()
|
||||||
pushUpdate("Unlinked sprite.")
|
pushUpdate("Unlinked sprite.")
|
||||||
|
|
||||||
|
|
||||||
func saveImagesFromData():
|
func saveImagesFromData():
|
||||||
var sprites = get_tree().get_nodes_in_group("saved")
|
var sprites = get_tree().get_nodes_in_group("saved")
|
||||||
if sprites.size() <= 0:
|
if sprites.size() <= 0:
|
||||||
return
|
return
|
||||||
for sprite in sprites:
|
for sprite in sprites:
|
||||||
var img = sprite.imageData
|
var img = sprite.imageData
|
||||||
var array = sprite.path.split("/",false)
|
var array = sprite.path.split("/", false)
|
||||||
var length = sprite.path.length() - array[array.size()-1].length()
|
var length = sprite.path.length() - array[array.size() - 1].length()
|
||||||
|
|
||||||
DirAccess.make_dir_recursive_absolute(sprite.path.left(length-1))
|
DirAccess.make_dir_recursive_absolute(sprite.path.left(length - 1))
|
||||||
img.save_png(sprite.path)
|
img.save_png(sprite.path)
|
||||||
|
|
||||||
pushUpdate("Saved all avatar images to computer.")
|
pushUpdate("Saved all avatar images to computer.")
|
||||||
|
|
||||||
|
|
||||||
func pushUpdate(text):
|
func pushUpdate(text):
|
||||||
if is_instance_valid(updatePusherNode):
|
if is_instance_valid(updatePusherNode):
|
||||||
updatePusherNode.pushUpdate(text)
|
updatePusherNode.pushUpdate(text)
|
||||||
|
|
|
@ -5,7 +5,8 @@ var key = "creature"
|
||||||
var data = {}
|
var data = {}
|
||||||
|
|
||||||
var default = {
|
var default = {
|
||||||
"0": {
|
"0":
|
||||||
|
{
|
||||||
"drag": 0,
|
"drag": 0,
|
||||||
"identification": 930245150,
|
"identification": 930245150,
|
||||||
"offset": "Vector2(0, 0)",
|
"offset": "Vector2(0, 0)",
|
||||||
|
@ -16,12 +17,15 @@ var default = {
|
||||||
"showBlink": 0,
|
"showBlink": 0,
|
||||||
"showTalk": 0,
|
"showTalk": 0,
|
||||||
"type": "sprite",
|
"type": "sprite",
|
||||||
|
"useMidiWobble": false,
|
||||||
"xAmp": 9,
|
"xAmp": 9,
|
||||||
"xFrq": 0.002,
|
"xFrq": 0.002,
|
||||||
"yAmp": 11,
|
"yAmp": 11,
|
||||||
"yFrq": 0.004,
|
"yFrq": 0.004,
|
||||||
"zindex": -1 },
|
"zindex": -1
|
||||||
"1": {
|
},
|
||||||
|
"1":
|
||||||
|
{
|
||||||
"drag": 1,
|
"drag": 1,
|
||||||
"identification": 456157398,
|
"identification": 456157398,
|
||||||
"offset": "Vector2(0, 0)",
|
"offset": "Vector2(0, 0)",
|
||||||
|
@ -32,35 +36,170 @@ var default = {
|
||||||
"showBlink": 0,
|
"showBlink": 0,
|
||||||
"showTalk": 0,
|
"showTalk": 0,
|
||||||
"type": "sprite",
|
"type": "sprite",
|
||||||
|
"useMidiWobble": false,
|
||||||
"xAmp": 0,
|
"xAmp": 0,
|
||||||
"xFrq": 0,
|
"xFrq": 0,
|
||||||
"yAmp": 0,
|
"yAmp": 0,
|
||||||
"yFrq": 0,
|
"yFrq": 0,
|
||||||
"zindex": 0 },
|
"zindex": 0
|
||||||
"2": { "drag": 4, "identification": 928082759, "offset": "Vector2(0, 0)", "parentId": 456157398, "path": "user://defaultAvatar/hair.png", "pos": "Vector2(0, 0)", "rotDrag": 0, "showBlink": 0, "showTalk": 0, "type": "sprite", "xAmp": 0, "xFrq": 0, "yAmp": 0, "yFrq": 0, "zindex": -2 }, "3": { "drag": 0, "identification": 346749260, "offset": "Vector2(0, 0)", "parentId": 456157398, "path": "user://defaultAvatar/mouth1.png", "pos": "Vector2(0, 0)", "rotDrag": 0, "showBlink": 0, "showTalk": 1, "type": "sprite", "xAmp": 0, "xFrq": 0, "yAmp": 0, "yFrq": 0, "zindex": 0 }, "4": { "drag": 0, "identification": 348929106, "offset": "Vector2(0, 0)", "parentId": 456157398, "path": "user://defaultAvatar/mouth2.png", "pos": "Vector2(0, 0)", "rotDrag": 0, "showBlink": 0, "showTalk": 2, "type": "sprite", "xAmp": 0, "xFrq": 0, "yAmp": 0, "yFrq": 0, "zindex": 0 }, "5": { "drag": 0, "identification": 66364456, "offset": "Vector2(0, 0)", "parentId": 456157398, "path": "user://defaultAvatar/eye1.png", "pos": "Vector2(0, 0)", "rotDrag": 0, "showBlink": 1, "showTalk": 2, "type": "sprite", "xAmp": 0, "xFrq": 0, "yAmp": 0, "yFrq": 0, "zindex": 0 }, "6": { "drag": 0, "identification": 261040117, "offset": "Vector2(0, 0)", "parentId": 456157398, "path": "user://defaultAvatar/eye2.png", "pos": "Vector2(0, 0)", "rotDrag": 0, "showBlink": 1, "showTalk": 1, "type": "sprite", "xAmp": 0, "xFrq": 0, "yAmp": 0, "yFrq": 0, "zindex": 0 }, "7": { "drag": 0, "identification": 291459997, "offset": "Vector2(0, 0)", "parentId": 456157398, "path": "user://defaultAvatar/eye3.png", "pos": "Vector2(0, 0)", "rotDrag": 0, "showBlink": 2, "showTalk": 0, "type": "sprite", "xAmp": 0, "xFrq": 0, "yAmp": 0, "yFrq": 0, "zindex": 0 }, "8": { "drag": 0, "identification": 148065686, "offset": "Vector2(-74, 92)", "parentId": 456157398, "path": "user://defaultAvatar/hat.png", "pos": "Vector2(72, -89)", "rotDrag": -2, "showBlink": 0, "showTalk": 0, "type": "sprite", "xAmp": 0, "xFrq": 0, "yAmp": 0, "yFrq": 0, "zindex": 2 } }
|
},
|
||||||
|
"2":
|
||||||
|
{
|
||||||
|
"drag": 4,
|
||||||
|
"identification": 928082759,
|
||||||
|
"offset": "Vector2(0, 0)",
|
||||||
|
"parentId": 456157398,
|
||||||
|
"path": "user://defaultAvatar/hair.png",
|
||||||
|
"pos": "Vector2(0, 0)",
|
||||||
|
"rotDrag": 0,
|
||||||
|
"showBlink": 0,
|
||||||
|
"showTalk": 0,
|
||||||
|
"type": "sprite",
|
||||||
|
"useMidiWobble": false,
|
||||||
|
"xAmp": 0,
|
||||||
|
"xFrq": 0,
|
||||||
|
"yAmp": 0,
|
||||||
|
"yFrq": 0,
|
||||||
|
"zindex": -2
|
||||||
|
},
|
||||||
|
"3":
|
||||||
|
{
|
||||||
|
"drag": 0,
|
||||||
|
"identification": 346749260,
|
||||||
|
"offset": "Vector2(0, 0)",
|
||||||
|
"parentId": 456157398,
|
||||||
|
"path": "user://defaultAvatar/mouth1.png",
|
||||||
|
"pos": "Vector2(0, 0)",
|
||||||
|
"rotDrag": 0,
|
||||||
|
"showBlink": 0,
|
||||||
|
"showTalk": 1,
|
||||||
|
"type": "sprite",
|
||||||
|
"useMidiWobble": false,
|
||||||
|
"xAmp": 0,
|
||||||
|
"xFrq": 0,
|
||||||
|
"yAmp": 0,
|
||||||
|
"yFrq": 0,
|
||||||
|
"zindex": 0
|
||||||
|
},
|
||||||
|
"4":
|
||||||
|
{
|
||||||
|
"drag": 0,
|
||||||
|
"identification": 348929106,
|
||||||
|
"offset": "Vector2(0, 0)",
|
||||||
|
"parentId": 456157398,
|
||||||
|
"path": "user://defaultAvatar/mouth2.png",
|
||||||
|
"pos": "Vector2(0, 0)",
|
||||||
|
"rotDrag": 0,
|
||||||
|
"showBlink": 0,
|
||||||
|
"showTalk": 2,
|
||||||
|
"type": "sprite",
|
||||||
|
"useMidiWobble": false,
|
||||||
|
"xAmp": 0,
|
||||||
|
"xFrq": 0,
|
||||||
|
"yAmp": 0,
|
||||||
|
"yFrq": 0,
|
||||||
|
"zindex": 0
|
||||||
|
},
|
||||||
|
"5":
|
||||||
|
{
|
||||||
|
"drag": 0,
|
||||||
|
"identification": 66364456,
|
||||||
|
"offset": "Vector2(0, 0)",
|
||||||
|
"parentId": 456157398,
|
||||||
|
"path": "user://defaultAvatar/eye1.png",
|
||||||
|
"pos": "Vector2(0, 0)",
|
||||||
|
"rotDrag": 0,
|
||||||
|
"showBlink": 1,
|
||||||
|
"showTalk": 2,
|
||||||
|
"type": "sprite",
|
||||||
|
"useMidiWobble": false,
|
||||||
|
"xAmp": 0,
|
||||||
|
"xFrq": 0,
|
||||||
|
"yAmp": 0,
|
||||||
|
"yFrq": 0,
|
||||||
|
"zindex": 0
|
||||||
|
},
|
||||||
|
"6":
|
||||||
|
{
|
||||||
|
"drag": 0,
|
||||||
|
"identification": 261040117,
|
||||||
|
"offset": "Vector2(0, 0)",
|
||||||
|
"parentId": 456157398,
|
||||||
|
"path": "user://defaultAvatar/eye2.png",
|
||||||
|
"pos": "Vector2(0, 0)",
|
||||||
|
"rotDrag": 0,
|
||||||
|
"showBlink": 1,
|
||||||
|
"showTalk": 1,
|
||||||
|
"type": "sprite",
|
||||||
|
"useMidiWobble": false,
|
||||||
|
"xAmp": 0,
|
||||||
|
"xFrq": 0,
|
||||||
|
"yAmp": 0,
|
||||||
|
"yFrq": 0,
|
||||||
|
"zindex": 0
|
||||||
|
},
|
||||||
|
"7":
|
||||||
|
{
|
||||||
|
"drag": 0,
|
||||||
|
"identification": 291459997,
|
||||||
|
"offset": "Vector2(0, 0)",
|
||||||
|
"parentId": 456157398,
|
||||||
|
"path": "user://defaultAvatar/eye3.png",
|
||||||
|
"pos": "Vector2(0, 0)",
|
||||||
|
"rotDrag": 0,
|
||||||
|
"showBlink": 2,
|
||||||
|
"showTalk": 0,
|
||||||
|
"type": "sprite",
|
||||||
|
"useMidiWobble": false,
|
||||||
|
"xAmp": 0,
|
||||||
|
"xFrq": 0,
|
||||||
|
"yAmp": 0,
|
||||||
|
"yFrq": 0,
|
||||||
|
"zindex": 0
|
||||||
|
},
|
||||||
|
"8":
|
||||||
|
{
|
||||||
|
"drag": 0,
|
||||||
|
"identification": 148065686,
|
||||||
|
"offset": "Vector2(-74, 92)",
|
||||||
|
"parentId": 456157398,
|
||||||
|
"path": "user://defaultAvatar/hat.png",
|
||||||
|
"pos": "Vector2(72, -89)",
|
||||||
|
"rotDrag": -2,
|
||||||
|
"showBlink": 0,
|
||||||
|
"showTalk": 0,
|
||||||
|
"type": "sprite",
|
||||||
|
"useMidiWobble": false,
|
||||||
|
"xAmp": 0,
|
||||||
|
"xFrq": 0,
|
||||||
|
"yAmp": 0,
|
||||||
|
"yFrq": 0,
|
||||||
|
"zindex": 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var settings = {
|
var settings = {
|
||||||
"newUser":true,
|
"newUser": true,
|
||||||
"lastAvatar":"",
|
"lastAvatar": "",
|
||||||
"volume":0.185,
|
"volume": 0.185,
|
||||||
"sense":0.25,
|
"sense": 0.25,
|
||||||
"windowSize":Vector2i(1280,720),
|
"windowSize": Vector2i(1280, 720),
|
||||||
"useStreamDeck":false,
|
"useStreamDeck": false,
|
||||||
"bounce":250,
|
"bounce": 250,
|
||||||
"gravity":1000,
|
"gravity": 1000,
|
||||||
"maxFPS":60,
|
"maxFPS": 60,
|
||||||
"secondsToMicReset":180,
|
"secondsToMicReset": 180,
|
||||||
"backgroundColor":var_to_str(Color(0.0,0.0,0.0,0.0)),
|
"backgroundColor": var_to_str(Color(0.0, 0.0, 0.0, 0.0)),
|
||||||
"filtering":false,
|
"filtering": false,
|
||||||
"costumeKeys":["1","2","3","4","5","6","7","8","9","0"],
|
"costumeKeys": ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"],
|
||||||
"blinkSpeed":1.0,
|
"blinkSpeed": 1.0,
|
||||||
"blinkChance":200,
|
"blinkChance": 200,
|
||||||
"bounceOnCostumeChange":false,
|
"bounceOnCostumeChange": false,
|
||||||
}
|
}
|
||||||
|
|
||||||
var settingsPath = "user://settings.pngtp"
|
var settingsPath = "user://settings.pngtp"
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
var datas = read_save(settingsPath)
|
var datas = read_save(settingsPath)
|
||||||
if datas == null:
|
if datas == null:
|
||||||
|
@ -68,19 +207,18 @@ func _ready():
|
||||||
else:
|
else:
|
||||||
settings = datas.duplicate()
|
settings = datas.duplicate()
|
||||||
|
|
||||||
|
|
||||||
func _exit_tree():
|
func _exit_tree():
|
||||||
write_settings(settingsPath)
|
write_settings(settingsPath)
|
||||||
|
|
||||||
|
|
||||||
func read_save(path):
|
func read_save(path):
|
||||||
|
|
||||||
if path == "default":
|
if path == "default":
|
||||||
return DefaultAvatarData.data
|
return DefaultAvatarData.data
|
||||||
|
|
||||||
|
if OS.has_feature("web"):
|
||||||
if OS.has_feature('web'):
|
|
||||||
var JSONstr = JavaScriptBridge.eval("window.localStorage.getItem('" + key + "');")
|
var JSONstr = JavaScriptBridge.eval("window.localStorage.getItem('" + key + "');")
|
||||||
if (JSONstr):
|
if JSONstr:
|
||||||
return JSON.parse_string(JSONstr)
|
return JSON.parse_string(JSONstr)
|
||||||
else:
|
else:
|
||||||
return null
|
return null
|
||||||
|
@ -92,14 +230,18 @@ func read_save(path):
|
||||||
file.close()
|
file.close()
|
||||||
return newData
|
return newData
|
||||||
|
|
||||||
|
|
||||||
func write_save(path):
|
func write_save(path):
|
||||||
if OS.has_feature('web'):
|
if OS.has_feature("web"):
|
||||||
JavaScriptBridge.eval("window.localStorage.setItem('" + key + "', '" + JSON.stringify(data) + "');")
|
JavaScriptBridge.eval(
|
||||||
|
"window.localStorage.setItem('" + key + "', '" + JSON.stringify(data) + "');"
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
var file = FileAccess.open(path, FileAccess.WRITE)
|
var file = FileAccess.open(path, FileAccess.WRITE)
|
||||||
file.store_line(JSON.stringify(data))
|
file.store_line(JSON.stringify(data))
|
||||||
file.close()
|
file.close()
|
||||||
|
|
||||||
|
|
||||||
func write_settings(path):
|
func write_settings(path):
|
||||||
var file = FileAccess.open(path, FileAccess.WRITE)
|
var file = FileAccess.open(path, FileAccess.WRITE)
|
||||||
file.store_line(JSON.stringify(settings))
|
file.store_line(JSON.stringify(settings))
|
||||||
|
@ -107,10 +249,9 @@ func write_settings(path):
|
||||||
|
|
||||||
|
|
||||||
func clearSave():
|
func clearSave():
|
||||||
|
if OS.has_feature("web"):
|
||||||
if OS.has_feature('web'):
|
|
||||||
var JSONstr = JavaScriptBridge.eval("window.localStorage.getItem('" + key + "');")
|
var JSONstr = JavaScriptBridge.eval("window.localStorage.getItem('" + key + "');")
|
||||||
if (JSONstr):
|
if JSONstr:
|
||||||
JavaScriptBridge.eval("window.localStorage.removeItem('" + key + "');")
|
JavaScriptBridge.eval("window.localStorage.removeItem('" + key + "');")
|
||||||
else:
|
else:
|
||||||
return null
|
return null
|
||||||
|
@ -123,14 +264,16 @@ func clearSave():
|
||||||
dir.remove(key + ".save")
|
dir.remove(key + ".save")
|
||||||
data = {}
|
data = {}
|
||||||
|
|
||||||
|
|
||||||
func open_site(url):
|
func open_site(url):
|
||||||
if OS.has_feature('web'):
|
if OS.has_feature("web"):
|
||||||
JavaScriptBridge.eval("window.open(\"" + url + "\");")
|
JavaScriptBridge.eval('window.open("' + url + '");')
|
||||||
else:
|
else:
|
||||||
print("Could not open site " + url + " without an HTML5 build")
|
print("Could not open site " + url + " without an HTML5 build")
|
||||||
|
|
||||||
|
|
||||||
func switchToSite(url):
|
func switchToSite(url):
|
||||||
if OS.has_feature('web'):
|
if OS.has_feature("web"):
|
||||||
JavaScriptBridge.eval("window.open(\"" + url + "\", \"_parent\");")
|
JavaScriptBridge.eval('window.open("' + url + '", "_parent");')
|
||||||
else:
|
else:
|
||||||
print("Could not switch to site " + url + " without an HTML5 build")
|
print("Could not switch to site " + url + " without an HTML5 build")
|
||||||
|
|
|
@ -64,7 +64,7 @@ func _ready():
|
||||||
ElgatoStreamDeck.on_key_down.connect(changeCostumeStreamDeck)
|
ElgatoStreamDeck.on_key_down.connect(changeCostumeStreamDeck)
|
||||||
|
|
||||||
OS.open_midi_inputs()
|
OS.open_midi_inputs()
|
||||||
print(OS.get_connected_midi_inputs())
|
# print(OS.get_connected_midi_inputs())
|
||||||
|
|
||||||
if Saving.settings["newUser"]:
|
if Saving.settings["newUser"]:
|
||||||
_on_load_dialog_file_selected("default")
|
_on_load_dialog_file_selected("default")
|
||||||
|
@ -332,6 +332,7 @@ func _on_load_dialog_file_selected(path):
|
||||||
sprite.z = data[item]["zindex"]
|
sprite.z = data[item]["zindex"]
|
||||||
sprite.dragSpeed = data[item]["drag"]
|
sprite.dragSpeed = data[item]["drag"]
|
||||||
|
|
||||||
|
sprite.useMidiWobble = data[item]["useMidiWobble"]
|
||||||
sprite.xFrq = data[item]["xFrq"]
|
sprite.xFrq = data[item]["xFrq"]
|
||||||
sprite.xAmp = data[item]["xAmp"]
|
sprite.xAmp = data[item]["xAmp"]
|
||||||
sprite.yFrq = data[item]["yFrq"]
|
sprite.yFrq = data[item]["yFrq"]
|
||||||
|
@ -402,6 +403,7 @@ func _on_save_dialog_file_selected(path):
|
||||||
|
|
||||||
data[id]["drag"] = child.dragSpeed
|
data[id]["drag"] = child.dragSpeed
|
||||||
|
|
||||||
|
data[id]["useMidiWobble"] = child.useMidiWobble
|
||||||
data[id]["xFrq"] = child.xFrq
|
data[id]["xFrq"] = child.xFrq
|
||||||
data[id]["xAmp"] = child.xAmp
|
data[id]["xAmp"] = child.xAmp
|
||||||
data[id]["yFrq"] = child.yFrq
|
data[id]["yFrq"] = child.yFrq
|
||||||
|
@ -487,6 +489,7 @@ func _on_duplicate_button_pressed():
|
||||||
sprite.showOnBlink = Global.heldSprite.showOnBlink
|
sprite.showOnBlink = Global.heldSprite.showOnBlink
|
||||||
sprite.z = Global.heldSprite.z
|
sprite.z = Global.heldSprite.z
|
||||||
|
|
||||||
|
sprite.useMidiWobble = Global.heldSprite.useMidiWobble
|
||||||
sprite.xFrq = Global.heldSprite.xFrq
|
sprite.xFrq = Global.heldSprite.xFrq
|
||||||
sprite.xAmp = Global.heldSprite.xAmp
|
sprite.xAmp = Global.heldSprite.xAmp
|
||||||
sprite.yFrq = Global.heldSprite.yFrq
|
sprite.yFrq = Global.heldSprite.yFrq
|
||||||
|
@ -563,7 +566,7 @@ func moveSpriteMenu(delta):
|
||||||
|
|
||||||
var size = get_viewport().get_visible_rect().size
|
var size = get_viewport().get_visible_rect().size
|
||||||
|
|
||||||
var windowLength = 1250 #1187
|
var windowLength = 1300 #1187
|
||||||
|
|
||||||
$ViewerArrows/Arrows.position.y = size.y - 25
|
$ViewerArrows/Arrows.position.y = size.y - 25
|
||||||
|
|
||||||
|
@ -611,7 +614,6 @@ func _on_settings_buttons_pressed():
|
||||||
|
|
||||||
|
|
||||||
func _on_background_input_capture_bg_key_pressed(node, keys_pressed):
|
func _on_background_input_capture_bg_key_pressed(node, keys_pressed):
|
||||||
print("background key pressed")
|
|
||||||
var keyStrings = []
|
var keyStrings = []
|
||||||
|
|
||||||
for i in keys_pressed:
|
for i in keys_pressed:
|
||||||
|
@ -660,7 +662,6 @@ func _on_background_input_capture_bg_key_pressed(node, keys_pressed):
|
||||||
|
|
||||||
|
|
||||||
func bgInputSprite(node, keys_pressed):
|
func bgInputSprite(node, keys_pressed):
|
||||||
print("bgInputSprite")
|
|
||||||
if fileSystemOpen:
|
if fileSystemOpen:
|
||||||
return
|
return
|
||||||
var keyStrings = []
|
var keyStrings = []
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -48,8 +48,7 @@ var origTick = 0
|
||||||
var offset = Vector2.ZERO
|
var offset = Vector2.ZERO
|
||||||
|
|
||||||
#Wobble
|
#Wobble
|
||||||
var use_midi_wobble = true # TODO: Add to settings
|
var useMidiWobble = false
|
||||||
|
|
||||||
var xFrq = 0.0
|
var xFrq = 0.0
|
||||||
var xAmp = 0.0
|
var xAmp = 0.0
|
||||||
|
|
||||||
|
@ -163,7 +162,7 @@ func _ready():
|
||||||
|
|
||||||
|
|
||||||
func _input(event):
|
func _input(event):
|
||||||
if use_midi_wobble and event is InputEventMIDI:
|
if self.useMidiWobble and event is InputEventMIDI:
|
||||||
match event.message:
|
match event.message:
|
||||||
MIDIMessage.MIDI_MESSAGE_START:
|
MIDIMessage.MIDI_MESSAGE_START:
|
||||||
tick = 0
|
tick = 0
|
||||||
|
@ -222,7 +221,7 @@ func replaceSprite(pathNew):
|
||||||
|
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
if not use_midi_wobble:
|
if not self.useMidiWobble:
|
||||||
tick += 1
|
tick += 1
|
||||||
|
|
||||||
if Global.heldSprite == self:
|
if Global.heldSprite == self:
|
||||||
|
@ -345,7 +344,7 @@ func drag(delta):
|
||||||
|
|
||||||
|
|
||||||
func wobble():
|
func wobble():
|
||||||
if use_midi_wobble:
|
if self.useMidiWobble:
|
||||||
midi_wobble()
|
midi_wobble()
|
||||||
else:
|
else:
|
||||||
free_wobble()
|
free_wobble()
|
||||||
|
|
|
@ -7,13 +7,13 @@ extends Node2D
|
||||||
|
|
||||||
@onready var spriteRotDisplay = $RotationalLimits/RotBack/SpriteDisplay
|
@onready var spriteRotDisplay = $RotationalLimits/RotBack/SpriteDisplay
|
||||||
|
|
||||||
|
|
||||||
@onready var coverCollider = $Area2D/CollisionShape2D
|
@onready var coverCollider = $Area2D/CollisionShape2D
|
||||||
|
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
Global.spriteEdit = self
|
Global.spriteEdit = self
|
||||||
|
|
||||||
|
|
||||||
func setImage():
|
func setImage():
|
||||||
if Global.heldSprite == null:
|
if Global.heldSprite == null:
|
||||||
return
|
return
|
||||||
|
@ -25,11 +25,13 @@ func setImage():
|
||||||
spriteRotDisplay.texture = Global.heldSprite.tex
|
spriteRotDisplay.texture = Global.heldSprite.tex
|
||||||
spriteRotDisplay.offset = Global.heldSprite.offset
|
spriteRotDisplay.offset = Global.heldSprite.offset
|
||||||
var displaySize = Global.heldSprite.imageData.get_size().y
|
var displaySize = Global.heldSprite.imageData.get_size().y
|
||||||
spriteRotDisplay.scale = Vector2(1,1) * (150.0/displaySize)
|
spriteRotDisplay.scale = Vector2(1, 1) * (150.0 / displaySize)
|
||||||
|
|
||||||
$Slider/Label.text = "drag: " + str(Global.heldSprite.dragSpeed)
|
$Slider/Label.text = "drag: " + str(Global.heldSprite.dragSpeed)
|
||||||
$Slider/DragSlider.value = Global.heldSprite.dragSpeed
|
$Slider/DragSlider.value = Global.heldSprite.dragSpeed
|
||||||
|
|
||||||
|
$WobbleControl/UseMidi.button_pressed = Global.heldSprite.useMidiWobble
|
||||||
|
|
||||||
$WobbleControl/xFrqLabel.text = "x frequency: " + str(Global.heldSprite.xFrq)
|
$WobbleControl/xFrqLabel.text = "x frequency: " + str(Global.heldSprite.xFrq)
|
||||||
$WobbleControl/xAmpLabel.text = "x amplitude: " + str(Global.heldSprite.xAmp)
|
$WobbleControl/xAmpLabel.text = "x amplitude: " + str(Global.heldSprite.xAmp)
|
||||||
|
|
||||||
|
@ -67,7 +69,7 @@ func setImage():
|
||||||
$Animation/animFramesLabel.text = "sprite frames: " + str(Global.heldSprite.frames)
|
$Animation/animFramesLabel.text = "sprite frames: " + str(Global.heldSprite.frames)
|
||||||
$Animation/animFrames.value = Global.heldSprite.frames
|
$Animation/animFrames.value = Global.heldSprite.frames
|
||||||
|
|
||||||
$VisToggle/setToggle/Label.text = "toggle: \"" + Global.heldSprite.toggle + "\""
|
$VisToggle/setToggle/Label.text = 'toggle: "' + Global.heldSprite.toggle + '"'
|
||||||
|
|
||||||
changeRotLimit()
|
changeRotLimit()
|
||||||
|
|
||||||
|
@ -81,7 +83,7 @@ func setImage():
|
||||||
|
|
||||||
var nodes = get_tree().get_nodes_in_group(str(Global.heldSprite.parentId))
|
var nodes = get_tree().get_nodes_in_group(str(Global.heldSprite.parentId))
|
||||||
|
|
||||||
if nodes.size()<=0:
|
if nodes.size() <= 0:
|
||||||
return
|
return
|
||||||
|
|
||||||
parentSpin.texture = nodes[0].tex
|
parentSpin.texture = nodes[0].tex
|
||||||
|
@ -89,8 +91,8 @@ func setImage():
|
||||||
parentSpin.hframes = nodes[0].frames
|
parentSpin.hframes = nodes[0].frames
|
||||||
parentSpin.visible = true
|
parentSpin.visible = true
|
||||||
|
|
||||||
func _process(delta):
|
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
visible = Global.heldSprite != null
|
visible = Global.heldSprite != null
|
||||||
coverCollider.disabled = !visible
|
coverCollider.disabled = !visible
|
||||||
|
|
||||||
|
@ -98,19 +100,25 @@ func _process(delta):
|
||||||
return
|
return
|
||||||
|
|
||||||
var obj = Global.heldSprite
|
var obj = Global.heldSprite
|
||||||
spriteSpin.rotate_y(delta*4.0)
|
spriteSpin.rotate_y(delta * 4.0)
|
||||||
parentSpin.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/Label.text = (
|
||||||
$Position/Label2.text = "offset X : "+str(obj.offset.x)+" Y: " + str(obj.offset.y)
|
"position X : " + str(obj.position.x) + " Y: " + str(obj.position.y)
|
||||||
$Position/Label3.text = "layer : "+str(obj.z)
|
)
|
||||||
|
$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
|
#Sprite Rotational Limit Display
|
||||||
|
|
||||||
var size = Global.heldSprite.rLimitMax - Global.heldSprite.rLimitMin
|
var size = Global.heldSprite.rLimitMax - Global.heldSprite.rLimitMin
|
||||||
var minimum = Global.heldSprite.rLimitMin
|
var minimum = Global.heldSprite.rLimitMin
|
||||||
|
|
||||||
spriteRotDisplay.rotation_degrees = sin(Global.animationTick*0.05)*(size/2.0)+(minimum+(size/2.0))
|
spriteRotDisplay.rotation_degrees = (
|
||||||
|
sin(Global.animationTick * 0.05) * (size / 2.0) + (minimum + (size / 2.0))
|
||||||
|
)
|
||||||
$RotationalLimits/RotBack/RotLineDisplay3.rotation_degrees = spriteRotDisplay.rotation_degrees
|
$RotationalLimits/RotBack/RotLineDisplay3.rotation_degrees = spriteRotDisplay.rotation_degrees
|
||||||
|
|
||||||
|
|
||||||
|
@ -120,6 +128,11 @@ func _on_drag_slider_value_changed(value):
|
||||||
Global.heldSprite.dragSpeed = value
|
Global.heldSprite.dragSpeed = value
|
||||||
|
|
||||||
|
|
||||||
|
func _on_use_midi_toggled(value: bool):
|
||||||
|
# $WobbleControl/useMidi.button_pressed = value
|
||||||
|
Global.heldSprite.useMidiWobble = value
|
||||||
|
|
||||||
|
|
||||||
func _on_x_frq_value_changed(value):
|
func _on_x_frq_value_changed(value):
|
||||||
$WobbleControl/xFrqLabel.text = "x frequency: " + str(value)
|
$WobbleControl/xFrqLabel.text = "x frequency: " + str(value)
|
||||||
Global.heldSprite.xFrq = value
|
Global.heldSprite.xFrq = value
|
||||||
|
@ -134,6 +147,7 @@ func _on_y_frq_value_changed(value):
|
||||||
$WobbleControl/yFrqLabel.text = "y frequency: " + str(value)
|
$WobbleControl/yFrqLabel.text = "y frequency: " + str(value)
|
||||||
Global.heldSprite.yFrq = value
|
Global.heldSprite.yFrq = value
|
||||||
|
|
||||||
|
|
||||||
func _on_y_amp_value_changed(value):
|
func _on_y_amp_value_changed(value):
|
||||||
$WobbleControl/yAmpLabel.text = "y amplitude: " + str(value)
|
$WobbleControl/yAmpLabel.text = "y amplitude: " + str(value)
|
||||||
Global.heldSprite.yAmp = value
|
Global.heldSprite.yAmp = value
|
||||||
|
@ -146,7 +160,7 @@ func _on_r_drag_value_changed(value):
|
||||||
|
|
||||||
func _on_speaking_pressed():
|
func _on_speaking_pressed():
|
||||||
var f = $Buttons/Speaking.frame
|
var f = $Buttons/Speaking.frame
|
||||||
f = (f+1) % 3
|
f = (f + 1) % 3
|
||||||
|
|
||||||
$Buttons/Speaking.frame = f
|
$Buttons/Speaking.frame = f
|
||||||
Global.heldSprite.showOnTalk = f
|
Global.heldSprite.showOnTalk = f
|
||||||
|
@ -154,7 +168,7 @@ func _on_speaking_pressed():
|
||||||
|
|
||||||
func _on_blinking_pressed():
|
func _on_blinking_pressed():
|
||||||
var f = $Buttons/Blinking.frame
|
var f = $Buttons/Blinking.frame
|
||||||
f = (f+1) % 3
|
f = (f + 1) % 3
|
||||||
|
|
||||||
$Buttons/Blinking.frame = f
|
$Buttons/Blinking.frame = f
|
||||||
Global.heldSprite.showOnBlink = f
|
Global.heldSprite.showOnBlink = f
|
||||||
|
@ -166,6 +180,7 @@ func _on_trash_pressed():
|
||||||
|
|
||||||
Global.spriteList.updateData()
|
Global.spriteList.updateData()
|
||||||
|
|
||||||
|
|
||||||
func _on_unlink_pressed():
|
func _on_unlink_pressed():
|
||||||
if Global.heldSprite.parentId == null:
|
if Global.heldSprite.parentId == null:
|
||||||
return
|
return
|
||||||
|
@ -179,32 +194,37 @@ func _on_rot_limit_min_value_changed(value):
|
||||||
|
|
||||||
changeRotLimit()
|
changeRotLimit()
|
||||||
|
|
||||||
|
|
||||||
func _on_rot_limit_max_value_changed(value):
|
func _on_rot_limit_max_value_changed(value):
|
||||||
$RotationalLimits/RotLimitMax.text = "rotational limit max: " + str(value)
|
$RotationalLimits/RotLimitMax.text = "rotational limit max: " + str(value)
|
||||||
Global.heldSprite.rLimitMax = value
|
Global.heldSprite.rLimitMax = value
|
||||||
|
|
||||||
changeRotLimit()
|
changeRotLimit()
|
||||||
|
|
||||||
|
|
||||||
func changeRotLimit():
|
func changeRotLimit():
|
||||||
$RotationalLimits/RotBack/rotLimitBar.value = Global.heldSprite.rLimitMax - Global.heldSprite.rLimitMin
|
$RotationalLimits/RotBack/rotLimitBar.value = (
|
||||||
|
Global.heldSprite.rLimitMax - Global.heldSprite.rLimitMin
|
||||||
|
)
|
||||||
$RotationalLimits/RotBack/rotLimitBar.rotation_degrees = Global.heldSprite.rLimitMin + 90
|
$RotationalLimits/RotBack/rotLimitBar.rotation_degrees = Global.heldSprite.rLimitMin + 90
|
||||||
|
|
||||||
$RotationalLimits/RotBack/RotLineDisplay.rotation_degrees = Global.heldSprite.rLimitMin
|
$RotationalLimits/RotBack/RotLineDisplay.rotation_degrees = Global.heldSprite.rLimitMin
|
||||||
$RotationalLimits/RotBack/RotLineDisplay2.rotation_degrees = Global.heldSprite.rLimitMax
|
$RotationalLimits/RotBack/RotLineDisplay2.rotation_degrees = Global.heldSprite.rLimitMax
|
||||||
|
|
||||||
|
|
||||||
func setLayerButtons():
|
func setLayerButtons():
|
||||||
var a = Global.heldSprite.costumeLayers.duplicate()
|
var a = Global.heldSprite.costumeLayers.duplicate()
|
||||||
|
|
||||||
$Layers/Layer1.frame = 1-a[0]
|
$Layers/Layer1.frame = 1 - a[0]
|
||||||
$Layers/Layer2.frame = 1-a[1]
|
$Layers/Layer2.frame = 1 - a[1]
|
||||||
$Layers/Layer3.frame = 1-a[2]
|
$Layers/Layer3.frame = 1 - a[2]
|
||||||
$Layers/Layer4.frame = 1-a[3]
|
$Layers/Layer4.frame = 1 - a[3]
|
||||||
$Layers/Layer5.frame = 1-a[4]
|
$Layers/Layer5.frame = 1 - a[4]
|
||||||
$Layers/Layer6.frame = 1-a[5]
|
$Layers/Layer6.frame = 1 - a[5]
|
||||||
$Layers/Layer7.frame = 1-a[6]
|
$Layers/Layer7.frame = 1 - a[6]
|
||||||
$Layers/Layer8.frame = 1-a[7]
|
$Layers/Layer8.frame = 1 - a[7]
|
||||||
$Layers/Layer9.frame = 1-a[8]
|
$Layers/Layer9.frame = 1 - a[8]
|
||||||
$Layers/Layer10.frame = 1-a[9]
|
$Layers/Layer10.frame = 1 - a[9]
|
||||||
|
|
||||||
var nodes = get_tree().get_nodes_in_group("saved")
|
var nodes = get_tree().get_nodes_in_group("saved")
|
||||||
for sprite in nodes:
|
for sprite in nodes:
|
||||||
|
@ -216,7 +236,6 @@ func setLayerButtons():
|
||||||
sprite.changeCollision(false)
|
sprite.changeCollision(false)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func _on_layer_button_1_pressed():
|
func _on_layer_button_1_pressed():
|
||||||
if Global.heldSprite.costumeLayers[0] == 0:
|
if Global.heldSprite.costumeLayers[0] == 0:
|
||||||
Global.heldSprite.costumeLayers[0] = 1
|
Global.heldSprite.costumeLayers[0] = 1
|
||||||
|
@ -256,6 +275,7 @@ func _on_layer_button_5_pressed():
|
||||||
Global.heldSprite.costumeLayers[4] = 0
|
Global.heldSprite.costumeLayers[4] = 0
|
||||||
setLayerButtons()
|
setLayerButtons()
|
||||||
|
|
||||||
|
|
||||||
func _on_layer_button_6_pressed():
|
func _on_layer_button_6_pressed():
|
||||||
if Global.heldSprite.costumeLayers[5] == 0:
|
if Global.heldSprite.costumeLayers[5] == 0:
|
||||||
Global.heldSprite.costumeLayers[5] = 1
|
Global.heldSprite.costumeLayers[5] = 1
|
||||||
|
@ -263,6 +283,7 @@ func _on_layer_button_6_pressed():
|
||||||
Global.heldSprite.costumeLayers[5] = 0
|
Global.heldSprite.costumeLayers[5] = 0
|
||||||
setLayerButtons()
|
setLayerButtons()
|
||||||
|
|
||||||
|
|
||||||
func _on_layer_button_7_pressed():
|
func _on_layer_button_7_pressed():
|
||||||
if Global.heldSprite.costumeLayers[6] == 0:
|
if Global.heldSprite.costumeLayers[6] == 0:
|
||||||
Global.heldSprite.costumeLayers[6] = 1
|
Global.heldSprite.costumeLayers[6] = 1
|
||||||
|
@ -270,6 +291,7 @@ func _on_layer_button_7_pressed():
|
||||||
Global.heldSprite.costumeLayers[6] = 0
|
Global.heldSprite.costumeLayers[6] = 0
|
||||||
setLayerButtons()
|
setLayerButtons()
|
||||||
|
|
||||||
|
|
||||||
func _on_layer_button_8_pressed():
|
func _on_layer_button_8_pressed():
|
||||||
if Global.heldSprite.costumeLayers[7] == 0:
|
if Global.heldSprite.costumeLayers[7] == 0:
|
||||||
Global.heldSprite.costumeLayers[7] = 1
|
Global.heldSprite.costumeLayers[7] = 1
|
||||||
|
@ -277,6 +299,7 @@ func _on_layer_button_8_pressed():
|
||||||
Global.heldSprite.costumeLayers[7] = 0
|
Global.heldSprite.costumeLayers[7] = 0
|
||||||
setLayerButtons()
|
setLayerButtons()
|
||||||
|
|
||||||
|
|
||||||
func _on_layer_button_9_pressed():
|
func _on_layer_button_9_pressed():
|
||||||
if Global.heldSprite.costumeLayers[8] == 0:
|
if Global.heldSprite.costumeLayers[8] == 0:
|
||||||
Global.heldSprite.costumeLayers[8] = 1
|
Global.heldSprite.costumeLayers[8] = 1
|
||||||
|
@ -284,6 +307,7 @@ func _on_layer_button_9_pressed():
|
||||||
Global.heldSprite.costumeLayers[8] = 0
|
Global.heldSprite.costumeLayers[8] = 0
|
||||||
setLayerButtons()
|
setLayerButtons()
|
||||||
|
|
||||||
|
|
||||||
func _on_layer_button_10_pressed():
|
func _on_layer_button_10_pressed():
|
||||||
if Global.heldSprite.costumeLayers[9] == 0:
|
if Global.heldSprite.costumeLayers[9] == 0:
|
||||||
Global.heldSprite.costumeLayers[9] = 1
|
Global.heldSprite.costumeLayers[9] = 1
|
||||||
|
@ -291,6 +315,7 @@ func _on_layer_button_10_pressed():
|
||||||
Global.heldSprite.costumeLayers[9] = 0
|
Global.heldSprite.costumeLayers[9] = 0
|
||||||
setLayerButtons()
|
setLayerButtons()
|
||||||
|
|
||||||
|
|
||||||
func layerSelected():
|
func layerSelected():
|
||||||
var newPos = Vector2.ZERO
|
var newPos = Vector2.ZERO
|
||||||
match Global.main.costume:
|
match Global.main.costume:
|
||||||
|
@ -330,6 +355,7 @@ func _on_anim_speed_value_changed(value):
|
||||||
$Animation/animSpeedLabel.text = "animation speed: " + str(value)
|
$Animation/animSpeedLabel.text = "animation speed: " + str(value)
|
||||||
Global.heldSprite.animSpeed = value
|
Global.heldSprite.animSpeed = value
|
||||||
|
|
||||||
|
|
||||||
func _on_anim_frames_value_changed(value):
|
func _on_anim_frames_value_changed(value):
|
||||||
$Animation/animFramesLabel.text = "sprite frames: " + str(value)
|
$Animation/animFramesLabel.text = "sprite frames: " + str(value)
|
||||||
Global.heldSprite.frames = value
|
Global.heldSprite.frames = value
|
||||||
|
@ -343,9 +369,10 @@ func _on_clip_linked_toggled(button_pressed):
|
||||||
|
|
||||||
func _on_delete_pressed():
|
func _on_delete_pressed():
|
||||||
Global.heldSprite.toggle = "null"
|
Global.heldSprite.toggle = "null"
|
||||||
$VisToggle/setToggle/Label.text = "toggle: \"" + Global.heldSprite.toggle + "\""
|
$VisToggle/setToggle/Label.text = 'toggle: "' + Global.heldSprite.toggle + '"'
|
||||||
Global.heldSprite.makeVis()
|
Global.heldSprite.makeVis()
|
||||||
|
|
||||||
|
|
||||||
func _on_set_toggle_pressed():
|
func _on_set_toggle_pressed():
|
||||||
$VisToggle/setToggle/Label.text = "toggle: AWAITING INPUT"
|
$VisToggle/setToggle/Label.text = "toggle: AWAITING INPUT"
|
||||||
await Global.main.fatfuckingballs
|
await Global.main.fatfuckingballs
|
||||||
|
@ -353,4 +380,4 @@ func _on_set_toggle_pressed():
|
||||||
var keys = await Global.main.spriteVisToggles
|
var keys = await Global.main.spriteVisToggles
|
||||||
var key = keys[0]
|
var key = keys[0]
|
||||||
Global.heldSprite.toggle = key
|
Global.heldSprite.toggle = key
|
||||||
$VisToggle/setToggle/Label.text = "toggle: \"" + Global.heldSprite.toggle + "\""
|
$VisToggle/setToggle/Label.text = 'toggle: "' + Global.heldSprite.toggle + '"'
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue