Legacy import progress
This commit is contained in:
parent
8b3b1a5884
commit
47b8e556c1
8 changed files with 302 additions and 28 deletions
|
@ -21,11 +21,7 @@ var _socket := WebSocketPeer.new()
|
||||||
var _config := ConfigFile.new()
|
var _config := ConfigFile.new()
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
|
if !Config.settings.useStreamDeck:
|
||||||
if Saving.settings.has("useStreamDeck"):
|
|
||||||
if !Saving.settings["useStreamDeck"]:
|
|
||||||
return
|
|
||||||
else:
|
|
||||||
return
|
return
|
||||||
|
|
||||||
_load_config(_get_config_path())
|
_load_config(_get_config_path())
|
||||||
|
|
|
@ -1,9 +1,215 @@
|
||||||
[gd_resource type="Resource" script_class="AvatarData" load_steps=3 format=3 uid="uid://b7ss481m4x0a4"]
|
[gd_resource type="Resource" script_class="AvatarData" load_steps=12 format=3]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://b73on8ic2acsv" path="res://scripts/avatar_data.gd" id="1_re035"]
|
[ext_resource type="Script" path="res://scripts/avatar_data.gd" id="1_re035"]
|
||||||
[ext_resource type="Script" uid="uid://b07e67yn4uh6d" path="res://scripts/sprite_data.gd" id="2_cjoo4"]
|
[ext_resource type="Script" path="res://scripts/sprite_data.gd" id="2_cjoo4"]
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_nklgv"]
|
||||||
|
script = ExtResource("2_cjoo4")
|
||||||
|
anim_speed = 0.0
|
||||||
|
clipped = false
|
||||||
|
costume_layers = Array[bool]([true, true, true, true, true, true, true, true, true, true])
|
||||||
|
drag_speed = 0.0
|
||||||
|
frames = 1.0
|
||||||
|
ignore_bounce = false
|
||||||
|
offset = Vector2(0, 0)
|
||||||
|
pos = Vector2(0, 0)
|
||||||
|
r_limit_max = 180.0
|
||||||
|
r_limit_min = -180.0
|
||||||
|
rot_drag = 0.0
|
||||||
|
show_blink = 0.0
|
||||||
|
show_talk = 0.0
|
||||||
|
stretch_amount = 2.0
|
||||||
|
x_amp = 0.0
|
||||||
|
x_frq = 0.0
|
||||||
|
y_amp = 0.0
|
||||||
|
y_frq = 0.0
|
||||||
|
zindex = -2.0
|
||||||
|
children = Array[ExtResource("2_cjoo4")]([])
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_yx2bh"]
|
||||||
|
script = ExtResource("2_cjoo4")
|
||||||
|
anim_speed = 0.0
|
||||||
|
clipped = false
|
||||||
|
costume_layers = Array[bool]([true, true, true, true, true, true, true, true, true, true])
|
||||||
|
drag_speed = 0.0
|
||||||
|
frames = 1.0
|
||||||
|
ignore_bounce = false
|
||||||
|
offset = Vector2(0, 0)
|
||||||
|
pos = Vector2(0, 0)
|
||||||
|
r_limit_max = 180.0
|
||||||
|
r_limit_min = -180.0
|
||||||
|
rot_drag = 0.0
|
||||||
|
show_blink = 0.0
|
||||||
|
show_talk = 1.0
|
||||||
|
stretch_amount = 0.0
|
||||||
|
x_amp = 0.0
|
||||||
|
x_frq = 0.0
|
||||||
|
y_amp = 0.0
|
||||||
|
y_frq = 0.0
|
||||||
|
zindex = 0.0
|
||||||
|
children = Array[ExtResource("2_cjoo4")]([])
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_vd21u"]
|
||||||
|
script = ExtResource("2_cjoo4")
|
||||||
|
anim_speed = 0.0
|
||||||
|
clipped = false
|
||||||
|
costume_layers = Array[bool]([true, true, true, true, true, true, true, true, true, true])
|
||||||
|
drag_speed = 0.0
|
||||||
|
frames = 1.0
|
||||||
|
ignore_bounce = false
|
||||||
|
offset = Vector2(0, 0)
|
||||||
|
pos = Vector2(0, 0)
|
||||||
|
r_limit_max = 180.0
|
||||||
|
r_limit_min = -180.0
|
||||||
|
rot_drag = 0.0
|
||||||
|
show_blink = 0.0
|
||||||
|
show_talk = 2.0
|
||||||
|
stretch_amount = 0.0
|
||||||
|
x_amp = 0.0
|
||||||
|
x_frq = 0.0
|
||||||
|
y_amp = 0.0
|
||||||
|
y_frq = 0.0
|
||||||
|
zindex = 0.0
|
||||||
|
children = Array[ExtResource("2_cjoo4")]([])
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_v0e80"]
|
||||||
|
script = ExtResource("2_cjoo4")
|
||||||
|
anim_speed = 0.0
|
||||||
|
clipped = false
|
||||||
|
costume_layers = Array[bool]([true, true, true, true, true, true, true, true, true, true])
|
||||||
|
drag_speed = 0.0
|
||||||
|
frames = 1.0
|
||||||
|
ignore_bounce = false
|
||||||
|
offset = Vector2(0, 0)
|
||||||
|
pos = Vector2(0, 0)
|
||||||
|
r_limit_max = 180.0
|
||||||
|
r_limit_min = -180.0
|
||||||
|
rot_drag = 0.0
|
||||||
|
show_blink = 1.0
|
||||||
|
show_talk = 2.0
|
||||||
|
stretch_amount = 0.0
|
||||||
|
x_amp = 0.0
|
||||||
|
x_frq = 0.0
|
||||||
|
y_amp = 0.0
|
||||||
|
y_frq = 0.0
|
||||||
|
zindex = 0.0
|
||||||
|
children = Array[ExtResource("2_cjoo4")]([])
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_8aaam"]
|
||||||
|
script = ExtResource("2_cjoo4")
|
||||||
|
anim_speed = 0.0
|
||||||
|
clipped = false
|
||||||
|
costume_layers = Array[bool]([true, true, true, true, true, true, true, true, true, true])
|
||||||
|
drag_speed = 0.0
|
||||||
|
frames = 1.0
|
||||||
|
ignore_bounce = false
|
||||||
|
offset = Vector2(0, 0)
|
||||||
|
pos = Vector2(0, 0)
|
||||||
|
r_limit_max = 180.0
|
||||||
|
r_limit_min = -180.0
|
||||||
|
rot_drag = 0.0
|
||||||
|
show_blink = 1.0
|
||||||
|
show_talk = 1.0
|
||||||
|
stretch_amount = 0.0
|
||||||
|
x_amp = 0.0
|
||||||
|
x_frq = 0.0
|
||||||
|
y_amp = 0.0
|
||||||
|
y_frq = 0.0
|
||||||
|
zindex = 0.0
|
||||||
|
children = Array[ExtResource("2_cjoo4")]([])
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_2ut1u"]
|
||||||
|
script = ExtResource("2_cjoo4")
|
||||||
|
anim_speed = 0.0
|
||||||
|
clipped = false
|
||||||
|
costume_layers = Array[bool]([true, true, true, true, true, true, true, true, true, true])
|
||||||
|
drag_speed = 0.0
|
||||||
|
frames = 1.0
|
||||||
|
ignore_bounce = false
|
||||||
|
offset = Vector2(0, 0)
|
||||||
|
pos = Vector2(0, 0)
|
||||||
|
r_limit_max = 180.0
|
||||||
|
r_limit_min = -180.0
|
||||||
|
rot_drag = 0.0
|
||||||
|
show_blink = 2.0
|
||||||
|
show_talk = 0.0
|
||||||
|
stretch_amount = 0.0
|
||||||
|
x_amp = 0.0
|
||||||
|
x_frq = 0.0
|
||||||
|
y_amp = 0.0
|
||||||
|
y_frq = 0.0
|
||||||
|
zindex = 0.0
|
||||||
|
children = Array[ExtResource("2_cjoo4")]([])
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_bsp80"]
|
||||||
|
script = ExtResource("2_cjoo4")
|
||||||
|
anim_speed = 0.0
|
||||||
|
clipped = false
|
||||||
|
costume_layers = Array[bool]([true, true, true, true, true, true, true, true, true, true])
|
||||||
|
drag_speed = 0.0
|
||||||
|
frames = 1.0
|
||||||
|
ignore_bounce = false
|
||||||
|
offset = Vector2(-74, 92)
|
||||||
|
pos = Vector2(72, -89)
|
||||||
|
r_limit_max = 17.0
|
||||||
|
r_limit_min = -14.0
|
||||||
|
rot_drag = -1.0
|
||||||
|
show_blink = 0.0
|
||||||
|
show_talk = 0.0
|
||||||
|
stretch_amount = 0.0
|
||||||
|
x_amp = 0.0
|
||||||
|
x_frq = 0.0
|
||||||
|
y_amp = 0.0
|
||||||
|
y_frq = 0.0
|
||||||
|
zindex = 2.0
|
||||||
|
children = Array[ExtResource("2_cjoo4")]([])
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_qwcja"]
|
||||||
|
script = ExtResource("2_cjoo4")
|
||||||
|
anim_speed = 0.0
|
||||||
|
clipped = false
|
||||||
|
costume_layers = Array[bool]([true, true, true, true, true, true, true, true, true, true])
|
||||||
|
drag_speed = 1.0
|
||||||
|
frames = 1.0
|
||||||
|
ignore_bounce = false
|
||||||
|
offset = Vector2(0, 0)
|
||||||
|
pos = Vector2(0, 0)
|
||||||
|
r_limit_max = 180.0
|
||||||
|
r_limit_min = -180.0
|
||||||
|
rot_drag = 0.0
|
||||||
|
show_blink = 0.0
|
||||||
|
show_talk = 0.0
|
||||||
|
stretch_amount = 0.0
|
||||||
|
x_amp = 0.0
|
||||||
|
x_frq = 0.0
|
||||||
|
y_amp = 0.0
|
||||||
|
y_frq = 0.0
|
||||||
|
zindex = 0.0
|
||||||
|
children = Array[ExtResource("2_cjoo4")]([SubResource("Resource_nklgv"), SubResource("Resource_yx2bh"), SubResource("Resource_vd21u"), SubResource("Resource_v0e80"), SubResource("Resource_8aaam"), SubResource("Resource_2ut1u"), SubResource("Resource_bsp80")])
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_ifxpp"]
|
||||||
|
script = ExtResource("2_cjoo4")
|
||||||
|
anim_speed = 0.0
|
||||||
|
clipped = false
|
||||||
|
costume_layers = Array[bool]([true, true, true, true, true, true, true, true, true, true])
|
||||||
|
drag_speed = 0.0
|
||||||
|
frames = 1.0
|
||||||
|
ignore_bounce = false
|
||||||
|
offset = Vector2(0, 0)
|
||||||
|
pos = Vector2(0, 0)
|
||||||
|
r_limit_max = 180.0
|
||||||
|
r_limit_min = -180.0
|
||||||
|
rot_drag = 0.0
|
||||||
|
show_blink = 0.0
|
||||||
|
show_talk = 0.0
|
||||||
|
stretch_amount = 0.25
|
||||||
|
x_amp = 9.0
|
||||||
|
x_frq = 0.004
|
||||||
|
y_amp = 11.0
|
||||||
|
y_frq = 0.008
|
||||||
|
zindex = -1.0
|
||||||
|
children = Array[ExtResource("2_cjoo4")]([SubResource("Resource_qwcja")])
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
script = ExtResource("1_re035")
|
script = ExtResource("1_re035")
|
||||||
sprites = Array[ExtResource("2_cjoo4")]([])
|
sprites = Array[ExtResource("2_cjoo4")]([SubResource("Resource_ifxpp")])
|
||||||
metadata/_custom_type_script = "uid://b73on8ic2acsv"
|
|
||||||
|
|
3
empty.tscn
Normal file
3
empty.tscn
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[gd_scene format=3 uid="uid://blqhhndk1dwv7"]
|
||||||
|
|
||||||
|
[node name="Empty" type="Node2D"]
|
|
@ -45,7 +45,9 @@ var settings: Settings = Settings.new()
|
||||||
var settingsPath = "user://settings.pngtp"
|
var settingsPath = "user://settings.pngtp"
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
settings = load(settingsPath)
|
var loaded_settings = load(settingsPath)
|
||||||
|
if loaded_settings != null:
|
||||||
|
settings = loaded_settings
|
||||||
|
|
||||||
func _exit_tree():
|
func _exit_tree():
|
||||||
write_settings(settingsPath)
|
write_settings(settingsPath)
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -51,14 +51,8 @@ var updatePusherNode = null
|
||||||
func _ready():
|
func _ready():
|
||||||
spectrum = AudioServer.get_bus_effect_instance(1, 1)
|
spectrum = AudioServer.get_bus_effect_instance(1, 1)
|
||||||
|
|
||||||
if !Saving.settings.has("useStreamDeck"):
|
Global.micResetTime = Config.settings.secondsToMicReset
|
||||||
Saving.settings["useStreamDeck"] = false
|
|
||||||
|
|
||||||
if Saving.settings.has("secondsToMicReset"):
|
|
||||||
Global.micResetTime = Saving.settings["secondsToMicReset"]
|
|
||||||
else:
|
|
||||||
Saving.settings["secondsToMicReset"] = 180
|
|
||||||
|
|
||||||
createMicrophone()
|
createMicrophone()
|
||||||
|
|
||||||
func createMicrophone():
|
func createMicrophone():
|
||||||
|
@ -117,7 +111,8 @@ func _process(delta):
|
||||||
|
|
||||||
else:
|
else:
|
||||||
reparentMode = false
|
reparentMode = false
|
||||||
Global.chain.enable(reparentMode)
|
#Global.chain.enable(reparentMode)
|
||||||
|
return
|
||||||
|
|
||||||
if main.editMode:
|
if main.editMode:
|
||||||
if reparentMode:
|
if reparentMode:
|
||||||
|
|
|
@ -2,3 +2,21 @@ extends Resource
|
||||||
class_name AvatarData
|
class_name AvatarData
|
||||||
|
|
||||||
@export var sprites: Array[SpriteData] = []
|
@export var sprites: Array[SpriteData] = []
|
||||||
|
|
||||||
|
static func from_legacy_json(data: String) -> AvatarData:
|
||||||
|
var sprites: Array[SpriteData] = []
|
||||||
|
var json_data = JSON.parse_string(data)
|
||||||
|
if json_data is not Dictionary: return null
|
||||||
|
for sprite_data in json_data.values():
|
||||||
|
if sprite_data is not Dictionary: return null
|
||||||
|
var sprite = SpriteData.from_legacy_dict(sprite_data)
|
||||||
|
sprites.append(sprite)
|
||||||
|
var avatar = new()
|
||||||
|
for sprite in sprites:
|
||||||
|
if sprite.legacy_parent_id != null:
|
||||||
|
var parent_index = sprites.find_custom(func(x): return x.legacy_id == sprite.legacy_parent_id)
|
||||||
|
if parent_index != -1:
|
||||||
|
sprites[parent_index].children.append(sprite)
|
||||||
|
continue
|
||||||
|
avatar.sprites.append(sprite)
|
||||||
|
return avatar
|
||||||
|
|
|
@ -4,23 +4,74 @@ class_name SpriteData
|
||||||
@export var anim_speed = 0
|
@export var anim_speed = 0
|
||||||
@export var clipped = false
|
@export var clipped = false
|
||||||
@export var costume_layers: Array[bool] = [true, true, true, true, true, true, true, true, true, true]
|
@export var costume_layers: Array[bool] = [true, true, true, true, true, true, true, true, true, true]
|
||||||
@export var drag = 0
|
@export var drag_speed = 0
|
||||||
@export var frames = 1
|
@export var frames = 1
|
||||||
@export var ignore_bounce = false
|
@export var ignore_bounce = false
|
||||||
|
#@export_global_file var path = ""
|
||||||
@export var image: Texture
|
@export var image: Texture
|
||||||
@export var offset = Vector2(0, 0)
|
@export var offset = Vector2(0, 0)
|
||||||
@export_global_file var path = "user://defaultAvatar/body.png"
|
|
||||||
@export var pos = Vector2(0, 0)
|
@export var pos = Vector2(0, 0)
|
||||||
@export var r_limit_max = 180
|
@export var r_limit_max = 180
|
||||||
@export var r_limit_min = -180
|
@export var r_limit_min = -180
|
||||||
@export var rot_drag = 0
|
@export var rot_drag = 0
|
||||||
@export var show_blink = 0
|
@export var show_blink = 0
|
||||||
@export var show_talk = 0
|
@export var show_talk = 0
|
||||||
@export var stretch_amount = 0.25
|
@export var stretch_amount = 0.0
|
||||||
@export var type = "sprite"
|
@export var x_amp: float = 0
|
||||||
@export var x_amp = 9
|
@export var x_frq: float = 0
|
||||||
@export var x_frq = 0.004
|
@export var y_amp: float = 0
|
||||||
@export var y_amp = 11
|
@export var y_frq: float = 0
|
||||||
@export var y_frq = 0.008
|
@export var zindex = 0
|
||||||
@export var zindex = -1
|
|
||||||
@export var children: Array[SpriteData] = []
|
@export var children: Array[SpriteData] = []
|
||||||
|
var legacy_id
|
||||||
|
var legacy_parent_id
|
||||||
|
|
||||||
|
static func from_legacy_dict(data: Dictionary) -> SpriteData:
|
||||||
|
var sprite = new()
|
||||||
|
|
||||||
|
sprite.anim_speed = data.get("animSpeed", sprite.anim_speed)
|
||||||
|
sprite.clipped = data.get("clipped", sprite.clipped)
|
||||||
|
|
||||||
|
if "costumeLayers" in data:
|
||||||
|
var layers: Array[bool] = []
|
||||||
|
for l in str_to_var(data["costumeLayers"]):
|
||||||
|
layers.append(l == 1) # .map doesn't result in a typed array :/
|
||||||
|
sprite.costume_layers = layers
|
||||||
|
|
||||||
|
sprite.drag_speed = data.get("drag", sprite.drag_speed)
|
||||||
|
sprite.frames = data.get("frames", sprite.frames)
|
||||||
|
sprite.ignore_bounce = data.get("ignoreBounce", sprite.ignore_bounce)
|
||||||
|
|
||||||
|
if "path" in data:
|
||||||
|
sprite.image = Image.load_from_file(data["path"])
|
||||||
|
if sprite.image == null:
|
||||||
|
if "imageData" not in data: return null
|
||||||
|
var image = Image.new()
|
||||||
|
var error = image.load_png_from_buffer(Marshalls.base64_to_raw(data["imageData"]))
|
||||||
|
if error != OK:
|
||||||
|
return null
|
||||||
|
|
||||||
|
|
||||||
|
sprite.offset = legacy_get_from_string(data, "offset", sprite.offset)
|
||||||
|
sprite.pos = legacy_get_from_string(data, "pos", sprite.pos)
|
||||||
|
sprite.r_limit_max = data.get("rLimitMax", sprite.r_limit_max)
|
||||||
|
sprite.r_limit_min = data.get("rLimitMin", sprite.r_limit_min)
|
||||||
|
sprite.rot_drag = data.get("rotDrag", sprite.rot_drag)
|
||||||
|
sprite.show_blink = data.get("showBlink", sprite.show_blink)
|
||||||
|
sprite.show_talk = data.get("showTalk", sprite.show_talk)
|
||||||
|
sprite.stretch_amount = data.get("stretchAmount", sprite.stretch_amount)
|
||||||
|
sprite.x_amp = data.get("xAmp", sprite.x_amp)
|
||||||
|
sprite.x_frq = data.get("xFrq", sprite.x_frq)
|
||||||
|
sprite.y_amp = data.get("yAmp", sprite.y_amp)
|
||||||
|
sprite.y_frq = data.get("yFrq", sprite.y_frq)
|
||||||
|
sprite.zindex = data.get("zindex", sprite.zindex)
|
||||||
|
|
||||||
|
sprite.legacy_id = data.get("identification")
|
||||||
|
sprite.legacy_parent_id = data.get("parentId")
|
||||||
|
|
||||||
|
return sprite
|
||||||
|
|
||||||
|
static func legacy_get_from_string(data: Dictionary, index: String, default: Variant) -> Variant:
|
||||||
|
if index in data:
|
||||||
|
return str_to_var(data[index])
|
||||||
|
return default
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue