diff --git a/scenes/game_root.tscn b/scenes/game_root.tscn index d229002..dd67802 100644 --- a/scenes/game_root.tscn +++ b/scenes/game_root.tscn @@ -18,9 +18,9 @@ script/source = "extends CanvasLayer # Called when the node enters the scene tree for the first time. func _ready() -> void: Signals.startDialogue.connect( - func(text): + func(text, faces, sounds): if !TextBox.has_textbox and Global.moveable: - var textbox := TextBox.create(text) + var textbox := TextBox.create(text, faces, sounds) add_child(textbox) ) " diff --git a/scenes/overworld/rooms/hometown.tscn b/scenes/overworld/rooms/hometown.tscn index be8dc6d..99685bc 100644 --- a/scenes/overworld/rooms/hometown.tscn +++ b/scenes/overworld/rooms/hometown.tscn @@ -245,29 +245,37 @@ script/source = "extends StaticBody2D func interact() -> void: var text = [ - \"* That's right fuckers, I'm the [shake rate=50.0 level=10 connected=1][color=red][img=x32]res://sprites/example/tennatime.png[/img] Roaring Knight[/color][/shake]!\", - \"* wait what the fuck\", - \"Where is my asterick\", - \"* ive got many askerisks?\\n* yes\\n* maybe too many\", - \"* funnytext test\\n* [img=350x70]res://sprites/souls/soul.png[/img]\" + \"* I am Susie and I am yapping a lot to test wrapping with portraits\", + \"* I am Ralsei (Quiet)\", + \"* I am Tenna and I'm yapping a lot to test face-portrait-less text wrapping\" ] - TextBox.start_dialogue(text) + var faces = [ + \"res://sprites/face_portraits/susie_grin.png\", + \"res://sprites/face_portraits/ralsei_smile.png\", + \"none\" + ] + var sounds = [ + [\"res://sounds/voice/susie.wav\"], + [\"res://sounds/voice/snd_txtral.wav\"], + [ + \"res://sounds/voice/snd_tv_voice_short.wav\", + \"res://sounds/voice/snd_tv_voice_short_2.wav\", + \"res://sounds/voice/snd_tv_voice_short_3.wav\", + \"res://sounds/voice/snd_tv_voice_short_4.wav\", + \"res://sounds/voice/snd_tv_voice_short_5.wav\", + \"res://sounds/voice/snd_tv_voice_short_6.wav\", + \"res://sounds/voice/snd_tv_voice_short_7.wav\", + \"res://sounds/voice/snd_tv_voice_short_8.wav\", + \"res://sounds/voice/snd_tv_voice_short_9.wav\", + \"res://sounds/voice/snd_tv_voice_short_10.wav\" + + ] + ] + TextBox.start_dialogue(text, faces, sounds) " [sub_resource type="RectangleShape2D" id="RectangleShape2D_j46a3"] -[sub_resource type="GDScript" id="GDScript_oqv75"] -script/source = "extends Area2D - -func _on_body_entered(body: Node2D) -> void: - var text = [ - \"* $#!&-stains\", - \"* $#!&-stains on the wall\", - \"yo\" - ] - TextBox.start_dialogue(text) -" - [node name="Hometown" type="Node2D" unique_id=2025934906] scale = Vector2(2, 2) script = ExtResource("1_b2ck7") @@ -344,28 +352,14 @@ texture = ExtResource("10_eflds") position = Vector2(70, 70) script = ExtResource("11_obw5g") -[node name="Room" type="StaticBody2D" parent="." unique_id=1944634033] +[node name="Face Test" type="StaticBody2D" parent="." unique_id=1944634033] position = Vector2(139.00003, 155) script = SubResource("GDScript_n2hw7") -[node name="Room" type="Sprite2D" parent="Room" unique_id=125079961] +[node name="Room" type="Sprite2D" parent="Face Test" unique_id=125079961] position = Vector2(0.9999695, 5) texture = ExtResource("12_oqv75") -[node name="CollisionShape2D" type="CollisionShape2D" parent="Room" unique_id=1351192506] +[node name="CollisionShape2D" type="CollisionShape2D" parent="Face Test" unique_id=1351192506] position = Vector2(0.9999695, 5) shape = SubResource("RectangleShape2D_j46a3") - -[node name="Room2" type="Area2D" parent="." unique_id=436147738] -position = Vector2(184.00003, 155) -script = SubResource("GDScript_oqv75") - -[node name="Room" type="Sprite2D" parent="Room2" unique_id=523366664] -position = Vector2(0.9999695, 5) -texture = ExtResource("12_oqv75") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="Room2" unique_id=1049520239] -position = Vector2(0.9999695, 5) -shape = SubResource("RectangleShape2D_j46a3") - -[connection signal="body_entered" from="Room2" to="Room2" method="_on_body_entered"] diff --git a/scenes/ui/textbox.tscn b/scenes/ui/textbox.tscn index 88a98d3..f7347ac 100644 --- a/scenes/ui/textbox.tscn +++ b/scenes/ui/textbox.tscn @@ -2,10 +2,8 @@ [ext_resource type="Script" uid="uid://cx1nqx718bnfa" path="res://scripts/classes/textbox.gd" id="1_hyn88"] [ext_resource type="PackedScene" uid="uid://tw5hkjn0a81b" path="res://scenes/ui/dark_box.tscn" id="2_fto3e"] -[ext_resource type="AudioStream" uid="uid://b73flekf0aj0h" path="res://sounds/ui/select.wav" id="3_fto3e"] [ext_resource type="PackedScene" uid="uid://d1tmmpanucxap" path="res://scenes/ui/light_box.tscn" id="3_seire"] -[ext_resource type="Texture2D" uid="uid://bu708k77nhnyg" path="res://sprites/actors/susie/faces/sincere.png" id="4_hdjaa"] -[ext_resource type="AudioStream" uid="uid://cp7rxhw17v65x" path="res://sounds/ui/menumove.wav" id="4_seire"] +[ext_resource type="Texture2D" uid="uid://bu708k77nhnyg" path="res://sprites/face_portraits/susie_sincere.png" id="5_hyn88"] [ext_resource type="FontFile" uid="uid://dcrh8bap8gwdn" path="res://fonts/main_mono.ttf" id="5_okh7m"] [ext_resource type="AudioStream" uid="uid://b2y0nkg6g0lnd" path="res://sounds/voice/susie.wav" id="6_k71a8"] @@ -20,9 +18,8 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_hyn88") -talk_sounds = Array[AudioStream]([ExtResource("6_k71a8"), ExtResource("3_fto3e"), ExtResource("4_seire")]) -lower_range = -0.09999999999999964 -upper_range = 0.1 +sounds = [] +talk_sounds = Array[AudioStream]([ExtResource("6_k71a8")]) [node name="DarkBox" parent="." unique_id=619300672 instance=ExtResource("2_fto3e")] visible = false @@ -47,13 +44,13 @@ offset_top = 350.0 offset_right = 114.0 offset_bottom = 401.0 scale = Vector2(2, 2) -texture = ExtResource("4_hdjaa") +texture = ExtResource("5_hyn88") [node name="HBoxContainer" type="HBoxContainer" parent="." unique_id=1309665849] layout_mode = 0 -offset_left = 174.0 +offset_left = 62.0 offset_top = 340.0 -offset_right = 590.0 +offset_right = 574.0 offset_bottom = 453.0 theme_override_constants/separation = 16 diff --git a/scripts/classes/textbox.gd b/scripts/classes/textbox.gd index 0486fac..2dca07c 100644 --- a/scripts/classes/textbox.gd +++ b/scripts/classes/textbox.gd @@ -14,13 +14,17 @@ class_name TextBox extends Control set_text(text[text_index]) set_asterisks() +@export var faces: Array[String] = [""] +var is_face := false + @onready var ast = $HBoxContainer/asterisks @onready var dia = $HBoxContainer/dialoguetext @onready var dark_box: NinePatchRect = $DarkBox @onready var light_box: NinePatchRect = $LightBox @export_group("Talking Sound") -@export var talk_sounds: Array[AudioStream] +@export var sounds: Array = [""] +@export var talk_sounds: Array = [""] @export_subgroup("Random Pitch Range") @export_range(-1, 0, 0.1) var lower_range: float = 0.0 @export_range(0, 1, 0.1) var upper_range: float = 0.0 @@ -32,25 +36,34 @@ static var has_textbox := false var animating := false var text_index := 0 +@export var fast_text_skip := false +var can_advance := true +var can_skip := true + # this is actually called a `paragraph` in `RichTextLabel` # because each line here means includes wrapped lines var line_starts_with_asterisk: Array[bool] = [] var has_asterisks: bool -static func start_dialogue(text: Array) -> void: - Signals.startDialogue.emit(text) +static func start_dialogue(text: Array, faces: Array, sounds: Array) -> void: + Signals.startDialogue.emit(text, faces, sounds) + Global.moveable = false func line_asterisk(line: String) -> bool: return (len(line) == 1 and line[0] == '*') \ or (line.substr(0,2) == '* ') # Creates a new textbox. -static func create(text: Array) -> TextBox: +static func create(text: Array, faces: Array, sounds: Array) -> TextBox: var textbox_inst: TextBox = textbox_scene.instantiate() #textbox_inst.text = text # append_array needed otherwise godot is weird textbox_inst.text.clear() textbox_inst.text.append_array(text) + textbox_inst.faces.clear() + textbox_inst.faces.append_array(faces) + textbox_inst.sounds.clear() + textbox_inst.sounds.append_array(sounds) return textbox_inst func set_text(text: String): @@ -79,6 +92,19 @@ func set_asterisks(): lineno += 1 ast.visible_characters = 0 +func set_face(): + is_face = faces[text_index] != "none" + if is_face: + $TalkSprite.texture = load(faces[text_index]) + $HBoxContainer.position = Vector2(174, 340) + $HBoxContainer.size = Vector2(400, 113) + else: + $TalkSprite.texture = null + $HBoxContainer.position = Vector2(62, 340) + $HBoxContainer.size = Vector2(512, 113) + $HBoxContainer/dialoguetext.custom_minimum_size = $HBoxContainer.size + $HBoxContainer/dialoguetext.custom_maximum_size = $HBoxContainer.size + func _ready(): has_textbox = true @@ -92,6 +118,8 @@ func _ready(): light_box.visible = false $TalkSprite.set_position(Vector2(69.0, 350.0)) + set_face() + talk_sounds = sounds[text_index] set_text(text[text_index]) set_asterisks() animate_text() @@ -102,8 +130,10 @@ func animate_text(): print(text) dia.visible_characters = 0 while dia.visible_characters < dia.get_total_character_count(): - if Input.is_action_just_pressed("cancel"): + if (Input.is_action_just_pressed("cancel") or Input.is_action_pressed("menu")) and can_skip: dia.visible_characters = dia.get_total_character_count() + play_talk_sound() + can_advance = !fast_text_skip animating = false return animating = true @@ -117,7 +147,7 @@ func play_talk_sound(): var sound = talk_sounds.pick_random() var pitch_offset = randf_range(lower_range, upper_range) var player = AudioStreamPlayer.new() - player.stream = sound + player.stream = load(sound) player.pitch_scale += pitch_offset player.finished.connect( func(): @@ -130,6 +160,8 @@ func play_talk_sound(): func _process(_delta: float) -> void: if Engine.is_editor_hint(): return + + #Set box style match Global.world_type: Global.WorldTypes.WORLD_LIGHT: dark_box.visible = false @@ -139,17 +171,26 @@ func _process(_delta: float) -> void: dark_box.visible = true light_box.visible = false $TalkSprite.set_position(Vector2(69.0, 350.0)) + ast.visible_characters = dia.get_visible_line_count() - if Input.is_action_just_pressed("confirm") and !animating: + if (Input.is_action_just_pressed("confirm") or Input.is_action_pressed("menu")) and !animating and can_advance: text_index += 1 + if text_index >= text.size(): + Global.moveable = true queue_free() has_textbox = false return + else: + set_face() + talk_sounds = sounds[text_index] set_text(text[text_index]) set_asterisks() animate_text() + + if !can_advance: + can_advance = true #func paragraph_starts_with_asterisk(i: int): #var offset = get_paragraph_offset(i) diff --git a/scripts/dark_menu.gd b/scripts/dark_menu.gd index c908309..eb64fbc 100644 --- a/scripts/dark_menu.gd +++ b/scripts/dark_menu.gd @@ -51,7 +51,7 @@ func _ready(): option.button_pressed = false submenu_open = false ) - + Signals.toggleMenu.connect( func(): if !animating: diff --git a/sounds/voice/snd_tv_voice_short.wav b/sounds/voice/snd_tv_voice_short.wav new file mode 100644 index 0000000..4e3bf80 Binary files /dev/null and b/sounds/voice/snd_tv_voice_short.wav differ diff --git a/sounds/voice/snd_tv_voice_short.wav.import b/sounds/voice/snd_tv_voice_short.wav.import new file mode 100644 index 0000000..9d18a09 --- /dev/null +++ b/sounds/voice/snd_tv_voice_short.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://5fd7is3xx3yc" +path="res://.godot/imported/snd_tv_voice_short.wav-1a1cce17c12e88c2aa8834c17c91d0a2.sample" + +[deps] + +source_file="res://sounds/voice/snd_tv_voice_short.wav" +dest_files=["res://.godot/imported/snd_tv_voice_short.wav-1a1cce17c12e88c2aa8834c17c91d0a2.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/sounds/voice/snd_tv_voice_short_10.wav b/sounds/voice/snd_tv_voice_short_10.wav new file mode 100644 index 0000000..b4584c0 Binary files /dev/null and b/sounds/voice/snd_tv_voice_short_10.wav differ diff --git a/sounds/voice/snd_tv_voice_short_10.wav.import b/sounds/voice/snd_tv_voice_short_10.wav.import new file mode 100644 index 0000000..3e603ea --- /dev/null +++ b/sounds/voice/snd_tv_voice_short_10.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bhxuymb3g105v" +path="res://.godot/imported/snd_tv_voice_short_10.wav-071159273d043dc652777ed92afbe757.sample" + +[deps] + +source_file="res://sounds/voice/snd_tv_voice_short_10.wav" +dest_files=["res://.godot/imported/snd_tv_voice_short_10.wav-071159273d043dc652777ed92afbe757.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/sounds/voice/snd_tv_voice_short_2.wav b/sounds/voice/snd_tv_voice_short_2.wav new file mode 100644 index 0000000..1fbaa53 Binary files /dev/null and b/sounds/voice/snd_tv_voice_short_2.wav differ diff --git a/sounds/voice/snd_tv_voice_short_2.wav.import b/sounds/voice/snd_tv_voice_short_2.wav.import new file mode 100644 index 0000000..6759adc --- /dev/null +++ b/sounds/voice/snd_tv_voice_short_2.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://m0mhafntivgd" +path="res://.godot/imported/snd_tv_voice_short_2.wav-28cd562d05efde9e4794492f60f64a82.sample" + +[deps] + +source_file="res://sounds/voice/snd_tv_voice_short_2.wav" +dest_files=["res://.godot/imported/snd_tv_voice_short_2.wav-28cd562d05efde9e4794492f60f64a82.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/sounds/voice/snd_tv_voice_short_3.wav b/sounds/voice/snd_tv_voice_short_3.wav new file mode 100644 index 0000000..07f94a5 Binary files /dev/null and b/sounds/voice/snd_tv_voice_short_3.wav differ diff --git a/sounds/voice/snd_tv_voice_short_3.wav.import b/sounds/voice/snd_tv_voice_short_3.wav.import new file mode 100644 index 0000000..1863d8c --- /dev/null +++ b/sounds/voice/snd_tv_voice_short_3.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dapohg1k66dwj" +path="res://.godot/imported/snd_tv_voice_short_3.wav-07dbffff17e6f8affefa62fe1cf6ce16.sample" + +[deps] + +source_file="res://sounds/voice/snd_tv_voice_short_3.wav" +dest_files=["res://.godot/imported/snd_tv_voice_short_3.wav-07dbffff17e6f8affefa62fe1cf6ce16.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/sounds/voice/snd_tv_voice_short_4.wav b/sounds/voice/snd_tv_voice_short_4.wav new file mode 100644 index 0000000..25273ef Binary files /dev/null and b/sounds/voice/snd_tv_voice_short_4.wav differ diff --git a/sounds/voice/snd_tv_voice_short_4.wav.import b/sounds/voice/snd_tv_voice_short_4.wav.import new file mode 100644 index 0000000..78311cc --- /dev/null +++ b/sounds/voice/snd_tv_voice_short_4.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cfqlql0cko475" +path="res://.godot/imported/snd_tv_voice_short_4.wav-4c68fd79916c50131f1d2c4e2c87b024.sample" + +[deps] + +source_file="res://sounds/voice/snd_tv_voice_short_4.wav" +dest_files=["res://.godot/imported/snd_tv_voice_short_4.wav-4c68fd79916c50131f1d2c4e2c87b024.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/sounds/voice/snd_tv_voice_short_5.wav b/sounds/voice/snd_tv_voice_short_5.wav new file mode 100644 index 0000000..6486acc Binary files /dev/null and b/sounds/voice/snd_tv_voice_short_5.wav differ diff --git a/sounds/voice/snd_tv_voice_short_5.wav.import b/sounds/voice/snd_tv_voice_short_5.wav.import new file mode 100644 index 0000000..2bdef58 --- /dev/null +++ b/sounds/voice/snd_tv_voice_short_5.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bs2084wwdggvh" +path="res://.godot/imported/snd_tv_voice_short_5.wav-216f65703d02f01e49303cee90e0fbf1.sample" + +[deps] + +source_file="res://sounds/voice/snd_tv_voice_short_5.wav" +dest_files=["res://.godot/imported/snd_tv_voice_short_5.wav-216f65703d02f01e49303cee90e0fbf1.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/sounds/voice/snd_tv_voice_short_6.wav b/sounds/voice/snd_tv_voice_short_6.wav new file mode 100644 index 0000000..8b60b47 Binary files /dev/null and b/sounds/voice/snd_tv_voice_short_6.wav differ diff --git a/sounds/voice/snd_tv_voice_short_6.wav.import b/sounds/voice/snd_tv_voice_short_6.wav.import new file mode 100644 index 0000000..33374cc --- /dev/null +++ b/sounds/voice/snd_tv_voice_short_6.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cyg2bfgp3vdn0" +path="res://.godot/imported/snd_tv_voice_short_6.wav-6c92d57006516defa645debe70c69711.sample" + +[deps] + +source_file="res://sounds/voice/snd_tv_voice_short_6.wav" +dest_files=["res://.godot/imported/snd_tv_voice_short_6.wav-6c92d57006516defa645debe70c69711.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/sounds/voice/snd_tv_voice_short_7.wav b/sounds/voice/snd_tv_voice_short_7.wav new file mode 100644 index 0000000..5c058aa Binary files /dev/null and b/sounds/voice/snd_tv_voice_short_7.wav differ diff --git a/sounds/voice/snd_tv_voice_short_7.wav.import b/sounds/voice/snd_tv_voice_short_7.wav.import new file mode 100644 index 0000000..365e978 --- /dev/null +++ b/sounds/voice/snd_tv_voice_short_7.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://bci2alqljjown" +path="res://.godot/imported/snd_tv_voice_short_7.wav-f5f111dd14d4a6e04287b1c43102611d.sample" + +[deps] + +source_file="res://sounds/voice/snd_tv_voice_short_7.wav" +dest_files=["res://.godot/imported/snd_tv_voice_short_7.wav-f5f111dd14d4a6e04287b1c43102611d.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/sounds/voice/snd_tv_voice_short_8.wav b/sounds/voice/snd_tv_voice_short_8.wav new file mode 100644 index 0000000..938adff Binary files /dev/null and b/sounds/voice/snd_tv_voice_short_8.wav differ diff --git a/sounds/voice/snd_tv_voice_short_8.wav.import b/sounds/voice/snd_tv_voice_short_8.wav.import new file mode 100644 index 0000000..fea3ea1 --- /dev/null +++ b/sounds/voice/snd_tv_voice_short_8.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://eaiufkvnb1xr" +path="res://.godot/imported/snd_tv_voice_short_8.wav-3c7452ffda047262d492c1a5bf46320f.sample" + +[deps] + +source_file="res://sounds/voice/snd_tv_voice_short_8.wav" +dest_files=["res://.godot/imported/snd_tv_voice_short_8.wav-3c7452ffda047262d492c1a5bf46320f.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/sounds/voice/snd_tv_voice_short_9.wav b/sounds/voice/snd_tv_voice_short_9.wav new file mode 100644 index 0000000..cd8cb7d Binary files /dev/null and b/sounds/voice/snd_tv_voice_short_9.wav differ diff --git a/sounds/voice/snd_tv_voice_short_9.wav.import b/sounds/voice/snd_tv_voice_short_9.wav.import new file mode 100644 index 0000000..8a42ba0 --- /dev/null +++ b/sounds/voice/snd_tv_voice_short_9.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://b634ulyaxd3xs" +path="res://.godot/imported/snd_tv_voice_short_9.wav-8b5ba8469c1516fc89e4c475250abbb5.sample" + +[deps] + +source_file="res://sounds/voice/snd_tv_voice_short_9.wav" +dest_files=["res://.godot/imported/snd_tv_voice_short_9.wav-8b5ba8469c1516fc89e4c475250abbb5.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/sounds/voice/snd_txtral.wav b/sounds/voice/snd_txtral.wav new file mode 100644 index 0000000..39b76a1 Binary files /dev/null and b/sounds/voice/snd_txtral.wav differ diff --git a/sounds/voice/snd_txtral.wav.import b/sounds/voice/snd_txtral.wav.import new file mode 100644 index 0000000..52817a8 --- /dev/null +++ b/sounds/voice/snd_txtral.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ctgvy4d6weygr" +path="res://.godot/imported/snd_txtral.wav-c61cd43b064ecda96ad91c5bebbe0afe.sample" + +[deps] + +source_file="res://sounds/voice/snd_txtral.wav" +dest_files=["res://.godot/imported/snd_txtral.wav-c61cd43b064ecda96ad91c5bebbe0afe.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/sprites/face_portraits/ralsei_smile.png b/sprites/face_portraits/ralsei_smile.png new file mode 100644 index 0000000..c9a0cfc Binary files /dev/null and b/sprites/face_portraits/ralsei_smile.png differ diff --git a/sprites/face_portraits/ralsei_smile.png.import b/sprites/face_portraits/ralsei_smile.png.import new file mode 100644 index 0000000..d2e035d --- /dev/null +++ b/sprites/face_portraits/ralsei_smile.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dsenxh8yqptid" +path="res://.godot/imported/ralsei_smile.png-d0b80bd9c826b9fb96ff14aa926056cb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/face_portraits/ralsei_smile.png" +dest_files=["res://.godot/imported/ralsei_smile.png-d0b80bd9c826b9fb96ff14aa926056cb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/sprites/face_portraits/susie_grin.png b/sprites/face_portraits/susie_grin.png new file mode 100644 index 0000000..6c27522 Binary files /dev/null and b/sprites/face_portraits/susie_grin.png differ diff --git a/sprites/face_portraits/susie_grin.png.import b/sprites/face_portraits/susie_grin.png.import new file mode 100644 index 0000000..fb3c9bb --- /dev/null +++ b/sprites/face_portraits/susie_grin.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://y16wmomlvj68" +path="res://.godot/imported/susie_grin.png-6977460bbc0e085f042bc4a976e0e198.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://sprites/face_portraits/susie_grin.png" +dest_files=["res://.godot/imported/susie_grin.png-6977460bbc0e085f042bc4a976e0e198.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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 diff --git a/sprites/actors/susie/faces/sincere.png b/sprites/face_portraits/susie_sincere.png similarity index 100% rename from sprites/actors/susie/faces/sincere.png rename to sprites/face_portraits/susie_sincere.png diff --git a/sprites/actors/susie/faces/sincere.png.import b/sprites/face_portraits/susie_sincere.png.import similarity index 75% rename from sprites/actors/susie/faces/sincere.png.import rename to sprites/face_portraits/susie_sincere.png.import index 1ddf9cb..ab7b949 100644 --- a/sprites/actors/susie/faces/sincere.png.import +++ b/sprites/face_portraits/susie_sincere.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://bu708k77nhnyg" -path="res://.godot/imported/sincere.png-de7b266b6f18a4819a5f671cd6e04540.ctex" +path="res://.godot/imported/susie_sincere.png-47060bd7f5475616a66fbbd507fed1ac.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://sprites/actors/susie/faces/sincere.png" -dest_files=["res://.godot/imported/sincere.png-de7b266b6f18a4819a5f671cd6e04540.ctex"] +source_file="res://sprites/face_portraits/susie_sincere.png" +dest_files=["res://.godot/imported/susie_sincere.png-47060bd7f5475616a66fbbd507fed1ac.ctex"] [params]