diff --git a/SMRT/FramePosition.gd b/SMRT/FramePosition.gd new file mode 100644 index 0000000..e69de29 diff --git a/SMRT/Message_background.png.import b/SMRT/Message_background.png.import new file mode 100644 index 0000000..328087a --- /dev/null +++ b/SMRT/Message_background.png.import @@ -0,0 +1,29 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Message_background.png-ae1d6cdcea7d3200324fb9187c6892c8.stex" + +[deps] + +source_file="res://addons/SMRT/Message_background.png" +dest_files=[ "res://.import/Message_background.png-ae1d6cdcea7d3200324fb9187c6892c8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/SMRT/README.md b/SMRT/README.md index 1a43e9a..8ebb4cf 100644 --- a/SMRT/README.md +++ b/SMRT/README.md @@ -22,7 +22,7 @@ It is also ~~most likely~~ responsive and resolution independent. ## Installing -**Needs Godot 2.1 or newer** +**Needs Godot 3 or newer** [Godot's Website] (http://www.godotengine.com) diff --git a/SMRT/SMRT.gd b/SMRT/SMRT.gd index 3a85abb..2770a35 100644 --- a/SMRT/SMRT.gd +++ b/SMRT/SMRT.gd @@ -1,6 +1,27 @@ +#------------------------------------------------------------------------------ +# Copyright 2016 brunosxs +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ------------------------------------------------------------------------------ + # init script that sets everything up # Nothing (that I think) worth mentioning here - tool extends EditorPlugin @@ -8,6 +29,8 @@ var show_editor_btn var editor_tscn = preload("res://addons/SMRT/editor.tscn") var editor_btn var editor +var selection + func _init(): editor_btn = ToolButton.new() @@ -15,6 +38,7 @@ func _ready(): editor_btn.set_button_icon(preload("icon.png")) editor_btn.set_text("SMRT-Editor") editor_btn.connect("pressed",self,"_open_editor") + editor_btn.visible = true func _enter_tree(): add_control_to_container(CONTAINER_CANVAS_EDITOR_MENU,editor_btn) @@ -25,6 +49,7 @@ func _exit_tree(): # As the release of this plugin, there is no oposite function # to "add_control_to_container" so for now it is not possible to remove a control from a container, # only the custom type + editor_btn.queue_free() remove_custom_type("SMRT-Dialog") @@ -35,3 +60,11 @@ func _open_editor(): editor.popup_centered() print("OPENING EDITOR!") print("===============") + + +func _selection_changed(): + for select in selection.get_selected_nodes(): + if select is preload("res://addons/SMRT/dialog.gd"): + editor_btn.visible = true + return + editor_btn.visible = false diff --git a/SMRT/beep_letter.wav.import b/SMRT/beep_letter.wav.import new file mode 100644 index 0000000..dbeb015 --- /dev/null +++ b/SMRT/beep_letter.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/beep_letter.wav-daa5033ccc367b3994cce2e607c737e8.sample" + +[deps] + +source_file="res://addons/SMRT/beep_letter.wav" +dest_files=[ "res://.import/beep_letter.wav-daa5033ccc367b3994cce2e607c737e8.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=true +edit/normalize=true +edit/loop=false +compress/mode=0 diff --git a/SMRT/dialog.gd b/SMRT/dialog.gd index 12ad831..5455ff0 100644 --- a/SMRT/dialog.gd +++ b/SMRT/dialog.gd @@ -1,4 +1,26 @@ -extends Patch9Frame +#------------------------------------------------------------------------------ +# Copyright 2016 brunosxs +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ------------------------------------------------------------------------------ + +extends NinePatchRect #Declared variables: @@ -11,10 +33,10 @@ var MIDDLE var BOTTOM # EXPORTED VARS =====> -export (Sample) var beep_WAV = preload("res://addons/SMRT/beep_letter.wav") +export (AudioStreamSample) var beep_WAV = preload("res://addons/SMRT/beep_letter.wav") export (DynamicFont) var font = preload("res://addons/SMRT/font/main_font.tres") export (int) var font_size = 32 -export (SpriteFrames) var face_sprites = preload("res://addons/SMRT/faces/dialog.tres") +export (SpriteFrames) var face_sprites export (Texture) var next_dialog_texture = preload("res://addons/SMRT/next_line.png") export var dialog_frame_height = 4 var face_v_pos = 0 @@ -43,6 +65,7 @@ var text var typewriter = true var enable_question var answers +var dialog_dup var btn_answers var answer_number var black_screen @@ -56,7 +79,7 @@ var info = {chapter = null, dialog = null, last_text_index = null, total_text = var dimensions = {"box_rectangle": null, "text_rectangle": null, "font_size": null, "text_margin":{"left": null, "right": null, "top":null, "bottom":null}} -onready var audio = get_node("SamplePlayer") +onready var audio = get_node("AudioStreamPlayer") #Get the label object in which the text will be displayed to the user onready var textObj= get_node("text_display") #The "Press button" to continue @@ -70,15 +93,15 @@ onready var anim = get_node("anim") func _ready(): language = load_language(language) + print("VIEWPORT RECTANGLE ",get_viewport_rect().size) #defaults if beep_WAV == null: if show_debug_messages: - print("Beep sound file not found, loading default") - preload("res://addons/SMRT/beep_letter.wav") - var beep = SampleLibrary.new() - beep.add_sample("beep_letter", beep_WAV) - audio.set_sample_library(beep) + beep_WAV = preload("res://addons/SMRT/beep_letter.wav") + pass + + audio.stream = beep_WAV if font == null: if show_debug_messages: print("Font file not found, loading default") @@ -86,10 +109,9 @@ func _ready(): if face_sprites == null: if show_debug_messages: - print("Face sprites file not found, loading default") - preload("res://addons/SMRT/faces/dialog.tres") - - face.set_sprite_frames(face_sprites) + print("Face sprites file not found") + else: + face.set_sprite_frames(face_sprites) if next_dialog_texture == null: preload("res://addons/SMRT/next_line.png") nextLine.set_texture(next_dialog_texture) @@ -99,7 +121,6 @@ func _ready(): #Reset textObj #Start the magic set_process_input(true) - set_process_input(true) store_dimensions() store_margins() @@ -112,7 +133,8 @@ func reset(): position= null side = null answer_number = null - textObj.set_bbcode("") + textObj.bbcode_enabled = true + textObj.bbcode_text = "" dialog_array = [] @@ -126,16 +148,13 @@ func load_language(lang_file="res://addons/SMRT/example.lan"): print("Found dialog file" , lang_file) var temp_lang = file.get_as_text() var dictionary = {} - dictionary.parse_json(temp_lang) - return dictionary - else: - if show_debug_messages: - print("Error loading dialog file") - var temp_lang = {"Problem":{"Debug":[{"beep_pitch":1, "face_position":1, "beep":true, "text":"Error loading the language file!", "enable_question":false, "typewriter_speed":0.05, "typewriter":true, "frame_position":1, "face_frame":1}]}} - var dictionary = {} - dictionary.parse_json(temp_lang) - - return dictionary + dictionary = JSON.parse(temp_lang) + if typeof(dictionary.result) == TYPE_DICTIONARY: + return dictionary.result + else: + if show_debug_messages: + print("Error loading dialog file") + return func store_dimensions(): dimensions.box_rectangle = get_rect() @@ -161,7 +180,7 @@ func show_text(chapter, dialog, start_at = 0): dialog_array = dialog position = 1 if typeof(dialog_array) == TYPE_STRING: - var single_text = {"text": dialog_array} + var single_text = {"text": parser(dialog_array)} dialog_array = [] dialog_array.append(single_text) if language.has(chapter): @@ -189,19 +208,19 @@ func show_text(chapter, dialog, start_at = 0): else: yield(get_tree(),"idle_frame") # fix for signal not registering at the same loop if show_debug_messages: - print("dialog doesn't exist") + print("dialog ", dialog, " doesn't exist") emit_signal("finished") return if show_debug_messages: print("Starting the dialog system") on_dialog = true - if is_hidden(): - show() + if not visible: + visible = true finished = false side = 0 - nextLine.hide() + nextLine.visible = false textObj.set_bbcode("") - face.hide() + face.visible = false # ERROR checking if dialog_array == null or dialog_array.empty(): yield(get_tree(),"idle_frame") # fix for signal not registering at the same loop @@ -211,13 +230,13 @@ func show_text(chapter, dialog, start_at = 0): return # POSITION VARS: TOP= Vector2(0,0) - MIDDLE = (get_viewport_rect().size/2)-Vector2(0,get_size().y) - BOTTOM = (get_viewport_rect().size)-Vector2(0,get_size().y) + MIDDLE = (get_viewport_rect().size/2)-Vector2(0,rect_size.y) + BOTTOM = (get_viewport_rect().size)-Vector2(0,rect_size.y) # A while loop that goes over each array value inside of dialog_array # based on the start_at parameter while on_dialog and start_at < dialog_array.size(): textObj.add_font_override("normal_font", font) - nextLine.hide() + nextLine.visible = false # Gets the values to be reseted at the end of the loop # ERROR CHECKING: if show_debug_messages: @@ -236,19 +255,25 @@ func show_text(chapter, dialog, start_at = 0): if dialog_array[start_at].has("face_frame"): if typeof(dialog_array[start_at].face_frame) == TYPE_REAL or typeof(dialog_array[start_at].face_position) == TYPE_INT: face.set_frame(int(dialog_array[start_at].face_frame)) - face.show() + face.visible = true if dialog_array[start_at].has("face_position"): side = dialog_array[start_at].face_position face.show() - texture_width = face.get_sprite_frames().get_frame(face.get_animation(), face.get_frame()).get_width() - texture_height = face.get_sprite_frames().get_frame(face.get_animation(), face.get_frame()).get_height() + if dialog_array[start_at].face_frame == null and dialog_array[start_at].face_frame <= face.frames.get_frame_count(): + texture_width = 0 + texture_height = 0 + else: + print("CURRENT FRAME IS ", dialog_array[start_at].face_frame) + texture_width = face.frames.get_frame("default", int(dialog_array[start_at].face_frame)).get_width() + texture_height = face.frames.get_frame("default", int(dialog_array[start_at].face_frame)).get_height() # Side of the dialog to display the face # RESETING THE DIALOG - text = dialog_array[start_at].text - textObj.set_bbcode(text) + text = parser(dialog_array[start_at].text) + textObj.bbcode_text = text textObj.set_visible_characters(-1) - var screen_res = get_tree().get_root().get_rect() + var screen_res = get_viewport_rect().size + print("This is the screen res: ", screen_res) # SPEED @@ -264,62 +289,68 @@ func show_text(chapter, dialog, start_at = 0): # If typewriter boolean is false, then gives ZERO to speed variable # to make the effect disapear. else: - audio.play("beep_letter") + pass + audio.play() - set_size(Vector2(screen_res.size.x,screen_res.size.y/dialog_frame_height)) - textObj.set_size(get_size()) - textObj.set_margin(0, 16) - textObj.set_margin(1, 8) - textObj.set_margin(2, 16) - textObj.set_margin(3, 8) - font.set_size(font_size) - nextLine.set_pos(get_size()-nextLine.get_size()) + rect_size = (Vector2(screen_res.x,screen_res.y/dialog_frame_height)) + textObj.rect_size = rect_size + textObj.margin_right = 16 + textObj.margin_bottom = 8 + textObj.margin_left = 16 + textObj.margin_top = 8 + font.size = font_size + nextLine.rect_position = rect_size-nextLine.rect_size #POSITION if the dialog is not bubble if position==0: - set_pos(Vector2(0,0)) + rect_position = Vector2(0,0) elif position==1: - set_pos(Vector2(0,screen_res.size.y/2)-Vector2(0,get_size().y/2)) + rect_position = Vector2(0,screen_res.y/2)-Vector2(0,rect_size.y/2) elif position==2: - self.set_pos(Vector2(0,screen_res.size.y-(get_size().y))) - var size = get_size().x - face_v_pos = get_size().y/2 - (texture_height/2) + rect_position = Vector2(0,screen_res.y-(get_size().y)) + var size = rect_size.x + face_v_pos = rect_size.y/2 - (texture_height/2) + print("The text is: ", textObj.text) if show_debug_messages: print("FACE V POS ", face_v_pos) + # no image if side == 0: - textObj.set_margin(0, dimensions.text_margin.left) - textObj.set_margin(1, dimensions.text_margin.top) - textObj.set_margin(2, dimensions.text_margin.right) - textObj.set_margin(3, dimensions.text_margin.bottom) - face.hide() + textObj.margin_left = dimensions.text_margin.left + textObj.margin_top = dimensions.text_margin.top + textObj.margin_right = dimensions.text_margin.right + textObj.margin_bottom = dimensions.text_margin.bottom + face.visible = false + #left side image elif side == 1: - textObj.set_margin(0, texture_width + texture_width/3) - textObj.set_margin(2, dimensions.text_margin.right) - face.set_pos(Vector2(8,face_v_pos)) - face.set_flip_h(false) - face.show() + textObj.margin_left = texture_width + texture_width/3 + textObj.margin_right = dimensions.text_margin.right + face.position = Vector2(8+texture_width/2,face_v_pos) + face.flip_h = false + face.visible = true elif side == 2: - textObj.set_margin(2, texture_width + texture_width/3) - textObj.set_margin(0, dimensions.text_margin.left) - face.set_pos(Vector2(get_size().x-texture_width-8,face_v_pos)) - face.set_flip_h(true) - face.show() + textObj.margin_left = dimensions.text_margin.left + textObj.margin_right = texture_width + texture_width/3 + face.position = Vector2(rect_size.x-texture_width-8,face_v_pos) + face.flip_h = true while textObj.get_total_character_count() > textObj.get_visible_characters(): if not typewriter: textObj.set_visible_characters(textObj.get_total_character_count()) #Play beep sound for each character if beep: - audio.set_default_pitch_scale(beep_pitch) - audio.play("beep_letter") - #audio.set_param(1,old_beep_pitch) - textObj.set_visible_characters(textObj.get_visible_characters()+ 1) - timer.set_wait_time(speed) + audio.stream = beep_WAV + audio.pitch_scale = beep_pitch + audio.play() + + if show_debug_messages: + print("Playing beep") + textObj.visible_characters = textObj.visible_characters + 1 + timer.wait_time = speed timer.start() yield(timer, "timeout") #So, it will only happen if it is false at first - if textObj.get_total_character_count() <= textObj.get_visible_characters():# and not finished and start_at < dialog_array.size()-1: - get_node("nextLine/animation").play("idle") + if textObj.get_total_character_count() <= textObj.visible_characters:# and not finished and start_at < dialog_array.size()-1: + get_node("nextLine/AnimationPlayer").play("idle") if show_debug_messages: print("Finished text display") finished = true @@ -341,45 +372,80 @@ func show_text(chapter, dialog, start_at = 0): print("SMRT finished displaying all the dialog") emit_signal("finished") beep_pitch = 1.0 - self.hide() + visible = false func question(answer_array): if show_debug_messages: print("STARTED QUESTION FUNCTION") - btn_answers = HButtonArray.new() - btn_answers.add_font_override("font", font) - btn_answers.add_style_override("normal", StyleBoxEmpty.new()) - btn_answers.add_style_override("selected", StyleBoxEmpty.new()) - btn_answers.add_style_override("hover", StyleBoxEmpty.new()) - btn_answers.add_font_override("font_selected", font) - btn_answers.set_pos(Vector2(textObj.get_pos().x, get_rect().size.y/2)) + btn_answers = VBoxContainer.new() + btn_answers.set_alignment(HALIGN_LEFT) + btn_answers.set_anchor(MARGIN_LEFT, ANCHOR_BEGIN) + btn_answers.set_anchor(MARGIN_TOP, ANCHOR_BEGIN) + btn_answers.set_anchor(MARGIN_RIGHT, ANCHOR_END) + btn_answers.set_anchor(MARGIN_BOTTOM, ANCHOR_END) - add_child(btn_answers) + dialog_dup = duplicate() + dialog_dup.rect_size = btn_answers.rect_position + dialog_dup.visible = false + btn_answers.rect_position = (Vector2(0,0)) + dialog_dup.set_script(null) + add_child(dialog_dup) + for child in dialog_dup.get_children(): + child.queue_free() + remove_child(btn_answers) + dialog_dup.add_child(btn_answers) btn_answers.grab_focus() - btn_answers.connect("button_selected", self, "selected_answer") + btn_answers.rect_size = (Vector2(0,0)) + if position <= 1: + dialog_dup.rect_position = (Vector2(textObj.rect_position.x, get_viewport_rect().size.y/2)) + else: + #question will appear on top of the dialog + dialog_dup.rect_position = (Vector2(textObj.rect_position.x, rect_size.y*-1)) + var index = 0 for answer in answer_array: - btn_answers.add_button(answer) + var b = Button.new() + b.set_text(answer) + b.add_font_override("font", font) + b.set_flat(true) + b.add_stylebox_override("normal", StyleBox) + b.add_stylebox_override("selected", StyleBox) + b.add_stylebox_override("pressed", StyleBox) + b.add_stylebox_override("hover", StyleBox) + b.add_font_override("font_selected", font) + btn_answers.add_child(b) + b.connect("pressed",self,"selected_answer",[index]) + if index > 0: + var last_child = btn_answers.get_child(index-1) + b.set_focus_neighbour(MARGIN_TOP,last_child.get_path()) + btn_answers.rect_size.y += b.rect_size + index+=1 + + yield(get_tree(),"idle_frame") + btn_answers.get_children()[0].grab_focus() + yield(get_tree(), "idle_frame") + btn_answers.set_margin(MARGIN_RIGHT, 0) + dialog_dup.visible = true + dialog_dup.rect_size = btn_answers.rect_size func selected_answer(btn): if show_debug_messages: print("Answer selected: ", btn) answer_number = btn + info.answer = answer_number + answer_number = null + emit_signal("dialog_control", info) + emit_signal("answer_selected") + dialog_dup.queue_free() + info.answer = null func _input(event): - if not event.is_echo() and event.is_action_pressed("ui_accept") and btn_answers != null and answer_number != null: - info.answer = answer_number - answer_number = null - emit_signal("dialog_control", info) - emit_signal("answer_selected") - btn_answers.queue_free() - info.answer = null - + if not event.is_echo() and event.is_action_pressed("ui_accept"): if textObj.get_total_character_count() > textObj.get_visible_characters() and on_dialog: textObj.set_visible_characters(textObj.get_total_character_count()) - audio.play("beep_letter") + # TODO BEEP SFX if finished and not event.is_echo() and event.is_action_pressed("ui_accept"): emit_signal("dialog_control", info) @@ -388,6 +454,55 @@ func stop(): if show_debug_messages: print("Stopping smrt godot") if typeof(btn_answers) != TYPE_NIL: - if btn_answers extends HButtonArray: + if btn_answers is ButtonGroup: btn_answers.queue_free() - reset() \ No newline at end of file + reset() + +func parser(string_to_change): + var found = 0 + if show_debug_messages: + print("This is the string: ", string_to_change) + var index = 0 + var new_string ="" + var sub = {} + while index < string_to_change.length(): + var b = string_to_change.find("{{", index) + var part_start = index + if b != -1: + found+=1 + var part + index = b + sub["start"] = index + b = string_to_change.find("}}", index) + part = string_to_change.substr(part_start, sub["start"]-part_start) + new_string += part + if b != -1: + sub["end"] = b + sub["string"] = string_to_change.substr(sub["start"]+2, sub["end"] - sub["start"]-2) + if ProjectSettings.has_setting(sub["string"]): + var dynamic_value = ProjectSettings.get_setting(sub["string"]) + + string_to_change.erase(0, sub["end"]) + if show_debug_messages: + print("STRING TO CHANGE: ",string_to_change) +# string_to_change.insert(index, dynamic_value) + new_string += str(dynamic_value) + if show_debug_messages: + print(dynamic_value) + index = 0 + + else: + pass + index +=1 + + index +=1 + if found > 0: + string_to_change.erase(0,2) + new_string += string_to_change + if show_debug_messages: + print("String after change: ", new_string) + return new_string + else: + if show_debug_messages: + print("Returning the old string: ", string_to_change) + return string_to_change \ No newline at end of file diff --git a/SMRT/dialog.tscn b/SMRT/dialog.tscn index c74b968..18f320b 100644 --- a/SMRT/dialog.tscn +++ b/SMRT/dialog.tscn @@ -1,201 +1,154 @@ -[gd_scene load_steps=14 format=1] +[gd_scene load_steps=10 format=2] [ext_resource path="res://addons/SMRT/Message_background.png" type="Texture" id=1] [ext_resource path="res://addons/SMRT/dialog.gd" type="Script" id=2] -[ext_resource path="res://addons/SMRT/beep_letter.wav" type="Sample" id=3] +[ext_resource path="res://addons/SMRT/beep_letter.wav" type="AudioStream" id=3] [ext_resource path="res://addons/SMRT/font/main_font.tres" type="DynamicFont" id=4] -[ext_resource path="res://addons/SMRT/faces/dialog.tres" type="SpriteFrames" id=5] -[ext_resource path="res://addons/SMRT/next_line.png" type="Texture" id=6] -[ext_resource path="res://addons/SMRT/font/zig_____.ttf" type="DynamicFontData" id=7] +[ext_resource path="res://addons/SMRT/next_line.png" type="Texture" id=5] +[ext_resource path="res://addons/SMRT/typewriter key 1 sound effect from SFX WORLD HIGH QUALTIY-cq4Ab_FGUv0.wav" type="AudioStream" id=6] +[ext_resource path="res://addons/SMRT/faces/dialog.tres" type="SpriteFrames" id=7] [sub_resource type="Animation" id=1] +resource_name = "idle" length = 1.0 loop = true step = 0.1 tracks/0/type = "value" -tracks/0/path = NodePath(".:visibility/visible") +tracks/0/path = NodePath(".:visible") tracks/0/interp = 1 +tracks/0/loop_wrap = true tracks/0/imported = false -tracks/0/keys = { "times":FloatArray( 0, 0.5 ), "transitions":FloatArray( 1, 1 ), "update":1, "values":[ true, false ] } - -[sub_resource type="Animation" id=2] - -length = 1.0 -loop = false -step = 0.1 -tracks/0/type = "value" -tracks/0/path = NodePath(".:modulate") -tracks/0/interp = 1 -tracks/0/imported = false -tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":0, "values":[ Color( 0, 0, 0, 1 ) ] } -tracks/1/type = "value" -tracks/1/path = NodePath(".:visibility/self_opacity") -tracks/1/interp = 1 -tracks/1/imported = false -tracks/1/keys = { "times":FloatArray( 0, 0.6 ), "transitions":FloatArray( 1, 1 ), "update":0, "values":[ 0.0, 1.0 ] } - -[sub_resource type="Animation" id=3] - -length = 1.0 -loop = false -step = 0.1 -tracks/0/type = "value" -tracks/0/path = NodePath(".:modulate") -tracks/0/interp = 1 -tracks/0/imported = false -tracks/0/keys = { "times":FloatArray( 0, 0.5, 0.6 ), "transitions":FloatArray( 1, 1, 1 ), "update":0, "values":[ Color( 0, 0, 0, 1 ), Color( 0, 0, 0, 1 ), Color( 1, 1, 1, 1 ) ] } -tracks/1/type = "value" -tracks/1/path = NodePath(".:visibility/self_opacity") -tracks/1/interp = 1 -tracks/1/imported = false -tracks/1/keys = { "times":FloatArray( 0, 0.6 ), "transitions":FloatArray( 1, 1 ), "update":0, "values":[ 1.0, 0.0 ] } - -[sub_resource type="Animation" id=4] - -length = 1.0 -loop = false -step = 0.1 -tracks/0/type = "value" -tracks/0/path = NodePath(".:modulate") -tracks/0/interp = 1 -tracks/0/imported = false -tracks/0/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":0, "values":[ Color( 1, 1, 1, 1 ) ] } -tracks/1/type = "value" -tracks/1/path = NodePath(".:visibility/self_opacity") -tracks/1/interp = 1 -tracks/1/imported = false -tracks/1/keys = { "times":FloatArray( 0 ), "transitions":FloatArray( 1 ), "update":0, "values":[ 1.0 ] } - -[sub_resource type="SampleLibrary" id=5] - -samples/beep_letter = { "db":0.0, "pitch":1.0, "sample":ExtResource( 3 ) } - -[sub_resource type="DynamicFont" id=6] - -font/size = 12 -font/use_mipmaps = false -font/use_filter = false -font/font = ExtResource( 7 ) - -[node name="dialog" type="Patch9Frame"] - -anchor/right = 1 -anchor/bottom = 1 -rect/min_size = Vector2( 320, 64 ) -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 116.0 -margin/right = 704.0 -margin/bottom = 420.0 +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 0.5 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 1, +"values": [ true, false ] +} + +[sub_resource type="Theme" id=2] + + +[node name="NinePatchRect" type="NinePatchRect" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 384.0 +margin_bottom = 76.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 texture = ExtResource( 1 ) -patch_margin/left = 4 -patch_margin/top = 4 -patch_margin/right = 3 -patch_margin/bottom = 4 -script/script = ExtResource( 2 ) -__meta__ = { "__editor_plugin_screen__":"2D" } +patch_margin_left = 4 +patch_margin_top = 4 +patch_margin_right = 3 +patch_margin_bottom = 4 +script = ExtResource( 2 ) +_sections_unfolded = [ "Patch Margin" ] language = "res://addons/SMRT/example.lan" beep_WAV = ExtResource( 3 ) font = ExtResource( 4 ) font_size = 32 -face_sprites = ExtResource( 5 ) -next_dialog_texture = ExtResource( 6 ) +face_sprites = null +next_dialog_texture = ExtResource( 5 ) dialog_frame_height = 4 - -[node name="nextLine" type="TextureFrame" parent="."] - -anchor/left = 1 -anchor/top = 1 -anchor/right = 1 -anchor/bottom = 1 -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 18.0 -margin/top = 14.0 -margin/right = 2.0 -margin/bottom = -2.0 -texture = ExtResource( 6 ) +show_debug_messages = false + +[node name="nextLine" type="TextureRect" parent="." index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 361.0 +margin_top = 60.0 +margin_right = 377.0 +margin_bottom = 76.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +texture = ExtResource( 5 ) stretch_mode = 0 +_sections_unfolded = [ "Rect", "Visibility" ] -[node name="animation" type="AnimationPlayer" parent="nextLine"] +[node name="AnimationPlayer" type="AnimationPlayer" parent="nextLine" index="0"] -playback/process_mode = 1 -playback/default_blend_time = 0.0 -root/root = NodePath("..") +root_node = NodePath("..") +autoplay = "" +playback_process_mode = 1 +playback_default_blend_time = 0.0 +playback_speed = 1.0 anims/idle = SubResource( 1 ) -playback/active = true -playback/speed = 1.0 blend_times = [ ] -autoplay = "" -[node name="Timer" type="Timer" parent="."] +[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="." index="1"] + +stream = ExtResource( 6 ) +volume_db = 0.0 +pitch_scale = 1.0 +autoplay = false +mix_target = 0 +bus = "Master" + +[node name="face" type="AnimatedSprite" parent="." index="2"] + +position = Vector2( 32, 34 ) +frames = ExtResource( 7 ) +animation = "default" + +[node name="Timer" type="Timer" parent="." index="3"] process_mode = 1 wait_time = 0.05 one_shot = false autostart = false -[node name="face" type="AnimatedSprite" parent="."] - -transform/pos = Vector2( 3, 13 ) -frames = ExtResource( 5 ) -animation = "default" -frame = 2 -centered = false - -[node name="anim" type="AnimationPlayer" parent="."] - -playback/process_mode = 1 -playback/default_blend_time = 0.0 -root/root = NodePath("..") -anims/blackScreen = SubResource( 2 ) -"anims/blackScreen off" = SubResource( 3 ) -anims/default = SubResource( 4 ) -playback/active = true -playback/speed = 1.0 -blend_times = [ ] -autoplay = "" - -[node name="SamplePlayer" type="SamplePlayer" parent="."] - -config/polyphony = 1 -config/samples = SubResource( 5 ) -default/volume_db = -18.0 -default/pitch_scale = 1.0 -default/pan = 0.0 -default/depth = 0.0 -default/height = 0.0 -default/filter/type = 0 -default/filter/cutoff = 5000.0 -default/filter/resonance = 1.0 -default/filter/gain = 1.0 -default/reverb_room = 2 -default/reverb_send = 0.0 -default/chorus_send = 0.0 - -[node name="text_display" type="RichTextLabel" parent="."] - -anchor/right = 1 -anchor/bottom = 1 -rect/min_size = Vector2( 216, 48 ) -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 16.0 -margin/top = 8.0 -margin/right = 16.0 -margin/bottom = 8.0 -custom_fonts/normal_font = SubResource( 6 ) -custom_colors/default_color = Color( 1, 1, 1, 1 ) -bbcode/enabled = true -bbcode/bbcode = "ABRAKADABRA" +[node name="text_display" type="RichTextLabel" parent="." index="4"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 16.0 +margin_top = 8.0 +margin_right = -8.0 +margin_bottom = -8.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = true +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +theme = SubResource( 2 ) +bbcode_enabled = true +bbcode_text = "HELLO THERE CHILDREN! [b]How are you doing?[/b]" visible_characters = -1 +percent_visible = 1.0 +meta_underlined = true +tab_size = 4 +text = "HELLO THERE CHILDREN! How are you doing?" +scroll_active = true +scroll_following = false +selection_enabled = false +override_selected_font_color = false +_sections_unfolded = [ "Anchor", "BBCode", "Margin", "Rect", "Theme", "custom_fonts" ] + +[node name="anim" type="AnimationPlayer" parent="." index="5"] + +root_node = NodePath("..") +autoplay = "" +playback_process_mode = 1 +playback_default_blend_time = 0.0 +playback_speed = 1.0 +blend_times = [ ] diff --git a/SMRT/editor.gd b/SMRT/editor.gd index 817b4b9..23e07a4 100644 --- a/SMRT/editor.gd +++ b/SMRT/editor.gd @@ -1,3 +1,25 @@ +#------------------------------------------------------------------------------ +# Copyright 2016 brunosxs +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ------------------------------------------------------------------------------ + tool extends Control var single_text = preload("res://addons/SMRT/scripts/single_text.gd") @@ -26,26 +48,36 @@ var messages_db = { # Controls # Loved to hate GUI programming... :) -onready var mainButtons = get_node("VBoxContainer/PanelContainer/HBoxContainer/MainControlButtons") +onready var newButton = get_node("VBoxContainer/PanelContainer/HBoxContainer/new") +onready var loadButton = get_node("VBoxContainer/PanelContainer/HBoxContainer/load") +onready var saveButton = get_node("VBoxContainer/PanelContainer/HBoxContainer/save") +onready var helpButton = get_node("VBoxContainer/PanelContainer/HBoxContainer/help") onready var info = get_node("VBoxContainer/PanelContainer/HBoxContainer/info") var chapter_list -onready var chapter_list_buttons = get_node("VBoxContainer/HBoxContainer/ChapterContainer/VBoxContainer/HButtonArray") -onready var chapter_list_buttons_del_edit = get_node("VBoxContainer/HBoxContainer/ChapterContainer/VBoxContainer/DelEdit") +onready var chapter_list_add = get_node("VBoxContainer/HBoxContainer/ChapterContainer/ChapterList/GridContainer/Add") +onready var chapter_list_dup = get_node("VBoxContainer/HBoxContainer/ChapterContainer/ChapterList/GridContainer/Dup") +onready var chapter_list_del = get_node("VBoxContainer/HBoxContainer/ChapterContainer/ChapterList/GridContainer/Del") +onready var chapter_list_edit = get_node("VBoxContainer/HBoxContainer/ChapterContainer/ChapterList/GridContainer/Edit") var dialog_list -onready var dialog_list_buttons = get_node("VBoxContainer/HBoxContainer/DialogContainer/VBoxContainer/HButtonArray") -onready var dialog_list_buttons_del_edit = get_node("VBoxContainer/HBoxContainer/DialogContainer/VBoxContainer/DelEdit") +onready var dialog_list_add = get_node("VBoxContainer/HBoxContainer/DialogContainer/DialogList/GridContainer/Add") +onready var dialog_list_dup = get_node("VBoxContainer/HBoxContainer/DialogContainer/DialogList/GridContainer/Dup") +onready var dialog_list_del = get_node("VBoxContainer/HBoxContainer/DialogContainer/DialogList/GridContainer/Del") +onready var dialog_list_edit = get_node("VBoxContainer/HBoxContainer/DialogContainer/DialogList/GridContainer/Edit") var text_list -onready var text_list_buttons = get_node("VBoxContainer/HBoxContainer/TextContainer/VBoxContainer/HButtonArray") -onready var text_list_move_buttons = get_node("VBoxContainer/HBoxContainer/TextContainer/VBoxContainer/MoveText") +onready var text_list_add = get_node("VBoxContainer/HBoxContainer/TextContainer/Message/GridContainer/Add") +onready var text_list_dup = get_node("VBoxContainer/HBoxContainer/TextContainer/Message/GridContainer/Dup") +onready var text_list_del = get_node("VBoxContainer/HBoxContainer/TextContainer/Message/GridContainer/Del") +onready var text_list_up = get_node("VBoxContainer/HBoxContainer/TextContainer/Message/GridContainer/up") +onready var text_list_down = get_node("VBoxContainer/HBoxContainer/TextContainer/Message/GridContainer/down") var frame_position onready var face_position = get_node("VBoxContainer/HBoxContainer/GridContainer/Face/VBoxContainer/side") onready var face_frame = get_node("VBoxContainer/HBoxContainer/GridContainer/Face/VBoxContainer/FaceFrame") onready var typewriter = get_node("VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer/CheckButton") onready var typewriter_speed = get_node("VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer/HBoxContainer/TypewriterSpeed") -onready var beep = get_node("VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer/beep") +onready var beep = get_node("VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer/CheckButton") onready var beep_pitch = get_node("VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer/SpinBox") -onready var textEditor = get_node("VBoxContainer/TextPanel/VBoxContainer/HBoxContainer 2/TextEdit") -onready var textButtons = get_node("VBoxContainer/TextPanel/VBoxContainer/HBoxContainer 2/VButtonArray") +onready var textEditor = get_node("VBoxContainer/TextPanel/VBoxContainer/HBoxContainer2/TextEdit") +onready var textButtons = get_node("VBoxContainer/TextPanel/VBoxContainer/HBoxContainer2/Button") onready var enableQuestion = get_node("VBoxContainer/CheckButton") onready var question = get_node("VBoxContainer/question") onready var choicesNumber = get_node("VBoxContainer/question/VBoxContainer/choicesNumber") @@ -63,30 +95,52 @@ var answers var input_tscn=preload("res://addons/SMRT/modals/input.tscn") var old_text + +func _init(): + pass + func _ready(): - - choicesNumber.connect("value_changed", self, "manageQuestionOptions") - chapter_list = get_node("VBoxContainer/HBoxContainer/ChapterContainer/VBoxContainer/ItemList") - dialog_list = get_node("VBoxContainer/HBoxContainer/DialogContainer/VBoxContainer/ItemList") - text_list = get_node("VBoxContainer/HBoxContainer/TextContainer/VBoxContainer/ItemList") + chapter_list = get_node("VBoxContainer/HBoxContainer/ChapterContainer/ChapterList/ItemList") + dialog_list = get_node("VBoxContainer/HBoxContainer/DialogContainer/DialogList/ItemList") + text_list = get_node("VBoxContainer/HBoxContainer/TextContainer/Message/ItemList") messages = get_node("VBoxContainer/messages") frame_position = get_node("VBoxContainer/HBoxContainer/GridContainer/FramePosition1/VBoxContainer/FramePosition") - - if !mainButtons.is_connected("button_selected",self,"mainOptions"): - mainButtons.connect("button_selected",self,"mainOptions") + choicesNumber.connect("value_changed", self, "manageQuestionOptions") +# if !mainButtons.is_connected("pressed",self,"mainOptions"): +# mainButtons.connect("pressed",self,"mainOptions") + + if !newButton.is_connected("pressed",self,"mainOptions"): + newButton.connect("pressed",self,"mainOptions", [0]) + if !loadButton.is_connected("pressed",self,"mainOptions"): + loadButton.connect("pressed",self,"mainOptions", [1]) + if !saveButton.is_connected("pressed",self,"mainOptions"): + saveButton.connect("pressed",self,"mainOptions", [2]) + if !helpButton.is_connected("pressed",self,"mainOptions"): + helpButton.connect("pressed",self,"mainOptions", [3]) + if !text_list.is_connected("item_selected", self, "selected_text"): + text_list.connect("item_selected", self, "selected_text") + if !dialog_list.is_connected("item_selected", self, "selected_dialog"): + dialog_list.connect("item_selected", self, "selected_dialog") # CONNECTIONS chapter_list.connect("item_selected",self,"selected_chapter") - text_list_buttons.connect("button_selected",self,"text_list_buttons") - dialog_list_buttons.connect("button_selected",self,"dialog_options") - dialog_list_buttons_del_edit.connect("button_selected",self,"dialog_options_2") - chapter_list_buttons.connect("button_selected",self,"chapter_options") - chapter_list_buttons_del_edit.connect("button_selected",self,"chapter_options_2") - text_list_move_buttons.connect("button_selected",self,"moveText") + text_list_add.connect("pressed",self,"text_list_buttons", [0]) + text_list_dup.connect("pressed",self,"text_list_buttons", [1]) + text_list_del.connect("pressed",self,"text_list_buttons", [2]) + dialog_list_add.connect("pressed",self,"dialog_options", [0]) + dialog_list_dup.connect("pressed",self,"dialog_options", [1]) + dialog_list_del.connect("pressed",self,"dialog_options", [2]) + dialog_list_edit.connect("pressed",self,"dialog_options", [3]) + chapter_list_add.connect("pressed",self,"chapter_options", [0]) + chapter_list_dup.connect("pressed",self,"chapter_options", [1]) + chapter_list_del.connect("pressed",self,"chapter_options", [2]) + chapter_list_edit.connect("pressed",self,"chapter_options", [3]) + text_list_up.connect("pressed",self,"moveText", [0]) + text_list_down.connect("pressed",self,"moveText", [1]) - textButtons.connect("button_selected",self, "selectedTextButtons") + textButtons.connect("pressed",self, "selectedTextButtons", [0]) - connect("modal_close", self,"quit") + connect("modal_closed", self,"quit") timer = Timer.new() timer.set_wait_time(0.01) @@ -100,7 +154,7 @@ func to_memory(): if currentChapter != null and currentDialog != null and currentText != null: agregate(currentText) -func mainOptions(btn_index):# overrides the arguments +func mainOptions(btn_index): if btn_index == 0: language_file = null contents = {} @@ -117,7 +171,7 @@ func new_text(): return single_text.new().single_text func load_file(): - var selector = EditorFileDialog.new() + var selector = FileDialog.new() selector.add_filter("*.lan") selector.set_mode(selector.MODE_OPEN_FILE) add_child(selector) @@ -125,15 +179,16 @@ func load_file(): language_file = yield(selector,"file_selected") var file = File.new() if file.open(language_file,file.READ) == OK: + print("test 1") #this means it sucesfully opened var dictionary = {} - if dictionary.parse_json(file.get_as_text()) == OK: - dictionary.parse_json(file.get_as_text()) + if JSON.parse(file.get_as_text()): + print("test 2") + dictionary = JSON.parse(file.get_as_text()).result contents = dictionary get_chapters() - dialog_list.clear() messages.set_text(messages_db["File loaded successfully"][0]) - messages.set("custom_colors/font_color", messages_db["File loaded successfully"][1]) + messages.set("font_color", messages_db["File loaded successfully"][1]) func quit(): save_file(contents) @@ -141,7 +196,7 @@ func quit(): func save_file(content): var file = File.new() if language_file == null: - var selector = EditorFileDialog.new() + var selector = FileDialog.new() selector.add_filter("*.lan") selector.set_title("Save file") selector.set_mode(selector.MODE_SAVE_FILE) @@ -150,13 +205,13 @@ func save_file(content): selector.popup_centered(Vector2(800,600)) language_file = yield(selector,"file_selected") if file.open(language_file, file.WRITE) == OK: - file.store_string(content.to_json()) + file.store_string(JSON.print(content)) messages.set_text(messages_db["File saved successfully"][0]) - messages.set("custom_colors/font_color", messages_db["File saved successfully"][1]) + messages.set("font_color", messages_db["File saved successfully"][1]) file.close() else: messages.set_text(messages_db["Save Error"][0]) - messages.set("custom_colors/font_color", messages_db["Save Error"][1]) + messages.set("font_color", messages_db["Save Error"][1]) func get_chapters(): @@ -176,21 +231,17 @@ func chapter_options(btn_index): add_child(input) input.label.set_text("Name the chapter") create_chapter(yield(input, "text")) - pass elif btn_index == 1: if currentChapter != null or currentChapter !="": duplicate_chapter(currentChapter) - -func chapter_options_2(btn_index): - currentDialog = null - currentText = null - if btn_index == 0: + elif btn_index == 2: if currentChapter != null or currentChapter !="": remove_chapter(currentChapter) - elif btn_index == 1: + elif btn_index == 3: print("Renaming Chapter") if currentChapter != null or currentChapter !="": var input = input_tscn.instance() + input.set_text(currentChapter) add_child(input) input.label.set_text("Rename the chapter") rename_chapter(currentChapter, yield(input,"text")) @@ -198,6 +249,23 @@ func chapter_options_2(btn_index): text_list.clear() get_chapters() +#func chapter_options_2(btn_index): +# currentDialog = null +# currentText = null +# if btn_index == 0: +# if currentChapter != null or currentChapter !="": +# remove_chapter(currentChapter) +# elif btn_index == 1: +# print("Renaming Chapter") +# if currentChapter != null or currentChapter !="": +# var input = input_tscn.instance() +# add_child(input) +# input.label.set_text("Rename the chapter") +# rename_chapter(currentChapter, yield(input,"text")) +# dialog_list.clear() +# text_list.clear() +# get_chapters() + func selected_chapter(selected): currentDialog = null @@ -240,7 +308,6 @@ func get_texts(dialog): text_list.add_item(tempName) if !text_list.is_connected("item_selected", self, "selected_text"): text_list.connect("item_selected", self, "selected_text") - pass func selected_text(selected): currentText = selected @@ -304,35 +371,48 @@ func rename_chapter(old_name, name): func dialog_options(btn_index): currentText = null if currentChapter != null and currentChapter != "": - if btn_index ==0: + if btn_index == 0: var input = input_tscn.instance() add_child(input) input.label.set_text("Name the dialog") create_dialog(yield(input, "text")) print(input) - pass elif btn_index == 1: if currentDialog != null or currentDialog !="": if currentDialog != null and currentDialog != "": duplicate_dialog(currentDialog) - -func dialog_options_2(btn_index): - currentText = null - if currentChapter != null and currentChapter != "": - if btn_index == 0: + elif btn_index == 2: if currentDialog != null and currentDialog != "": print("CHAPTER IS NOT NULL!") remove_dialog(currentDialog) - elif btn_index == 1: + elif btn_index == 3: print("Renaming Dialog") if currentDialog != null or currentDialog !="": var input = input_tscn.instance() add_child(input) + input.set_text(currentDialog) input.label.set_text("Rename the dialog") rename_dialog(currentDialog, yield(input,"text")) get_dialogs(currentChapter) text_list.clear() +#func dialog_options_2(btn_index): +# currentText = null +# if currentChapter != null and currentChapter != "": +# if btn_index == 0: +# if currentDialog != null and currentDialog != "": +# print("CHAPTER IS NOT NULL!") +# remove_dialog(currentDialog) +# elif btn_index == 1: +# print("Renaming Dialog") +# if currentDialog != null or currentDialog !="": +# var input = input_tscn.instance() +# add_child(input) +# input.label.set_text("Rename the dialog") +# rename_dialog(currentDialog, yield(input,"text")) +# get_dialogs(currentChapter) +# text_list.clear() + func create_dialog(dialog_name): print("Current chapter: ", contents[currentChapter], typeof(contents[currentChapter])) if typeof(contents[currentChapter]) == TYPE_DICTIONARY: @@ -367,7 +447,6 @@ func remove_dialog(name): text_list.clear() func rename_dialog(old_name, name): - print("let's rock!") if name != "" or name != null or name != "cancel_error": print("For now it is ok") print(contents[currentChapter].keys()) @@ -470,7 +549,6 @@ func manageQuestionOptions(value): print("ARRAY WITH ANSWERS: ",contents[currentChapter][currentDialog][currentText].answers) func _exit_tree(): - pass ################################### @@ -489,20 +567,20 @@ func agregate(text_id): text_list.set_item_text(currentText, text.text.substr(0,25)) text.frame_position = frame_position.get_selected() text.face_position = face_position.get_selected() - text.face_frame = face_frame.get("range/value") + text.face_frame = face_frame.get("value") - text.typewriter = typewriter.get("is_pressed") - text.typewriter_speed = typewriter_speed.get("range/value") - text.beep = beep.get("is_pressed") + text.typewriter = typewriter.get("pressed") + text.typewriter_speed = typewriter_speed.get("value") + text.beep = beep.get("pressed") - text.beep_pitch = beep_pitch.get("range/value") + text.beep_pitch = beep_pitch.get("value") text.text = textEditor.get_text() - text.enable_question = enableQuestion.get("is_pressed") + text.enable_question = enableQuestion.get("pressed") - if enableQuestion.get("is_pressed"): + if enableQuestion.get("pressed"): text.answers.resize(choicesNumber.get_value()) for i in range(choicesNumber.get_value()): - text.answers[i] = options.get_child(i).get_node("text").get_text() + text.answers[i] = options.get_child(i).find_node("LineEdit").get_text() else: text.answers = [] @@ -510,30 +588,30 @@ func populate(text_id): # Gives the editor items the respective values based on the save frame_position.select(contents[currentChapter][currentDialog][text_id].frame_position) face_position.select(contents[currentChapter][currentDialog][text_id].face_position) - face_frame.set("range/value", contents[currentChapter][currentDialog][text_id].face_frame) - typewriter.set("is_pressed", contents[currentChapter][currentDialog][text_id].typewriter) - typewriter_speed.set("range/value", contents[currentChapter][currentDialog][text_id].typewriter_speed) - beep.set("is_pressed", contents[currentChapter][currentDialog][text_id].beep) - beep_pitch.set("range/value", contents[currentChapter][currentDialog][text_id].beep_pitch) + face_frame.set("value", contents[currentChapter][currentDialog][text_id].face_frame) + typewriter.set("pressed", contents[currentChapter][currentDialog][text_id].typewriter) + typewriter_speed.set("value", contents[currentChapter][currentDialog][text_id].typewriter_speed) + beep.set("pressed", contents[currentChapter][currentDialog][text_id].beep) + beep_pitch.set("value", contents[currentChapter][currentDialog][text_id].beep_pitch) textEditor.set_text(contents[currentChapter][currentDialog][text_id].text) - enableQuestion.set("is_pressed", contents[currentChapter][currentDialog][text_id].enable_question) + enableQuestion.set("pressed", contents[currentChapter][currentDialog][text_id].enable_question) answers = contents[currentChapter][currentDialog][text_id].answers - choicesNumber.set("range/value", answers.size()) + choicesNumber.set("value", answers.size()) print("setting answers size") - if choicesNumber.get("range/value") == 0: - enableQuestion.set("is_pressed", false) - for i in range(options.get_child_count()): - print("cleaning option ", i) - options.get_child(i).get_node("text").set_text("") - if enableQuestion.get("is_pressed") and typeof(answers) == TYPE_ARRAY: + if choicesNumber.get("value") == 0: + enableQuestion.set("pressed", false) + for i in options.get_children(): + print("cleaning option ", i.get_index()) + i.find_node("LineEdit").set_text("") + if enableQuestion.get("pressed") and typeof(answers) == TYPE_ARRAY: for i in range(answers.size()): print("setting option ", i) - options.get_child(i).get_node("text").set_text(answers[i]) + options.get_child(i).find_node("LineEdit").set_text(answers[i]) func selectedTextButtons(btn_index): diff --git a/SMRT/editor.tscn b/SMRT/editor.tscn index 4d9ab86..566370a 100644 --- a/SMRT/editor.tscn +++ b/SMRT/editor.tscn @@ -1,1097 +1,1751 @@ -[gd_scene load_steps=2 format=1] +[gd_scene load_steps=3 format=2] [ext_resource path="res://addons/SMRT/editor.gd" type="Script" id=1] -[node name="WindowDialog" type="WindowDialog"] - -rect/min_size = Vector2( 800, 600 ) -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 23.0 -margin/right = 600.0 -margin/bottom = 623.0 -popup/exclusive = false -window/title = "SMRT Editor" -script/script = ExtResource( 1 ) - -[node name="VBoxContainer" type="VBoxContainer" parent="."] - -rect/min_size = Vector2( 590, 600 ) -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 10.0 -margin/top = 0.0 -margin/right = 760.0 -margin/bottom = 600.0 +[sub_resource type="ButtonGroup" id=1] + +resource_local_to_scene = true +_sections_unfolded = [ "Resource" ] + +[node name="WindowDialog" type="WindowDialog" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 800.0 +margin_bottom = 680.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +popup_exclusive = false +window_title = "" +resizable = false +script = ExtResource( 1 ) +_sections_unfolded = [ "Rect" ] + +[node name="VBoxContainer" type="VBoxContainer" parent="." index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_left = 8.0 +margin_right = -8.0 +margin_bottom = -8.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 alignment = 0 - -[node name="messages" type="Label" parent="VBoxContainer"] - -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 750.0 -margin/bottom = 14.0 -uppercase = true +_sections_unfolded = [ "Anchor", "Margin" ] + +[node name="messages" type="Label" parent="VBoxContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 784.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer"] +[node name="PanelContainer" type="PanelContainer" parent="VBoxContainer" index="1"] editor/display_folded = true -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 18.0 -margin/right = 750.0 -margin/bottom = 52.0 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/PanelContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 7.0 -margin/top = 7.0 -margin/right = 743.0 -margin/bottom = 27.0 -alignment = 0 - -[node name="info" type="Label" parent="VBoxContainer/PanelContainer/HBoxContainer"] +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 18.0 +margin_right = 784.0 +margin_bottom = 64.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/PanelContainer" index="0"] -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 3.0 -margin/right = 74.0 -margin/bottom = 17.0 +editor/display_folded = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 7.0 +margin_top = 7.0 +margin_right = 777.0 +margin_bottom = 39.0 +rect_min_size = Vector2( 0, 32 ) +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +alignment = 0 +_sections_unfolded = [ "Rect" ] + +[node name="info" type="Label" parent="VBoxContainer/PanelContainer/HBoxContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 9.0 +margin_right = 74.0 +margin_bottom = 23.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 text = "File loaded:" -align = 1 percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="MainControlButtons" type="HButtonArray" parent="VBoxContainer/PanelContainer/HBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 78.0 -margin/top = 0.0 -margin/right = 255.0 -margin/bottom = 20.0 +[node name="new" type="ToolButton" parent="VBoxContainer/PanelContainer/HBoxContainer" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 78.0 +margin_right = 118.0 +margin_bottom = 32.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = true +enabled_focus_mode = 2 +shortcut = null +group = SubResource( 1 ) +text = "New" flat = false -button/count = 4 -button/min_button_size = -1.0 -button/align = 0 -button/0/text = "New" -button/0/tooltip = "" -button/0/icon = null -button/1/text = "Load" -button/1/tooltip = "" -button/1/icon = null -button/2/text = "Save" -button/2/tooltip = "" -button/2/icon = null -button/3/text = "Help" -button/3/tooltip = "" -button/3/icon = null -button/selected = 0 - -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 56.0 -margin/right = 750.0 -margin/bottom = 337.0 -alignment = 0 +align = 1 -[node name="ChapterContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer"] +[node name="load" type="ToolButton" parent="VBoxContainer/PanelContainer/HBoxContainer" index="2"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 122.0 +margin_right = 164.0 +margin_bottom = 32.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = true +enabled_focus_mode = 2 +shortcut = null +group = SubResource( 1 ) +text = "Load" +flat = false +align = 1 -editor/display_folded = true -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 114.0 -margin/bottom = 281.0 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/ChapterContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 7.0 -margin/top = 7.0 -margin/right = 107.0 -margin/bottom = 274.0 -alignment = 0 +[node name="save" type="ToolButton" parent="VBoxContainer/PanelContainer/HBoxContainer" index="3"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 168.0 +margin_right = 209.0 +margin_bottom = 32.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = true +enabled_focus_mode = 2 +shortcut = null +group = SubResource( 1 ) +text = "Save" +flat = false +align = 1 -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/ChapterContainer/VBoxContainer"] +[node name="help" type="ToolButton" parent="VBoxContainer/PanelContainer/HBoxContainer" index="4"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 213.0 +margin_right = 255.0 +margin_bottom = 32.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = true +enabled_focus_mode = 2 +shortcut = null +group = SubResource( 1 ) +text = "Help" +flat = false +align = 1 -editor/display_folded = true -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 100.0 -margin/bottom = 14.0 +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer" index="2"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 68.0 +margin_right = 784.0 +margin_bottom = 398.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 alignment = 0 +_sections_unfolded = [ "Anchor", "Rect" ] -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/ChapterContainer/VBoxContainer/HBoxContainer"] +[node name="ChapterContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer" index="0"] -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 49.0 -margin/bottom = 14.0 +editor/display_folded = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 104.0 +margin_bottom = 330.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="ChapterList" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/ChapterContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 7.0 +margin_top = 7.0 +margin_right = 97.0 +margin_bottom = 323.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +alignment = 1 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/ChapterContainer/ChapterList" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 90.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 text = "Chapter" percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="ItemList" type="ItemList" parent="VBoxContainer/HBoxContainer/ChapterContainer/VBoxContainer"] - -rect/min_size = Vector2( 100, 200 ) -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 18.0 -margin/right = 100.0 -margin/bottom = 218.0 - -[node name="HButtonArray" type="HButtonArray" parent="VBoxContainer/HBoxContainer/ChapterContainer/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 222.0 -margin/right = 100.0 -margin/bottom = 242.0 -flat = false -button/count = 2 -button/min_button_size = 1.0 -button/align = 0 -button/0/text = "Add" -button/0/tooltip = "" -button/0/icon = null -button/1/text = "Dup" -button/1/tooltip = "" -button/1/icon = null -button/selected = 0 - -[node name="DelEdit" type="HButtonArray" parent="VBoxContainer/HBoxContainer/ChapterContainer/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 246.0 -margin/right = 100.0 -margin/bottom = 266.0 -flat = false -button/count = 2 -button/min_button_size = 1.0 -button/align = 0 -button/0/text = "Del" -button/0/tooltip = "" -button/0/icon = null -button/1/text = "Edit" -button/1/tooltip = "" -button/1/icon = null -button/selected = 0 - -[node name="DialogContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer"] +[node name="ItemList" type="ItemList" parent="VBoxContainer/HBoxContainer/ChapterContainer/ChapterList" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 18.0 +margin_right = 90.0 +margin_bottom = 268.0 +rect_min_size = Vector2( 90, 250 ) +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = true +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +items = [ ] +select_mode = 0 +allow_reselect = false +same_column_width = true +icon_mode = 1 +fixed_icon_size = Vector2( 0, 0 ) +_sections_unfolded = [ "Columns", "Rect" ] + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer/ChapterContainer/ChapterList" index="2"] editor/display_folded = true -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 118.0 -margin/top = 0.0 -margin/right = 232.0 -margin/bottom = 281.0 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/DialogContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 7.0 -margin/top = 7.0 -margin/right = 107.0 -margin/bottom = 274.0 -alignment = 0 +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 272.0 +margin_right = 90.0 +margin_bottom = 316.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +columns = 2 +_sections_unfolded = [ "Rect" ] + +[node name="Add" type="Button" parent="VBoxContainer/HBoxContainer/ChapterContainer/ChapterList/GridContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 37.0 +margin_bottom = 20.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Add" +flat = false +align = 1 -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/DialogContainer/VBoxContainer"] +[node name="Dup" type="Button" parent="VBoxContainer/HBoxContainer/ChapterContainer/ChapterList/GridContainer" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 41.0 +margin_right = 79.0 +margin_bottom = 20.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Dup" +flat = false +align = 1 -editor/display_folded = true -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 100.0 -margin/bottom = 14.0 -alignment = 0 +[node name="Del" type="Button" parent="VBoxContainer/HBoxContainer/ChapterContainer/ChapterList/GridContainer" index="2"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 24.0 +margin_right = 37.0 +margin_bottom = 44.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Del" +flat = false +align = 1 -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/DialogContainer/VBoxContainer/HBoxContainer"] +[node name="Edit" type="Button" parent="VBoxContainer/HBoxContainer/ChapterContainer/ChapterList/GridContainer" index="3"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 41.0 +margin_top = 24.0 +margin_right = 79.0 +margin_bottom = 44.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Edit" +flat = false +align = 1 -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 40.0 -margin/bottom = 14.0 +[node name="DialogContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer" index="1"] + +editor/display_folded = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 108.0 +margin_right = 212.0 +margin_bottom = 330.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="DialogList" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/DialogContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 7.0 +margin_top = 7.0 +margin_right = 97.0 +margin_bottom = 323.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +alignment = 1 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/DialogContainer/DialogList" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 90.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 text = "Dialog" percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="ItemList" type="ItemList" parent="VBoxContainer/HBoxContainer/DialogContainer/VBoxContainer"] - -rect/min_size = Vector2( 100, 200 ) -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 18.0 -margin/right = 100.0 -margin/bottom = 218.0 - -[node name="HButtonArray" type="HButtonArray" parent="VBoxContainer/HBoxContainer/DialogContainer/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 222.0 -margin/right = 100.0 -margin/bottom = 242.0 -flat = false -button/count = 2 -button/min_button_size = 1.0 -button/align = 0 -button/0/text = "Add" -button/0/tooltip = "" -button/0/icon = null -button/1/text = "Dup" -button/1/tooltip = "" -button/1/icon = null -button/selected = 0 - -[node name="DelEdit" type="HButtonArray" parent="VBoxContainer/HBoxContainer/DialogContainer/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 246.0 -margin/right = 100.0 -margin/bottom = 266.0 +[node name="ItemList" type="ItemList" parent="VBoxContainer/HBoxContainer/DialogContainer/DialogList" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 18.0 +margin_right = 90.0 +margin_bottom = 268.0 +rect_min_size = Vector2( 90, 250 ) +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = true +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +items = [ ] +select_mode = 0 +allow_reselect = false +same_column_width = true +icon_mode = 1 +fixed_icon_size = Vector2( 0, 0 ) +_sections_unfolded = [ "Columns", "Rect" ] + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer/DialogContainer/DialogList" index="2"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 272.0 +margin_right = 90.0 +margin_bottom = 316.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +columns = 2 +_sections_unfolded = [ "Rect" ] + +[node name="Add" type="Button" parent="VBoxContainer/HBoxContainer/DialogContainer/DialogList/GridContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 37.0 +margin_bottom = 20.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Add" flat = false -button/count = 2 -button/min_button_size = 1.0 -button/align = 0 -button/0/text = "Del" -button/0/tooltip = "" -button/0/icon = null -button/1/text = "Edit" -button/1/tooltip = "" -button/1/icon = null -button/selected = 0 - -[node name="TextContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer"] +align = 1 -editor/display_folded = true -rect/min_size = Vector2( 145, 281 ) -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 236.0 -margin/top = 0.0 -margin/right = 381.0 -margin/bottom = 281.0 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/TextContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 7.0 -margin/top = 7.0 -margin/right = 138.0 -margin/bottom = 274.0 -alignment = 0 +[node name="Dup" type="Button" parent="VBoxContainer/HBoxContainer/DialogContainer/DialogList/GridContainer" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 41.0 +margin_right = 79.0 +margin_bottom = 20.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Dup" +flat = false +align = 1 -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/TextContainer/VBoxContainer"] +[node name="Del" type="Button" parent="VBoxContainer/HBoxContainer/DialogContainer/DialogList/GridContainer" index="2"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 24.0 +margin_right = 37.0 +margin_bottom = 44.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Del" +flat = false +align = 1 -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 131.0 -margin/bottom = 14.0 -alignment = 0 +[node name="Edit" type="Button" parent="VBoxContainer/HBoxContainer/DialogContainer/DialogList/GridContainer" index="3"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 41.0 +margin_top = 24.0 +margin_right = 79.0 +margin_bottom = 44.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Edit" +flat = false +align = 1 -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/TextContainer/VBoxContainer/HBoxContainer"] +[node name="TextContainer" type="PanelContainer" parent="VBoxContainer/HBoxContainer" index="2"] -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 27.0 -margin/bottom = 14.0 -text = "Text" +editor/display_folded = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 216.0 +margin_right = 347.0 +margin_bottom = 330.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="Message" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/TextContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 7.0 +margin_top = 7.0 +margin_right = 124.0 +margin_bottom = 323.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +alignment = 1 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/TextContainer/Message" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 117.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 +text = "Message" percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="ItemList" type="ItemList" parent="VBoxContainer/HBoxContainer/TextContainer/VBoxContainer"] - -rect/min_size = Vector2( 100, 200 ) -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 18.0 -margin/right = 131.0 -margin/bottom = 218.0 - -[node name="HButtonArray" type="HButtonArray" parent="VBoxContainer/HBoxContainer/TextContainer/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 222.0 -margin/right = 131.0 -margin/bottom = 242.0 +[node name="ItemList" type="ItemList" parent="VBoxContainer/HBoxContainer/TextContainer/Message" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 18.0 +margin_right = 117.0 +margin_bottom = 268.0 +rect_min_size = Vector2( 90, 250 ) +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = true +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +items = [ ] +select_mode = 0 +allow_reselect = false +same_column_width = true +icon_mode = 1 +fixed_icon_size = Vector2( 0, 0 ) +_sections_unfolded = [ "Columns", "Rect" ] + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer/TextContainer/Message" index="2"] + +editor/display_folded = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 272.0 +margin_right = 117.0 +margin_bottom = 316.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +columns = 3 +_sections_unfolded = [ "Rect" ] + +[node name="Add" type="Button" parent="VBoxContainer/HBoxContainer/TextContainer/Message/GridContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 37.0 +margin_bottom = 20.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Add" flat = false -button/count = 3 -button/min_button_size = 1.0 -button/align = 1 -button/0/text = "Add" -button/0/tooltip = "" -button/0/icon = null -button/1/text = "Dup" -button/1/tooltip = "" -button/1/icon = null -button/2/text = "Del" -button/2/tooltip = "" -button/2/icon = null -button/selected = 0 - -[node name="MoveText" type="HButtonArray" parent="VBoxContainer/HBoxContainer/TextContainer/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 246.0 -margin/right = 131.0 -margin/bottom = 266.0 +align = 1 + +[node name="Dup" type="Button" parent="VBoxContainer/HBoxContainer/TextContainer/Message/GridContainer" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 41.0 +margin_right = 79.0 +margin_bottom = 20.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Dup" flat = false -button/count = 2 -button/min_button_size = -1.0 -button/align = 1 -button/0/text = "/\\" -button/0/tooltip = "" -button/0/icon = null -button/1/text = "\\/" -button/1/tooltip = "" -button/1/icon = null -button/selected = 0 - -[node name="VSeparator" type="VSeparator" parent="VBoxContainer/HBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 385.0 -margin/top = 0.0 -margin/right = 388.0 -margin/bottom = 281.0 - -[node name="GridContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 392.0 -margin/top = 0.0 -margin/right = 676.0 -margin/bottom = 281.0 +align = 1 + +[node name="Del" type="Button" parent="VBoxContainer/HBoxContainer/TextContainer/Message/GridContainer" index="2"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 83.0 +margin_right = 117.0 +margin_bottom = 20.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Del" +flat = false +align = 1 + +[node name="up" type="Button" parent="VBoxContainer/HBoxContainer/TextContainer/Message/GridContainer" index="3"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 24.0 +margin_right = 37.0 +margin_bottom = 44.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "/\\" +flat = false +align = 1 + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/TextContainer/Message/GridContainer" index="4"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 41.0 +margin_top = 24.0 +margin_right = 79.0 +margin_bottom = 44.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="down" type="Button" parent="VBoxContainer/HBoxContainer/TextContainer/Message/GridContainer" index="5"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 83.0 +margin_top = 24.0 +margin_right = 117.0 +margin_bottom = 44.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "\\/" +flat = false +align = 1 + +[node name="VSeparator" type="VSeparator" parent="VBoxContainer/HBoxContainer" index="3"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 351.0 +margin_right = 355.0 +margin_bottom = 330.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer" index="4"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 359.0 +margin_right = 624.0 +margin_bottom = 330.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 columns = 2 -[node name="FramePosition1" type="PanelContainer" parent="VBoxContainer/HBoxContainer/GridContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 160.0 -margin/bottom = 80.0 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/GridContainer/FramePosition1"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 7.0 -margin/top = 7.0 -margin/right = 153.0 -margin/bottom = 73.0 -alignment = 0 +[node name="FramePosition1" type="PanelContainer" parent="VBoxContainer/HBoxContainer/GridContainer" index="0"] -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/GridContainer/FramePosition1/VBoxContainer"] +editor/display_folded = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 161.0 +margin_bottom = 80.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/GridContainer/FramePosition1" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 7.0 +margin_top = 7.0 +margin_right = 154.0 +margin_bottom = 73.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +alignment = 0 -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 146.0 -margin/bottom = 14.0 +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/GridContainer/FramePosition1/VBoxContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 147.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 text = "Frame Position" percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="FramePosition" type="OptionButton" parent="VBoxContainer/HBoxContainer/GridContainer/FramePosition1/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 18.0 -margin/right = 146.0 -margin/bottom = 38.0 +[node name="FramePosition" type="OptionButton" parent="VBoxContainer/HBoxContainer/GridContainer/FramePosition1/VBoxContainer" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 18.0 +margin_right = 147.0 +margin_bottom = 38.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 toggle_mode = false +action_mode = 0 enabled_focus_mode = 2 shortcut = null +group = null text = "Top" flat = false align = 0 +items = [ "Top", null, false, -1, null, "Middle", null, false, -1, null, "Bottom", null, false, -1, null ] selected = 0 -items = [ "Top", null, false, 0, null, "Middle", null, false, 1, null, "Bottom", null, false, 2, null ] - -[node name="Face" type="PanelContainer" parent="VBoxContainer/HBoxContainer/GridContainer"] - -rect/min_size = Vector2( 120, 0 ) -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 164.0 -margin/top = 0.0 -margin/right = 284.0 -margin/bottom = 80.0 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/GridContainer/Face"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 7.0 -margin/top = 7.0 -margin/right = 113.0 -margin/bottom = 73.0 -alignment = 0 -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/GridContainer/Face/VBoxContainer"] +[node name="Face" type="PanelContainer" parent="VBoxContainer/HBoxContainer/GridContainer" index="1"] -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 106.0 -margin/bottom = 14.0 +editor/display_folded = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 165.0 +margin_right = 265.0 +margin_bottom = 80.0 +rect_min_size = Vector2( 100, 0 ) +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/GridContainer/Face" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 7.0 +margin_top = 7.0 +margin_right = 93.0 +margin_bottom = 73.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +alignment = 0 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/GridContainer/Face/VBoxContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 86.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 text = "Face" percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="side" type="OptionButton" parent="VBoxContainer/HBoxContainer/GridContainer/Face/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 18.0 -margin/right = 106.0 -margin/bottom = 38.0 +[node name="side" type="OptionButton" parent="VBoxContainer/HBoxContainer/GridContainer/Face/VBoxContainer" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 18.0 +margin_right = 86.0 +margin_bottom = 38.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 toggle_mode = false +action_mode = 0 enabled_focus_mode = 2 shortcut = null +group = null text = "None" flat = false align = 0 +items = [ "None", null, false, -1, null, "Left", null, false, -1, null, "Right", null, false, -1, null ] selected = 0 -items = [ "None", null, false, -1, null, "Left", null, false, 1, null, "Right", null, false, 2, null ] - -[node name="FaceFrame" type="SpinBox" parent="VBoxContainer/HBoxContainer/GridContainer/Face/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 42.0 -margin/right = 106.0 -margin/bottom = 66.0 -range/min = 0.0 -range/max = 100.0 -range/step = 1.0 -range/page = 0.0 -range/value = 1.0 -range/exp_edit = false -range/rounded = false + +[node name="FaceFrame" type="SpinBox" parent="VBoxContainer/HBoxContainer/GridContainer/Face/VBoxContainer" index="2"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 42.0 +margin_right = 86.0 +margin_bottom = 66.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +min_value = 0.0 +max_value = 100.0 +step = 1.0 +page = 0.0 +value = 0.0 +exp_edit = false +rounded = false editable = true prefix = "Frame" suffix = "" -[node name="Typewriter" type="PanelContainer" parent="VBoxContainer/HBoxContainer/GridContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 84.0 -margin/right = 160.0 -margin/bottom = 202.0 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 7.0 -margin/top = 7.0 -margin/right = 153.0 -margin/bottom = 111.0 +[node name="Typewriter" type="PanelContainer" parent="VBoxContainer/HBoxContainer/GridContainer" index="2"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 84.0 +margin_right = 161.0 +margin_bottom = 238.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 7.0 +margin_top = 7.0 +margin_right = 154.0 +margin_bottom = 147.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 alignment = 0 -[node name="CheckButton" type="CheckButton" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer"] +[node name="CheckButton" type="CheckButton" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer" index="0"] -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 146.0 -margin/bottom = 22.0 +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 147.0 +margin_bottom = 40.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 toggle_mode = true enabled_focus_mode = 2 shortcut = null +group = null text = "Typewriter" flat = false align = 0 -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 26.0 -margin/right = 146.0 -margin/bottom = 50.0 +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 44.0 +margin_right = 147.0 +margin_bottom = 68.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 alignment = 0 -[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer/HBoxContainer"] - -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 5.0 -margin/right = 62.0 -margin/bottom = 19.0 +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer/HBoxContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 5.0 +margin_right = 62.0 +margin_bottom = 19.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 text = "sec/letter" percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="TypewriterSpeed" type="SpinBox" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer/HBoxContainer"] - -rect/min_size = Vector2( 80, 20 ) -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 66.0 -margin/top = 0.0 -margin/right = 146.0 -margin/bottom = 24.0 -range/min = 0.01 -range/max = 1.0 -range/step = 0.01 -range/page = 0.0 -range/value = 0.05 -range/exp_edit = false -range/rounded = false +[node name="TypewriterSpeed" type="SpinBox" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer/HBoxContainer" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 66.0 +margin_right = 140.0 +margin_bottom = 24.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +min_value = 0.01 +max_value = 1.0 +step = 0.01 +page = 0.0 +value = 0.05 +exp_edit = false +rounded = false editable = true prefix = "" suffix = "" -[node name="beep" type="CheckButton" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 54.0 -margin/right = 146.0 -margin/bottom = 76.0 +[node name="CheckButton2" type="CheckButton" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer" index="2"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 72.0 +margin_right = 147.0 +margin_bottom = 112.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 toggle_mode = true enabled_focus_mode = 2 shortcut = null +group = null text = "Beep" flat = false align = 0 -[node name="SpinBox" type="SpinBox" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 80.0 -margin/right = 146.0 -margin/bottom = 104.0 -range/min = 0.1 -range/max = 10.0 -range/step = 0.1 -range/page = 0.0 -range/value = 1.0 -range/exp_edit = false -range/rounded = false +[node name="SpinBox" type="SpinBox" parent="VBoxContainer/HBoxContainer/GridContainer/Typewriter/VBoxContainer" index="3"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 116.0 +margin_right = 147.0 +margin_bottom = 140.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +min_value = 0.1 +max_value = 10.0 +step = 0.1 +page = 0.0 +value = 1.0 +exp_edit = false +rounded = false editable = true prefix = "Pitch" suffix = "" -[node name="other" type="PanelContainer" parent="VBoxContainer/HBoxContainer/GridContainer"] - -rect/min_size = Vector2( 120, 0 ) -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 164.0 -margin/top = 84.0 -margin/right = 284.0 -margin/bottom = 202.0 - -[node name="TextPanel" type="PanelContainer" parent="VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 341.0 -margin/right = 750.0 -margin/bottom = 473.0 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/TextPanel"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 7.0 -margin/top = 7.0 -margin/right = 743.0 -margin/bottom = 125.0 +[node name="other" type="PanelContainer" parent="VBoxContainer/HBoxContainer/GridContainer" index="3"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 165.0 +margin_top = 84.0 +margin_right = 265.0 +margin_bottom = 238.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="TextPanel" type="PanelContainer" parent="VBoxContainer" index="3"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 402.0 +margin_right = 784.0 +margin_bottom = 534.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/TextPanel" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 7.0 +margin_top = 7.0 +margin_right = 777.0 +margin_bottom = 125.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 alignment = 0 -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TextPanel/VBoxContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/TextPanel/VBoxContainer" index="0"] -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 736.0 -margin/bottom = 14.0 +editor/display_folded = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 770.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 alignment = 0 -[node name="Label" type="Label" parent="VBoxContainer/TextPanel/VBoxContainer/HBoxContainer"] - -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 27.0 -margin/bottom = 14.0 +[node name="Label" type="Label" parent="VBoxContainer/TextPanel/VBoxContainer/HBoxContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 27.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 text = "Text" percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="HBoxContainer 2" type="HBoxContainer" parent="VBoxContainer/TextPanel/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 18.0 -margin/right = 736.0 -margin/bottom = 118.0 +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/TextPanel/VBoxContainer" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 18.0 +margin_right = 770.0 +margin_bottom = 118.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 alignment = 0 -[node name="TextEdit" type="TextEdit" parent="VBoxContainer/TextPanel/VBoxContainer/HBoxContainer 2"] - -rect/min_size = Vector2( 367, 100 ) -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 367.0 -margin/bottom = 100.0 +[node name="TextEdit" type="TextEdit" parent="VBoxContainer/TextPanel/VBoxContainer/HBoxContainer2" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 367.0 +margin_bottom = 100.0 +rect_min_size = Vector2( 367, 100 ) +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +text = "" +readonly = false +highlight_current_line = false syntax_highlighting = false show_line_numbers = false highlight_all_occurrences = false -caret/block_caret = false -caret/caret_blink = false -caret/caret_blink_speed = 0.65 - -[node name="VButtonArray" type="VButtonArray" parent="VBoxContainer/TextPanel/VBoxContainer/HBoxContainer 2"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 371.0 -margin/top = 0.0 -margin/right = 413.0 -margin/bottom = 100.0 +override_selected_font_color = false +context_menu_enabled = true +smooth_scrolling = false +v_scroll_speed = 80.0 +hiding_enabled = 0 +wrap_lines = false +caret_block_mode = false +caret_blink = false +caret_blink_speed = 0.65 +caret_moving_by_right_click = true +_sections_unfolded = [ "Rect" ] + +[node name="Button" type="Button" parent="VBoxContainer/TextPanel/VBoxContainer/HBoxContainer2" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 371.0 +margin_right = 413.0 +margin_bottom = 100.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Next" flat = false -button/count = 1 -button/min_button_size = 22.0 -button/align = 1 -button/0/text = "Next" -button/0/tooltip = "" -button/0/icon = null -button/selected = 0 - -[node name="CheckButton" type="CheckButton" parent="VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 477.0 -margin/right = 750.0 -margin/bottom = 499.0 +align = 1 +_sections_unfolded = [ "Rect" ] + +[node name="CheckButton" type="CheckButton" parent="VBoxContainer" index="4"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 538.0 +margin_right = 784.0 +margin_bottom = 578.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 toggle_mode = true enabled_focus_mode = 2 shortcut = null +group = null text = "Question" flat = false align = 0 -[node name="question" type="PanelContainer" parent="VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 503.0 -margin/right = 750.0 -margin/bottom = 587.0 - -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/question"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 7.0 -margin/top = 7.0 -margin/right = 743.0 -margin/bottom = 77.0 +[node name="question" type="PanelContainer" parent="VBoxContainer" index="5"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 582.0 +margin_right = 784.0 +margin_bottom = 666.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/question" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 7.0 +margin_top = 7.0 +margin_right = 777.0 +margin_bottom = 77.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 alignment = 0 -[node name="choicesNumber" type="SpinBox" parent="VBoxContainer/question/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 736.0 -margin/bottom = 24.0 -range/min = 0.0 -range/max = 4.0 -range/step = 1.0 -range/page = 0.0 -range/value = 1.0 -range/exp_edit = false -range/rounded = false +[node name="choicesNumber" type="SpinBox" parent="VBoxContainer/question/VBoxContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 770.0 +margin_bottom = 24.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +min_value = 1.0 +max_value = 4.0 +step = 1.0 +page = 0.0 +value = 1.0 +exp_edit = false +rounded = false editable = true prefix = "Choices" suffix = "/4" -[node name="GridContainer" type="GridContainer" parent="VBoxContainer/question/VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 28.0 -margin/right = 736.0 -margin/bottom = 70.0 -columns = 4 - -[node name="Option" type="VBoxContainer" parent="VBoxContainer/question/VBoxContainer/GridContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 97.0 -margin/bottom = 42.0 +[node name="GridContainer" type="HBoxContainer" parent="VBoxContainer/question/VBoxContainer" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 28.0 +margin_right = 770.0 +margin_bottom = 70.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 alignment = 0 -[node name="Label" type="Label" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option"] +[node name="Option" type="VBoxContainer" parent="VBoxContainer/question/VBoxContainer/GridContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 97.0 +margin_bottom = 42.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +alignment = 0 -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 97.0 -margin/bottom = 14.0 +[node name="Label" type="Label" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 97.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 text = "Option content" percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="text" type="LineEdit" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 18.0 -margin/right = 97.0 -margin/bottom = 42.0 -placeholder/alpha = 0.6 -expand_to_len = false +[node name="LineEdit" type="LineEdit" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 18.0 +margin_right = 97.0 +margin_bottom = 42.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false focus_mode = 2 -caret/caret_blink = false -caret/caret_blink_speed = 0.65 - -[node name="Option1" type="VBoxContainer" parent="VBoxContainer/question/VBoxContainer/GridContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 101.0 -margin/top = 0.0 -margin/right = 198.0 -margin/bottom = 42.0 -alignment = 0 +mouse_filter = 0 +mouse_default_cursor_shape = 1 +size_flags_horizontal = 1 +size_flags_vertical = 1 +focus_mode = 2 +context_menu_enabled = true +placeholder_alpha = 0.6 +caret_blink = false +caret_blink_speed = 0.65 +caret_position = 0 + +[node name="Option1" type="VBoxContainer" parent="VBoxContainer/question/VBoxContainer/GridContainer" index="1"] -[node name="Label" type="Label" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option1"] +editor/display_folded = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 101.0 +margin_right = 198.0 +margin_bottom = 42.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +alignment = 0 -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 97.0 -margin/bottom = 14.0 +[node name="Label" type="Label" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option1" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 97.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 text = "Option content" percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="text" type="LineEdit" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option1"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 18.0 -margin/right = 97.0 -margin/bottom = 42.0 -placeholder/alpha = 0.6 -expand_to_len = false +[node name="LineEdit" type="LineEdit" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option1" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 18.0 +margin_right = 97.0 +margin_bottom = 42.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false focus_mode = 2 -caret/caret_blink = false -caret/caret_blink_speed = 0.65 - -[node name="Option2" type="VBoxContainer" parent="VBoxContainer/question/VBoxContainer/GridContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 202.0 -margin/top = 0.0 -margin/right = 299.0 -margin/bottom = 42.0 -alignment = 0 +mouse_filter = 0 +mouse_default_cursor_shape = 1 +size_flags_horizontal = 1 +size_flags_vertical = 1 +focus_mode = 2 +context_menu_enabled = true +placeholder_alpha = 0.6 +caret_blink = false +caret_blink_speed = 0.65 +caret_position = 0 + +[node name="Option2" type="VBoxContainer" parent="VBoxContainer/question/VBoxContainer/GridContainer" index="2"] -[node name="Label" type="Label" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option2"] +editor/display_folded = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 202.0 +margin_right = 299.0 +margin_bottom = 42.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +alignment = 0 -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 97.0 -margin/bottom = 14.0 +[node name="Label" type="Label" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option2" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 97.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 text = "Option content" percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="text" type="LineEdit" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option2"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 18.0 -margin/right = 97.0 -margin/bottom = 42.0 -placeholder/alpha = 0.6 -expand_to_len = false +[node name="LineEdit" type="LineEdit" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option2" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 18.0 +margin_right = 97.0 +margin_bottom = 42.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false focus_mode = 2 -caret/caret_blink = false -caret/caret_blink_speed = 0.65 - -[node name="Option3" type="VBoxContainer" parent="VBoxContainer/question/VBoxContainer/GridContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 303.0 -margin/top = 0.0 -margin/right = 400.0 -margin/bottom = 42.0 -alignment = 0 +mouse_filter = 0 +mouse_default_cursor_shape = 1 +size_flags_horizontal = 1 +size_flags_vertical = 1 +focus_mode = 2 +context_menu_enabled = true +placeholder_alpha = 0.6 +caret_blink = false +caret_blink_speed = 0.65 +caret_position = 0 -[node name="Label" type="Label" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option3"] +[node name="Option3" type="VBoxContainer" parent="VBoxContainer/question/VBoxContainer/GridContainer" index="3"] -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 0 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 97.0 -margin/bottom = 14.0 +editor/display_folded = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 303.0 +margin_right = 400.0 +margin_bottom = 42.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +alignment = 0 + +[node name="Label" type="Label" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option3" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 97.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 text = "Option content" percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="text" type="LineEdit" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option3"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 18.0 -margin/right = 97.0 -margin/bottom = 42.0 -placeholder/alpha = 0.6 -expand_to_len = false +[node name="LineEdit" type="LineEdit" parent="VBoxContainer/question/VBoxContainer/GridContainer/Option3" index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 18.0 +margin_right = 97.0 +margin_bottom = 42.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 1 +size_flags_horizontal = 1 +size_flags_vertical = 1 focus_mode = 2 -caret/caret_blink = false -caret/caret_blink_speed = 0.65 +context_menu_enabled = true +placeholder_alpha = 0.6 +caret_blink = false +caret_blink_speed = 0.65 +caret_position = 0 diff --git a/SMRT/example.lan b/SMRT/example.lan index efcb8cc..66b4bb5 100644 --- a/SMRT/example.lan +++ b/SMRT/example.lan @@ -1 +1 @@ -{"INTRO":{"OLD MAN":[{"face_position":0, "beep_pitch":1, "answers":[], "beep":true, "text":"This is a little example file for SMRT-Godot!", "enable_question":false, "frame_position":0, "typewriter":true, "typewriter_speed":0.05, "face_frame":1}, {"face_position":0, "beep_pitch":1, "answers":[], "beep":true, "text":"Who am I you ask?", "enable_question":false, "frame_position":0, "typewriter":false, "typewriter_speed":0.05, "face_frame":1}, {"face_position":2, "beep_pitch":1, "answers":[], "beep":true, "text":"It'za me Mario!", "enable_question":false, "frame_position":0, "typewriter":true, "typewriter_speed":0.05, "face_frame":1}, {"face_position":1, "beep_pitch":1, "answers":["Let's go!", "Yup, let's go!", "Nope."], "beep":true, "text":"Shall we begin demonstrating what can be done with [color=#ff0000]SMRT[/color]ness?", "enable_question":true, "frame_position":0, "typewriter":true, "typewriter_speed":0.05, "face_frame":1}, {"face_position":0, "beep_pitch":1, "answers":[], "beep":true, "text":"So... we can make this go slower", "enable_question":false, "frame_position":1, "typewriter":true, "typewriter_speed":0.1, "face_frame":1}, {"face_position":0, "beep_pitch":1, "answers":[], "beep":true, "text":"And yes, appearing on the middle of the screen as you probably noticed.", "enable_question":false, "frame_position":2, "typewriter":true, "typewriter_speed":0.052353, "face_frame":1}, {"face_position":0, "beep_pitch":1, "answers":[], "beep":true, "text":"We can color our [color=#0062ff]L[/color][color=#58ff00]E[/color][color=#b400ff]T[/color][color=#eaff00]T[/color][color=#2c762b]E[/color][color=#7c72ad]R[/color][color=#975f30]S[/color] any RGB color we wish!", "enable_question":false, "frame_position":1, "typewriter":true, "typewriter_speed":0.05, "face_frame":1}, {"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"We can also change the pitch of the sound so we can give it more character.", "enable_question":false, "typewriter_speed":0.05, "typewriter":true, "frame_position":1, "face_frame":1}, {"answers":[], "beep_pitch":4, "face_position":0, "beep":true, "text":"Like this", "enable_question":false, "typewriter_speed":0.105906, "typewriter":true, "frame_position":2, "face_frame":1}, {"answers":[], "beep_pitch":0.5, "face_position":0, "beep":true, "text":"Or this", "enable_question":false, "typewriter_speed":0.105906, "typewriter":true, "frame_position":2, "face_frame":1}, {"face_position":0, "beep_pitch":1, "answers":[], "beep":true, "text":"So... yeah... go on...", "enable_question":false, "frame_position":2, "typewriter":true, "typewriter_speed":0.05, "face_frame":1}, {"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"Try moving the logo with the arrow keys towards the other logo to see another example!", "enable_question":false, "typewriter_speed":0.05, "typewriter":true, "frame_position":2, "face_frame":1}], "Freddie":[{"face_position":0, "beep_pitch":1, "answers":[], "beep":true, "text":"Don't stop me now!", "enable_question":false, "frame_position":2, "typewriter":true, "typewriter_speed":0.05, "face_frame":1}, {"face_position":0, "beep_pitch":0.1, "answers":[], "beep":true, "text":"Mother... just killed a man", "enable_question":false, "frame_position":2, "typewriter":true, "typewriter_speed":0.1, "face_frame":1}], "NPC1":[{"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"Hi there!", "enable_question":false, "typewriter_speed":0.05, "typewriter":true, "frame_position":2, "face_frame":1}, {"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"I am a little NPC... a very simple one.", "enable_question":false, "typewriter_speed":0.05, "typewriter":true, "frame_position":2, "face_frame":1}]}} \ No newline at end of file +{"INTRO":{"Freddie":[{"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"Don't stop me now!", "enable_question":false, "typewriter_speed":0.05, "typewriter":true, "frame_position":2, "face_frame":1}, {"answers":[], "beep_pitch":0.1, "face_position":0, "beep":true, "text":"Mother... just killed a man", "enable_question":false, "typewriter_speed":0.1, "typewriter":true, "frame_position":2, "face_frame":1}], "OLD MAN":[{"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"This is a little example file for SMRT-Godot!", "enable_question":false, "typewriter_speed":0.05, "typewriter":true, "frame_position":0, "face_frame":1}, {"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"Who am I you ask?", "enable_question":false, "typewriter_speed":0.05, "typewriter":false, "frame_position":0, "face_frame":1}, {"answers":[], "beep_pitch":1, "face_position":2, "beep":true, "text":"It'za me Mario!", "enable_question":false, "typewriter_speed":0.05, "typewriter":true, "frame_position":0, "face_frame":1}, {"answers":["Let's go!", "Yup, let's go!", "Nope."], "beep_pitch":1, "face_position":1, "beep":true, "text":"Shall we begin demonstrating what can be done with [color=#ff0000]SMRT[/color]ness?", "enable_question":true, "typewriter_speed":0.05, "typewriter":true, "frame_position":0, "face_frame":1}, {"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"So... we can make this go slower", "enable_question":false, "typewriter_speed":0.1, "typewriter":true, "frame_position":1, "face_frame":1}, {"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"And yes, appearing on the middle of the screen as you probably noticed.", "enable_question":false, "typewriter_speed":0.052353, "typewriter":true, "frame_position":0, "face_frame":1}, {"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"We can color our [color=#0062ff]L[/color][color=#58ff00]E[/color][color=#b400ff]T[/color][color=#eaff00]T[/color][color=#2c762b]E[/color][color=#7c72ad]R[/color][color=#975f30]S[/color] any RGB color we wish!", "enable_question":false, "typewriter_speed":0.05, "typewriter":true, "frame_position":1, "face_frame":1}, {"face_position":0, "beep_pitch":1, "answers":[], "beep":true, "text":"We can also change the pitch of the sound so we can give it more character.", "enable_question":false, "frame_position":1, "typewriter":true, "typewriter_speed":0.05, "face_frame":1}, {"face_position":0, "beep_pitch":4, "answers":[], "beep":true, "text":"Like this", "enable_question":false, "frame_position":2, "typewriter":true, "typewriter_speed":0.105906, "face_frame":1}, {"face_position":0, "beep_pitch":0.5, "answers":[], "beep":true, "text":"Or this", "enable_question":false, "frame_position":2, "typewriter":true, "typewriter_speed":0.105906, "face_frame":1}, {"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"So... yeah... go on...", "enable_question":false, "typewriter_speed":0.05, "typewriter":true, "frame_position":2, "face_frame":1}, {"face_position":0, "beep_pitch":1, "answers":[], "beep":true, "text":"Try moving the logo with the arrow keys towards the other logo to see another example!", "enable_question":false, "frame_position":2, "typewriter":true, "typewriter_speed":0.05, "face_frame":1}], "dynamic":[{"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"Hello {{playerName}}! Sing for me Bridge over troubled water.", "enable_question":false, "typewriter_speed":0.05, "typewriter":true, "frame_position":2, "face_frame":1}, {"answers":[], "beep_pitch":1, "face_position":0, "beep":true, "text":"Amount of money: {{money}}", "enable_question":false, "typewriter_speed":0.05, "typewriter":true, "frame_position":2, "face_frame":1}], "NPC1":[{"face_position":0, "beep_pitch":1, "answers":[], "beep":true, "text":"Hi there!", "enable_question":false, "frame_position":2, "typewriter":true, "typewriter_speed":0.05, "face_frame":1}, {"face_position":0, "beep_pitch":1, "answers":[], "beep":true, "text":"I am a little NPC... a very simple one.", "enable_question":false, "frame_position":2, "typewriter":true, "typewriter_speed":0.05, "face_frame":1}]}} \ No newline at end of file diff --git a/SMRT/faces/Linux-Mario_128x128.png-128x128.png b/SMRT/faces/Linux-Mario_128x128.png-128x128.png new file mode 100644 index 0000000..ca4aa58 Binary files /dev/null and b/SMRT/faces/Linux-Mario_128x128.png-128x128.png differ diff --git a/SMRT/faces/Linux-Mario_128x128.png-128x128.png.import b/SMRT/faces/Linux-Mario_128x128.png-128x128.png.import new file mode 100644 index 0000000..38076e4 --- /dev/null +++ b/SMRT/faces/Linux-Mario_128x128.png-128x128.png.import @@ -0,0 +1,29 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Linux-Mario_128x128.png-128x128.png-77911777f967eaaaeacd7b225f0a807a.stex" + +[deps] + +source_file="res://addons/SMRT/faces/Linux-Mario_128x128.png-128x128.png" +dest_files=[ "res://.import/Linux-Mario_128x128.png-128x128.png-77911777f967eaaaeacd7b225f0a807a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/SMRT/faces/dialog.tres b/SMRT/faces/dialog.tres index 05089aa..d070ccd 100644 --- a/SMRT/faces/dialog.tres +++ b/SMRT/faces/dialog.tres @@ -1,11 +1,16 @@ -[gd_resource type="SpriteFrames" load_steps=5 format=1] +[gd_resource type="SpriteFrames" load_steps=4 format=2] [ext_resource path="res://addons/SMRT/faces/faces2.png" type="Texture" id=1] [ext_resource path="res://addons/SMRT/faces/faces1.png" type="Texture" id=2] [ext_resource path="res://addons/SMRT/faces/faces3.png" type="Texture" id=3] -[ext_resource path="res://examples/cave/characters/face.png" type="Texture" id=4] [resource] -animations = [ { "frames":[ ExtResource( 1 ), ExtResource( 2 ), ExtResource( 3 ), ExtResource( 4 ) ], "loop":true, "name":"default", "speed":5.0 } ] +animations = [ { +"frames": [ ExtResource( 1 ), ExtResource( 2 ), ExtResource( 3 ) ], +"loop": true, +"name": "default", +"speed": 5.0 +} ] +_sections_unfolded = [ "Resource" ] diff --git a/SMRT/faces/faces1.png.import b/SMRT/faces/faces1.png.import new file mode 100644 index 0000000..d06c7c1 --- /dev/null +++ b/SMRT/faces/faces1.png.import @@ -0,0 +1,29 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/faces1.png-d547f736d18a6e39ccdba81b7028921e.stex" + +[deps] + +source_file="res://addons/SMRT/faces/faces1.png" +dest_files=[ "res://.import/faces1.png-d547f736d18a6e39ccdba81b7028921e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/SMRT/faces/faces2.png.import b/SMRT/faces/faces2.png.import new file mode 100644 index 0000000..aa33174 --- /dev/null +++ b/SMRT/faces/faces2.png.import @@ -0,0 +1,29 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/faces2.png-6f3bd31b83bfe9cedef8876e4e7f908c.stex" + +[deps] + +source_file="res://addons/SMRT/faces/faces2.png" +dest_files=[ "res://.import/faces2.png-6f3bd31b83bfe9cedef8876e4e7f908c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/SMRT/faces/faces3.png.import b/SMRT/faces/faces3.png.import new file mode 100644 index 0000000..d517756 --- /dev/null +++ b/SMRT/faces/faces3.png.import @@ -0,0 +1,29 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/faces3.png-e21f760a632503edae0ff4587ce30bdb.stex" + +[deps] + +source_file="res://addons/SMRT/faces/faces3.png" +dest_files=[ "res://.import/faces3.png-e21f760a632503edae0ff4587ce30bdb.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/SMRT/font/main_font.tres b/SMRT/font/main_font.tres index 8869cbe..51d704b 100644 --- a/SMRT/font/main_font.tres +++ b/SMRT/font/main_font.tres @@ -1,9 +1,12 @@ -[gd_resource type="DynamicFont" load_steps=2 format=1] +[gd_resource type="DynamicFont" load_steps=2 format=2] [ext_resource path="res://addons/SMRT/font/zig_____.ttf" type="DynamicFontData" id=1] [resource] -font/size = 12 -font/font = ExtResource( 1 ) +size = 10 +use_mipmaps = false +use_filter = false +font_data = ExtResource( 1 ) +_sections_unfolded = [ "Font", "Font/fallback", "Settings" ] diff --git a/SMRT/icon.png.import b/SMRT/icon.png.import new file mode 100644 index 0000000..461df61 --- /dev/null +++ b/SMRT/icon.png.import @@ -0,0 +1,29 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon.png-3d1dbbe8d59822731c69e698274e229c.stex" + +[deps] + +source_file="res://addons/SMRT/icon.png" +dest_files=[ "res://.import/icon.png-3d1dbbe8d59822731c69e698274e229c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/SMRT/icons/icon_add_track.svg.import b/SMRT/icons/icon_add_track.svg.import new file mode 100644 index 0000000..6f2b038 --- /dev/null +++ b/SMRT/icons/icon_add_track.svg.import @@ -0,0 +1,29 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_add_track.svg-c95d9d2b869b8e56379d74d690941e08.stex" + +[deps] + +source_file="res://addons/SMRT/icons/icon_add_track.svg" +dest_files=[ "res://.import/icon_add_track.svg-c95d9d2b869b8e56379d74d690941e08.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/SMRT/icons/icon_duplicate.svg.import b/SMRT/icons/icon_duplicate.svg.import new file mode 100644 index 0000000..1c1e487 --- /dev/null +++ b/SMRT/icons/icon_duplicate.svg.import @@ -0,0 +1,29 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_duplicate.svg-20c0b9db7f04f15aa33c81f191fc80bf.stex" + +[deps] + +source_file="res://addons/SMRT/icons/icon_duplicate.svg" +dest_files=[ "res://.import/icon_duplicate.svg-20c0b9db7f04f15aa33c81f191fc80bf.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/SMRT/icons/icon_remove.svg.import b/SMRT/icons/icon_remove.svg.import new file mode 100644 index 0000000..10435a7 --- /dev/null +++ b/SMRT/icons/icon_remove.svg.import @@ -0,0 +1,29 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_remove.svg-262351bdbdad50662d8a79ef47d6012a.stex" + +[deps] + +source_file="res://addons/SMRT/icons/icon_remove.svg" +dest_files=[ "res://.import/icon_remove.svg-262351bdbdad50662d8a79ef47d6012a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/SMRT/icons/png/icon_add_track.png.import b/SMRT/icons/png/icon_add_track.png.import new file mode 100644 index 0000000..e4820b4 --- /dev/null +++ b/SMRT/icons/png/icon_add_track.png.import @@ -0,0 +1,29 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/icon_add_track.png-3b0dad2db00b3eeba8c2cb0c50e42d97.stex" + +[deps] + +source_file="res://addons/SMRT/icons/png/icon_add_track.png" +dest_files=[ "res://.import/icon_add_track.png-3b0dad2db00b3eeba8c2cb0c50e42d97.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/SMRT/instance_dialog.gd b/SMRT/instance_dialog.gd index 193e652..fa663a0 100644 --- a/SMRT/instance_dialog.gd +++ b/SMRT/instance_dialog.gd @@ -1,3 +1,25 @@ +#------------------------------------------------------------------------------ +# Copyright 2016 brunosxs +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ------------------------------------------------------------------------------ + tool extends Control diff --git a/SMRT/modals/confirm.tscn b/SMRT/modals/confirm.tscn index bbef193..2140b9f 100644 --- a/SMRT/modals/confirm.tscn +++ b/SMRT/modals/confirm.tscn @@ -1,18 +1,20 @@ -[gd_scene format=1] +[gd_scene format=2] [node name="ConfirmationDialog" type="ConfirmationDialog"] -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 23.0 -margin/right = 133.0 -margin/bottom = 79.0 -popup/exclusive = false -window/title = "Hey, listen!" -dialog/text = "Remove\?" -dialog/hide_on_ok = true +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +rect_min_size = Vector2( 200, 70 ) +rect_pivot_offset = Vector2( 0, 0 ) +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +popup_exclusive = false +window_title = "Please Confirm..." +resizable = false +dialog_hide_on_ok = true diff --git a/SMRT/modals/input.gd b/SMRT/modals/input.gd index d5bfd30..f575b3a 100644 --- a/SMRT/modals/input.gd +++ b/SMRT/modals/input.gd @@ -1,3 +1,25 @@ +#------------------------------------------------------------------------------ +# Copyright 2016 brunosxs +# +# Permission is hereby granted, free of charge, to any person obtaining a copy of +# this software and associated documentation files (the "Software"), to deal in +# the Software without restriction, including without limitation the rights to +# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +# of the Software, and to permit persons to whom the Software is furnished to do +# so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# ------------------------------------------------------------------------------ + tool extends WindowDialog @@ -8,12 +30,12 @@ var messages func _ready(): add_user_signal("text") - input = get_node("VBoxContainer/LineEdit") - label = get_node("VBoxContainer/Label") - control_buttons = get_node("VBoxContainer/HButtonArray") + input = get_node("PanelContainer/VBoxContainer/LineEdit") + label = get_node("PanelContainer/VBoxContainer/Label") + control_buttons = get_node("PanelContainer/VBoxContainer/Button") input.connect("text_entered",self,"enter_pressed") - control_buttons.connect("button_selected", self, "btn_pressed") - messages = get_node("VBoxContainer/Label 2") + control_buttons.connect("pressed", self, "btn_pressed") + messages = get_node("PanelContainer/VBoxContainer/Label2") input.connect("text_changed",self,"check_regex") popup_centered(get_size()) @@ -32,13 +54,13 @@ func check_regex(text): # else: # messages.set_text("") -func btn_pressed(btn_index): - if btn_index == 0: - prepare_and_send(input.get_text()) - hide() - queue_free() - +func btn_pressed(): + prepare_and_send(input.get_text()) + hide() + queue_free() +func set_text(text): + input.text = text func prepare_and_send(text): text = str(input.get_text()) diff --git a/SMRT/modals/input.tscn b/SMRT/modals/input.tscn index 3ce79dc..3172633 100644 --- a/SMRT/modals/input.tscn +++ b/SMRT/modals/input.tscn @@ -1,88 +1,145 @@ -[gd_scene load_steps=2 format=1] +[gd_scene load_steps=2 format=2] [ext_resource path="res://addons/SMRT/modals/input.gd" type="Script" id=1] -[node name="WindowDialog" type="WindowDialog"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 70.0 -margin/top = 44.0 -margin/right = 249.0 -margin/bottom = 136.0 -popup/exclusive = true -window/title = "" -script/script = ExtResource( 1 ) - -[node name="VBoxContainer" type="VBoxContainer" parent="."] - -focus/ignore_mouse = false -focus/stop_mouse = false -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 0.0 -margin/right = 178.0 -margin/bottom = 86.0 +[node name="WindowDialog" type="WindowDialog" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 170.0 +margin_bottom = 100.0 +rect_min_size = Vector2( 170, 100 ) +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +popup_exclusive = false +window_title = "Confirmation" +resizable = false +script = ExtResource( 1 ) +_sections_unfolded = [ "Rect" ] + +[node name="PanelContainer" type="PanelContainer" parent="." index="1"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 164.0 +margin_bottom = 98.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 + +[node name="VBoxContainer" type="VBoxContainer" parent="PanelContainer" index="0"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_left = 7.0 +margin_top = 7.0 +margin_right = 157.0 +margin_bottom = 91.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 1 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 alignment = 1 -[node name="Label" type="Label" parent="VBoxContainer"] +[node name="Label" type="Label" parent="PanelContainer/VBoxContainer" index="0"] -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -margin/left = 0.0 -margin/top = 2.0 -margin/right = 178.0 -margin/bottom = 15.0 +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_right = 150.0 +margin_bottom = 14.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 text = "Info" align = 1 percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 -[node name="LineEdit" type="LineEdit" parent="VBoxContainer"] +[node name="LineEdit" type="LineEdit" parent="PanelContainer/VBoxContainer" index="1"] -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 19.0 -margin/right = 178.0 -margin/bottom = 42.0 +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 18.0 +margin_right = 150.0 +margin_bottom = 42.0 +rect_min_size = Vector2( 150, 0 ) +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 1 +size_flags_horizontal = 1 +size_flags_vertical = 1 +focus_mode = 2 +context_menu_enabled = true +placeholder_alpha = 0.6 +caret_blink = false +caret_blink_speed = 0.65 +caret_position = 0 +_sections_unfolded = [ "Rect" ] + +[node name="Button" type="Button" parent="PanelContainer/VBoxContainer" index="2"] -[node name="HButtonArray" type="HButtonArray" parent="VBoxContainer"] - -focus/ignore_mouse = false -focus/stop_mouse = true -size_flags/horizontal = 2 -size_flags/vertical = 2 -margin/left = 0.0 -margin/top = 46.0 -margin/right = 178.0 -margin/bottom = 67.0 -button/count = 1 -button/min_button_size = 0.0 -button/align = 1 -button/0/text = "OK" -button/0/icon = null -button/selected = 0 - -[node name="Label 2" type="Label" parent="VBoxContainer"] - -focus/ignore_mouse = true -focus/stop_mouse = true -size_flags/horizontal = 2 -margin/left = 0.0 -margin/top = 71.0 -margin/right = 178.0 -margin/bottom = 84.0 -custom_colors/font_color = Color( 0.917969, 0.139847, 0.139847, 1 ) +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 46.0 +margin_right = 150.0 +margin_bottom = 66.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +focus_mode = 2 +mouse_filter = 0 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 1 +toggle_mode = false +enabled_focus_mode = 2 +shortcut = null +group = null +text = "Ok" +flat = false align = 1 + +[node name="Label2" type="Label" parent="PanelContainer/VBoxContainer" index="3"] + +anchor_left = 0.0 +anchor_top = 0.0 +anchor_right = 0.0 +anchor_bottom = 0.0 +margin_top = 70.0 +margin_right = 150.0 +margin_bottom = 84.0 +rect_pivot_offset = Vector2( 0, 0 ) +rect_clip_content = false +mouse_filter = 2 +mouse_default_cursor_shape = 0 +size_flags_horizontal = 1 +size_flags_vertical = 4 percent_visible = 1.0 lines_skipped = 0 max_lines_visible = -1 diff --git a/SMRT/next_line.png.import b/SMRT/next_line.png.import new file mode 100644 index 0000000..c06cd11 --- /dev/null +++ b/SMRT/next_line.png.import @@ -0,0 +1,29 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/next_line.png-431ed274939bf0917bd4637c4374941e.stex" + +[deps] + +source_file="res://addons/SMRT/next_line.png" +dest_files=[ "res://.import/next_line.png-431ed274939bf0917bd4637c4374941e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/SMRT/plugin.cfg b/SMRT/plugin.cfg index 0fc130d..4c7dfa4 100644 --- a/SMRT/plugin.cfg +++ b/SMRT/plugin.cfg @@ -3,7 +3,7 @@ name="SMRT" description="SMRT is a dialog system for godot" author="BrunoSXS" -version="1.2.2" +version="3.0" script="SMRT.gd" diff --git a/SMRT/typewriter key 1 sound effect from SFX WORLD HIGH QUALTIY-cq4Ab_FGUv0.wav b/SMRT/typewriter key 1 sound effect from SFX WORLD HIGH QUALTIY-cq4Ab_FGUv0.wav new file mode 100644 index 0000000..79a28b3 Binary files /dev/null and b/SMRT/typewriter key 1 sound effect from SFX WORLD HIGH QUALTIY-cq4Ab_FGUv0.wav differ diff --git a/SMRT/typewriter key 1 sound effect from SFX WORLD HIGH QUALTIY-cq4Ab_FGUv0.wav.import b/SMRT/typewriter key 1 sound effect from SFX WORLD HIGH QUALTIY-cq4Ab_FGUv0.wav.import new file mode 100644 index 0000000..e47d44c --- /dev/null +++ b/SMRT/typewriter key 1 sound effect from SFX WORLD HIGH QUALTIY-cq4Ab_FGUv0.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/typewriter key 1 sound effect from SFX WORLD HIGH QUALTIY-cq4Ab_FGUv0.wav-6527bb5b746637cd697184e8509765f5.sample" + +[deps] + +source_file="res://addons/SMRT/typewriter key 1 sound effect from SFX WORLD HIGH QUALTIY-cq4Ab_FGUv0.wav" +dest_files=[ "res://.import/typewriter key 1 sound effect from SFX WORLD HIGH QUALTIY-cq4Ab_FGUv0.wav-6527bb5b746637cd697184e8509765f5.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=true +edit/normalize=true +edit/loop=false +compress/mode=0