diff --git a/.gitignore b/.gitignore index 6b39c60b..19b68ee6 100644 --- a/.gitignore +++ b/.gitignore @@ -44,4 +44,11 @@ addons/* !/docs/ !/docs/* # No forget the gitbook configuration file -!.gitbook.yaml \ No newline at end of file +!.gitbook.yaml + +########## +# Examples +########## +# Do not forget the examples folder +!/examples/ +!/examples/* \ No newline at end of file diff --git a/addons/event_system_plugin/resources/registered_events/registered_events.tres b/addons/event_system_plugin/resources/registered_events/registered_events.tres index 93bcffb5..366109ef 100644 --- a/addons/event_system_plugin/resources/registered_events/registered_events.tres +++ b/addons/event_system_plugin/resources/registered_events/registered_events.tres @@ -1,4 +1,4 @@ -[gd_resource type="Resource" load_steps=12 format=2] +[gd_resource type="Resource" load_steps=20 format=2] [ext_resource path="res://addons/event_system_plugin/resources/registered_events/_.gd" type="Script" id=1] [ext_resource path="res://addons/event_system_plugin/events/comment.gd" type="Script" id=2] @@ -10,8 +10,16 @@ [ext_resource path="res://addons/event_system_plugin/events/condition.gd" type="Script" id=8] [ext_resource path="res://addons/event_system_plugin/events/show.gd" type="Script" id=9] [ext_resource path="res://addons/event_system_plugin/events/hide.gd" type="Script" id=10] +[ext_resource path="res://addons/textalog/events/dialog/text.gd" type="Script" id=11] [ext_resource path="res://addons/event_system_plugin/events/call_from.gd" type="Script" id=12] +[ext_resource path="res://addons/textalog/events/dialog/choice.gd" type="Script" id=13] +[ext_resource path="res://addons/textalog/events/character/change_expression.gd" type="Script" id=14] +[ext_resource path="res://addons/textalog/events/character/join.gd" type="Script" id=15] +[ext_resource path="res://addons/textalog/events/character/leave.gd" type="Script" id=16] +[ext_resource path="res://examples/VisualNovel/events/change_background.gd" type="Script" id=17] +[ext_resource path="res://examples/VisualNovel/events/play_music.gd" type="Script" id=18] +[ext_resource path="res://examples/VisualNovel/events/shake_screen.gd" type="Script" id=19] [resource] script = ExtResource( 1 ) -events = [ ExtResource( 3 ), ExtResource( 5 ), ExtResource( 4 ), ExtResource( 2 ), ExtResource( 6 ), ExtResource( 7 ), ExtResource( 8 ), ExtResource( 10 ), ExtResource( 9 ), ExtResource( 12 ) ] +events = [ ExtResource( 3 ), ExtResource( 5 ), ExtResource( 4 ), ExtResource( 2 ), ExtResource( 6 ), ExtResource( 7 ), ExtResource( 8 ), ExtResource( 10 ), ExtResource( 9 ), ExtResource( 12 ), ExtResource( 11 ), ExtResource( 13 ), ExtResource( 14 ), ExtResource( 15 ), ExtResource( 16 ), ExtResource( 17 ), ExtResource( 18 ), ExtResource( 19 ) ] diff --git a/addons/textalog/plugin_script.gd b/addons/textalog/plugin_script.gd index 03ed4128..0a0ee954 100644 --- a/addons/textalog/plugin_script.gd +++ b/addons/textalog/plugin_script.gd @@ -12,6 +12,10 @@ var event_scripts := PoolStringArray([ "res://addons/textalog/events/character/change_expression.gd", "res://addons/textalog/events/character/join.gd", "res://addons/textalog/events/character/leave.gd", + # hard-coding example-specific events is a nightmare but I guess I gotta do it + "res://examples/VisualNovel/events/change_background.gd", + "res://examples/VisualNovel/events/play_music.gd", + "res://examples/VisualNovel/events/shake_screen.gd", ]) var _welcome_scene:PackedScene = load("res://addons/textalog/nodes/editor/welcome/hi.tscn") diff --git a/examples/VisualNovel/Backgrounds/backgroundColorForest.png b/examples/VisualNovel/Backgrounds/backgroundColorForest.png new file mode 100644 index 00000000..05b01549 Binary files /dev/null and b/examples/VisualNovel/Backgrounds/backgroundColorForest.png differ diff --git a/examples/VisualNovel/Backgrounds/backgroundColorForest.png.import b/examples/VisualNovel/Backgrounds/backgroundColorForest.png.import new file mode 100644 index 00000000..ff587f92 --- /dev/null +++ b/examples/VisualNovel/Backgrounds/backgroundColorForest.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/backgroundColorForest.png-381303fc1ed84ef726ff9947fb369f53.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/VisualNovel/Backgrounds/backgroundColorForest.png" +dest_files=[ "res://.import/backgroundColorForest.png-381303fc1ed84ef726ff9947fb369f53.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/VisualNovel/Backgrounds/backgroundColorGrass.png b/examples/VisualNovel/Backgrounds/backgroundColorGrass.png new file mode 100644 index 00000000..87ce76f4 Binary files /dev/null and b/examples/VisualNovel/Backgrounds/backgroundColorGrass.png differ diff --git a/examples/VisualNovel/Backgrounds/backgroundColorGrass.png.import b/examples/VisualNovel/Backgrounds/backgroundColorGrass.png.import new file mode 100644 index 00000000..4d6e1645 --- /dev/null +++ b/examples/VisualNovel/Backgrounds/backgroundColorGrass.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/backgroundColorGrass.png-593b0d7eb6130ce55ca13af8b367d76d.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/VisualNovel/Backgrounds/backgroundColorGrass.png" +dest_files=[ "res://.import/backgroundColorGrass.png-593b0d7eb6130ce55ca13af8b367d76d.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/VisualNovel/Character.gd b/examples/VisualNovel/Character.gd new file mode 100644 index 00000000..713daca7 --- /dev/null +++ b/examples/VisualNovel/Character.gd @@ -0,0 +1,43 @@ +extends Control + + +export var main_node: NodePath +export var expression_player: NodePath +export var talk_player: NodePath + +var texture + +func _ready(): + set_size(get_node(main_node).get_rect().size) + if is_connected("resized", self, "_on_resized"): + return + connect("resized", self, "_on_resized") + + +func _on_resized(): + if not main_node: + push_warning("Main Node not defined on %" % self) + return + var node = get_node(main_node) + var size = node.get_rect().size + node.set_scale(Vector2(rect_size.y/size.y, rect_size.y/size.y)) + node.position.x = (rect_size.x - size.x*node.scale.x)/2 + + +func change_expression(expression: String): + if not expression_player: + push_warning("Expression Player not defined on %" % self) + return + var anim_player = get_node(expression_player) + anim_player.play(expression) + + +func set_talk(toggle: bool): + if not talk_player: + push_warning("Talk Player not defined on %" % self) + return + var anim_player = get_node(talk_player) + if toggle: + anim_player.play("talk") + else: + anim_player.play("RESET") diff --git a/examples/VisualNovel/DialogPiece.tscn b/examples/VisualNovel/DialogPiece.tscn new file mode 100644 index 00000000..51d8e2d3 --- /dev/null +++ b/examples/VisualNovel/DialogPiece.tscn @@ -0,0 +1,41 @@ +[gd_scene format=2] + +[node name="DialogPiece" type="PanelContainer"] +margin_right = 1024.0 +margin_bottom = 78.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +margin_left = 7.0 +margin_top = 7.0 +margin_right = 1017.0 +margin_bottom = 71.0 + +[node name="Avatar" type="TextureRect" parent="HBoxContainer"] +margin_right = 64.0 +margin_bottom = 64.0 +rect_min_size = Vector2( 64, 64 ) +expand = true + +[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"] +margin_left = 68.0 +margin_right = 1010.0 +margin_bottom = 64.0 +size_flags_horizontal = 3 + +[node name="Name" type="Label" parent="HBoxContainer/VBoxContainer"] +margin_right = 942.0 +margin_bottom = 14.0 +text = "Character Name" + +[node name="Dialog" type="RichTextLabel" parent="HBoxContainer/VBoxContainer"] +margin_top = 18.0 +margin_right = 942.0 +margin_bottom = 64.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +bbcode_enabled = true +bbcode_text = "Text" +text = "Text" diff --git a/examples/VisualNovel/ICLogs.gd b/examples/VisualNovel/ICLogs.gd new file mode 100644 index 00000000..da489888 --- /dev/null +++ b/examples/VisualNovel/ICLogs.gd @@ -0,0 +1,44 @@ +extends Control + + +var piece_res = preload("res://examples/VisualNovel/DialogPiece.tscn") + +onready var scroll_container = $LogLayout/ScrollContainer +onready var piece_container = $LogLayout/ScrollContainer/PieceContainer +onready var log_layout = $LogLayout + +func clear(): + for piece in piece_container.get_children(): + piece.queue_free() + + +func add_piece(icon: Texture, showname: String, text: String): + var piece: Control = piece_res.instance() + piece.get_node("HBoxContainer/Avatar").texture = icon + piece.get_node("HBoxContainer/VBoxContainer/Name").text = showname + piece.get_node("HBoxContainer/VBoxContainer/Dialog").bbcode_text = text + piece_container.add_child(piece) + yield(get_tree(), "idle_frame") + scroll_container.ensure_control_visible(piece) + + +func filter_pieces(search: String): + for piece in piece_container.get_children(): + var piece_name = piece.get_node("HBoxContainer/VBoxContainer/Name").text + var piece_dialog = piece.get_node("HBoxContainer/VBoxContainer/Dialog").text + + piece.set_visible(false) + if search == "" or piece_name.to_lower().find(search.to_lower()) != -1 \ + or piece_dialog.to_lower().find(search.to_lower()) != -1: + piece.set_visible(true) + + +func _on_SearchString_text_changed(new_text: String): + filter_pieces(new_text) + + +func _on_Button_pressed(): + log_layout.set_visible(not log_layout.visible) + if log_layout.visible: + yield(get_tree(), "idle_frame") + scroll_container.scroll_vertical = scroll_container.get_v_scrollbar().max_value diff --git a/examples/VisualNovel/ICLogs.tscn b/examples/VisualNovel/ICLogs.tscn new file mode 100644 index 00000000..a4533121 --- /dev/null +++ b/examples/VisualNovel/ICLogs.tscn @@ -0,0 +1,79 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://examples/VisualNovel/ICLogs.gd" type="Script" id=2] + +[node name="ICLogs" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +script = ExtResource( 2 ) +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="LogLayout" type="Control" parent="."] +visible = false +anchor_right = 1.0 +anchor_bottom = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Fade" type="ColorRect" parent="LogLayout"] +anchor_right = 1.0 +anchor_bottom = 1.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +color = Color( 0, 0, 0, 0.294118 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="ScrollContainer" type="ScrollContainer" parent="LogLayout"] +anchor_left = 0.207031 +anchor_top = 0.0716667 +anchor_right = 0.792969 +anchor_bottom = 1.0 +follow_focus = true +scroll_horizontal_enabled = false +__meta__ = { +"_edit_use_anchors_": true +} + +[node name="PieceContainer" type="VBoxContainer" parent="LogLayout/ScrollContainer"] +margin_right = 600.0 +margin_bottom = 557.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +__meta__ = { +"_edit_use_anchors_": true +} + +[node name="SearchString" type="LineEdit" parent="LogLayout"] +anchor_left = 0.207 +anchor_right = 0.793 +margin_left = 0.0319824 +margin_right = -0.0320435 +margin_bottom = 27.0 +focus_mode = 1 +size_flags_horizontal = 3 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="Button" type="Button" parent="."] +anchor_left = 1.0 +anchor_right = 1.0 +margin_left = -95.0 +margin_top = 10.0 +margin_right = -14.0 +margin_bottom = 43.0 +focus_mode = 0 +text = "Logs" +__meta__ = { +"_edit_use_anchors_": false +} + +[connection signal="text_changed" from="LogLayout/SearchString" to="." method="_on_SearchString_text_changed"] +[connection signal="pressed" from="Button" to="." method="_on_Button_pressed"] diff --git a/examples/VisualNovel/Main.gd b/examples/VisualNovel/Main.gd new file mode 100644 index 00000000..f7b58a72 --- /dev/null +++ b/examples/VisualNovel/Main.gd @@ -0,0 +1,139 @@ +extends Control + +var transition_shader = preload("res://examples/VisualNovel/transition.gdshader") + +onready var background = $Background +onready var background_transitions = $BackgroundTransitions +onready var screencap = $HUD/Screencap +onready var dialog_node = $HUD/DialogNode +onready var event_manager = $EventManager +onready var ic_logs = $HUD/ICLogs +onready var music_player = $MusicPlayer +onready var camera = $ShakeCamera2D + +var bgs = [ + "res://examples/VisualNovel/Backgrounds/backgroundColorForest.png", + "res://examples/VisualNovel/Backgrounds/backgroundColorGrass.png", +] +var bg_index = 0 + +var current_character: Character +var current_portrait: Portrait +var current_timeline: Timeline +var current_event: Event +var seen_events: Dictionary = {} + +var skip_timer = 0.0 + +export var skip_delay: float = 0.02 + +func _process(delta): + skip_timer += delta + var go = Input.is_action_just_pressed("ui_accept") or Input.is_action_pressed("ui_right") + if current_timeline and go and skip_timer > skip_delay: + skip_timer = 0.0 + if not current_event: + event_manager.go_to_next_event() + elif event_manager.timeline in seen_events and \ + current_event in seen_events[event_manager.timeline]: + dialog_node.dialog_manager.display_all_text() + + if Input.is_action_just_pressed("ui_down"): + bg_index = (bg_index + 1) % bgs.size() + set_background(bgs[bg_index], 0, 0) + + +func play_music(audio: AudioStream, speed: float = 1.0): + music_player.play_music(audio, speed) + + +func set_background(img: Texture, smooth: float = 0.5, speed: float = 1.0): + if speed > 0: + screencap.material.set_shader_param("smooth_size", smooth) + var screen_img = get_tree().get_root().get_texture().get_data() + screen_img.flip_y() + var texture = ImageTexture.new() + texture.create_from_image(screen_img) + screencap.texture = texture + yield(get_tree(), "idle_frame") + background_transitions.play("transition", -1, speed) + background.set_texture(img) + + +func shake_screen(trauma: float, decay: float, max_offset: Vector2, max_roll: float): + camera.decay = decay + camera.max_offset = max_offset + camera.max_roll = max_roll + camera.add_trauma(trauma) + + +func _on_EventManager_event_started(event: Event): + current_event = event + if event is EventDialogText: + current_character = event.character + if current_character: + var node = dialog_node.portrait_manager.portraits[current_character] + if node.has_method("set_talk"): + node.set_talk(true) + + +func _on_EventManager_event_finished(event: Event): + current_event = null + var seen = false + if event_manager.timeline in seen_events: + if event in seen_events[event_manager.timeline]: + seen = true + else: + seen_events[event_manager.timeline].append(event) + else: + seen_events[event_manager.timeline] = [event] + + if not seen and event is EventDialogText: + var texture + if event.character and current_portrait and current_portrait.icon: + texture = ImageTexture.new() + texture.create_from_image(current_portrait.icon.get_data()) + ic_logs.add_piece(texture, event.display_name, event.text) + + +func _on_DialogNode_portrait_added(character, portrait): + current_portrait = portrait + + # TODO: move this to its own function for easy access + more customizability + var shader_material = ShaderMaterial.new() + shader_material.shader = transition_shader + shader_material.set_shader_param("mask", load("res://examples/VisualNovel/transition3.png")) + shader_material.set_shader_param("cutoff", 1.0) + shader_material.set_shader_param("smooth_size", 0.5) + var texture_rect = dialog_node.portrait_manager.portraits[character] + texture_rect.material = shader_material + var anim_player = $PortraitTemplate/AnimationPlayer.duplicate() + anim_player.root_node = texture_rect.get_path() + texture_rect.add_child(anim_player) + anim_player.play("transition") + + +func _on_DialogNode_portrait_changed(character, portrait): + current_portrait = portrait + + +func _on_DialogNode_portrait_removed(_character): + current_portrait = null + +func _on_Investigation_investigate(obj_name, timeline): + event_manager.start_timeline(timeline) + + +func _on_EventManager_timeline_started(timeline_resource): + current_timeline = timeline_resource + + +func _on_EventManager_timeline_finished(timeline_resource): + current_timeline = null + + +func _on_DialogNode_text_displayed(): + if current_character: + var node = dialog_node.portrait_manager.portraits[current_character] + if node.has_method("set_talk"): + node.set_talk(false) diff --git a/examples/VisualNovel/Main.tscn b/examples/VisualNovel/Main.tscn new file mode 100644 index 00000000..504efd4d --- /dev/null +++ b/examples/VisualNovel/Main.tscn @@ -0,0 +1,299 @@ +[gd_scene load_steps=25 format=2] + +[ext_resource path="res://addons/event_system_plugin/nodes/event_manager/event_manager.gd" type="Script" id=1] +[ext_resource path="res://examples/VisualNovel/transition.gdshader" type="Shader" id=2] +[ext_resource path="res://addons/textalog/nodes/dialogue_base_node/dialog_node/dialog_node.gd" type="Script" id=3] +[ext_resource path="res://examples/VisualNovel/transition3.png" type="Texture" id=4] +[ext_resource path="res://examples/VisualNovel/Main.gd" type="Script" id=5] +[ext_resource path="res://examples/VisualNovel/timelines/main.tres" type="Resource" id=6] +[ext_resource path="res://examples/VisualNovel/ICLogs.tscn" type="PackedScene" id=7] +[ext_resource path="res://icon.png" type="Texture" id=8] +[ext_resource path="res://examples/VisualNovel/transition1.png" type="Texture" id=9] +[ext_resource path="res://addons/textalog/nodes/dialogue_base_node/dialogue_base_node.gd" type="Script" id=10] +[ext_resource path="res://addons/textalog/nodes/dialogue_base_node/options_node/options_node.tscn" type="PackedScene" id=11] +[ext_resource path="res://addons/textalog/assets/themes/default_theme/plain_black.tres" type="Theme" id=12] +[ext_resource path="res://examples/VisualNovel/portrait_manager_ex.gd" type="Script" id=13] +[ext_resource path="res://examples/VisualNovel/MusicPlayer.gd" type="Script" id=14] +[ext_resource path="res://examples/VisualNovel/ShakeCamera/ShakeCamera2D.tscn" type="PackedScene" id=15] +[ext_resource path="res://addons/textalog/assets/themes/default_theme/plain_black_name_style.tres" type="StyleBox" id=16] + +[sub_resource type="ShaderMaterial" id=1] +shader = ExtResource( 2 ) +shader_param/cutoff = 0.0 +shader_param/smooth_size = 0.5 +shader_param/mask = ExtResource( 4 ) + +[sub_resource type="Animation" id=2] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("HUD/Screencap:material:shader_param/cutoff") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} + +[sub_resource type="Animation" id=3] +resource_name = "transition" +tracks/0/type = "value" +tracks/0/path = NodePath("HUD/Screencap:material:shader_param/cutoff") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ 0.0, 1.0 ] +} + +[sub_resource type="ShaderMaterial" id=5] +shader = ExtResource( 2 ) +shader_param/cutoff = 0.0 +shader_param/smooth_size = null +shader_param/mask = ExtResource( 9 ) + +[sub_resource type="Animation" id=8] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath(".:material:shader_param/cutoff") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0.001 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} + +[sub_resource type="Animation" id=6] +resource_name = "transition" +tracks/0/type = "value" +tracks/0/path = NodePath(".:material:shader_param/cutoff") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 1 ), +"transitions": PoolRealArray( 1, 1 ), +"update": 0, +"values": [ 1.0, 0.0 ] +} + +[sub_resource type="Animation" id=9] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath(".:volume_db") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ 0.0 ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("CrossfadePlayer:volume_db") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ -80.0 ] +} + +[sub_resource type="Animation" id=10] +resource_name = "crossfade" +tracks/0/type = "value" +tracks/0/path = NodePath(".:volume_db") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0, 1 ), +"transitions": PoolRealArray( 1.8, 0.2 ), +"update": 0, +"values": [ 0.0, -80.0 ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("CrossfadePlayer:volume_db") +tracks/1/interp = 2 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 1 ), +"transitions": PoolRealArray( 0.2, 1.8 ), +"update": 0, +"values": [ -80.0, 0.0 ] +} + +[node name="Main" type="Control"] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 5 ) +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="EventManager" type="Node" parent="."] +script = ExtResource( 1 ) +event_node_path = NodePath("../HUD/DialogNode") +start_on_ready = true +timeline = ExtResource( 6 ) + +[node name="HUD" type="CanvasLayer" parent="."] + +[node name="DialogNode" type="Control" parent="HUD"] +anchor_right = 1.0 +anchor_bottom = 1.0 +theme = ExtResource( 12 ) +script = ExtResource( 10 ) +__meta__ = { +"_edit_group_": true, +"_edit_use_anchors_": false +} +DialogNode_Path = NodePath("DialogBox/DialogManager") +PortraitNode_Path = NodePath("../../PortraitManager") +OptionsNode_Path = NodePath("Options") +NameNode_path = NodePath("DialogBox/CharacterName") + +[node name="Options" parent="HUD/DialogNode" instance=ExtResource( 11 )] +margin_left = 27.0 +margin_top = 94.0 +margin_right = -25.0 +margin_bottom = -387.0 + +[node name="DialogBox" type="Control" parent="HUD/DialogNode"] +anchor_right = 1.0 +anchor_bottom = 1.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="CharacterName" type="Label" parent="HUD/DialogNode/DialogBox"] +anchor_left = 0.023 +anchor_top = 0.643 +anchor_right = 0.181 +anchor_bottom = 0.72 +margin_left = 0.447996 +margin_top = -4.30005 +margin_right = -0.344009 +margin_bottom = 4.49994 +grow_horizontal = 2 +grow_vertical = 2 +custom_styles/normal = ExtResource( 16 ) +text = "Sample Name" +align = 1 +valign = 1 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="DialogManager" type="Container" parent="HUD/DialogNode/DialogBox"] +anchor_left = 0.028 +anchor_top = 0.733 +anchor_right = 0.977 +anchor_bottom = 0.963 +margin_left = 0.327999 +margin_top = 0.199982 +margin_right = -0.448059 +margin_bottom = 0.199951 +script = ExtResource( 3 ) +__meta__ = { +"_edit_use_anchors_": false +} +text_show_scroll_at_end = false + +[node name="Screencap" type="TextureRect" parent="HUD"] +material = SubResource( 1 ) +anchor_right = 1.0 +anchor_bottom = 1.0 +mouse_filter = 2 +expand = true +__meta__ = { +"_edit_lock_": true, +"_edit_use_anchors_": false +} + +[node name="ICLogs" parent="HUD" instance=ExtResource( 7 )] +mouse_filter = 1 + +[node name="Background" type="TextureRect" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +expand = true +stretch_mode = 7 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="PortraitManager" type="Control" parent="."] +anchor_right = 1.0 +anchor_bottom = 1.0 +script = ExtResource( 13 ) +__meta__ = { +"_edit_use_anchors_": false +} +character_folder = "res://examples/VisualNovel/characters/" + +[node name="BackgroundTransitions" type="AnimationPlayer" parent="."] +anims/RESET = SubResource( 2 ) +anims/transition = SubResource( 3 ) + +[node name="PortraitTemplate" type="TextureRect" parent="."] +visible = false +material = SubResource( 5 ) +margin_left = 358.0 +margin_top = 120.0 +margin_right = 665.0 +margin_bottom = 540.0 +texture = ExtResource( 8 ) +expand = true +stretch_mode = 6 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="AnimationPlayer" type="AnimationPlayer" parent="PortraitTemplate"] +anims/RESET = SubResource( 8 ) +anims/transition = SubResource( 6 ) + +[node name="MusicPlayer" type="AudioStreamPlayer" parent="."] +script = ExtResource( 14 ) + +[node name="EffectsPlayer" type="AnimationPlayer" parent="MusicPlayer"] +anims/RESET = SubResource( 9 ) +anims/crossfade = SubResource( 10 ) + +[node name="CrossfadePlayer" type="AudioStreamPlayer" parent="MusicPlayer"] +volume_db = -80.0 + +[node name="ShakeCamera2D" parent="." instance=ExtResource( 15 )] +position = Vector2( 512, 300 ) +current = true + +[connection signal="event_finished" from="EventManager" to="." method="_on_EventManager_event_finished"] +[connection signal="event_started" from="EventManager" to="." method="_on_EventManager_event_started"] +[connection signal="timeline_finished" from="EventManager" to="." method="_on_EventManager_timeline_finished"] +[connection signal="timeline_started" from="EventManager" to="." method="_on_EventManager_timeline_started"] +[connection signal="portrait_added" from="HUD/DialogNode" to="." method="_on_DialogNode_portrait_added"] +[connection signal="portrait_changed" from="HUD/DialogNode" to="." method="_on_DialogNode_portrait_changed"] +[connection signal="portrait_removed" from="HUD/DialogNode" to="." method="_on_DialogNode_portrait_removed"] +[connection signal="text_displayed" from="HUD/DialogNode" to="." method="_on_DialogNode_text_displayed"] diff --git a/examples/VisualNovel/MusicPlayer.gd b/examples/VisualNovel/MusicPlayer.gd new file mode 100644 index 00000000..b010f92a --- /dev/null +++ b/examples/VisualNovel/MusicPlayer.gd @@ -0,0 +1,37 @@ +extends AudioStreamPlayer + + +onready var effects_player = $EffectsPlayer +onready var crossfade_player = $CrossfadePlayer + +var current_song: AudioStream setget set_song, get_song + +func play_music(song: AudioStream, speed = 1.0): + # first song played or no crossfade asked of us, skip crossfade + if stream == null or speed <= 0: + stream = song + volume_db = 0 + crossfade_player.volume_db = -80 + play() + return + if volume_db > crossfade_player.volume_db: + crossfade_player.stream = song + crossfade_player.play() + effects_player.play("crossfade", -1, speed) + else: + stream = song + play() + effects_player.play("crossfade", -1, -speed, true) + + +func set_song(value: AudioStream): + if volume_db > crossfade_player.volume_db: + stream = value + else: + crossfade_player.stream = value + + +func get_song(): + if volume_db > crossfade_player.volume_db: + return stream + return crossfade_player.stream diff --git a/examples/VisualNovel/ShakeCamera/ShakeCamera2D.gd b/examples/VisualNovel/ShakeCamera/ShakeCamera2D.gd new file mode 100644 index 00000000..8c6125f6 --- /dev/null +++ b/examples/VisualNovel/ShakeCamera/ShakeCamera2D.gd @@ -0,0 +1,41 @@ +extends Camera2D +class_name ShakeCamera2D + +export var decay = 0.8 # How quickly the shaking stops [0, 1]. +export var max_offset = Vector2(100, 50) # Maximum hor/ver shake in pixels. +export var max_roll = 0.1 # Maximum rotation in radians (use sparingly). +export (NodePath) var target # Assign the node this camera will follow. + +var trauma = 0.0 # Current shake strength. +var trauma_power = 2 # Trauma exponent. Use [2, 3]. +onready var noise = OpenSimplexNoise.new() +var noise_y = 0 + +func _ready(): + randomize() + noise.seed = randi() + noise.period = 4 + noise.octaves = 2 + +func _process(delta): + if target: + global_position = get_node(target).global_position + if trauma: + trauma = max(trauma - decay * delta, 0) + shake() + +func shake(): + var amount = pow(trauma, trauma_power) + noise_y += 1 + # Using noise + rotation = max_roll * amount * noise.get_noise_2d(noise.seed, noise_y) + offset.x = max_offset.x * amount * noise.get_noise_2d(noise.seed*2, noise_y) + offset.y = max_offset.y * amount * noise.get_noise_2d(noise.seed*3, noise_y) + # Pure randomness +# rotation = max_roll * amount * rand_range(-1, 1) +# offset.x = max_offset.x * amount * rand_range(-1, 1) +# offset.y = max_offset.y * amount * rand_range(-1, 1) + +func add_trauma(amount): + trauma += amount + diff --git a/examples/VisualNovel/ShakeCamera/ShakeCamera2D.tscn b/examples/VisualNovel/ShakeCamera/ShakeCamera2D.tscn new file mode 100644 index 00000000..bb2f1eb3 --- /dev/null +++ b/examples/VisualNovel/ShakeCamera/ShakeCamera2D.tscn @@ -0,0 +1,8 @@ +[gd_scene load_steps=2 format=2] + +[ext_resource path="res://examples/VisualNovel/ShakeCamera/ShakeCamera2D.gd" type="Script" id=1] + +[node name="ShakeCamera2D" type="Camera2D"] +rotating = true +process_mode = 0 +script = ExtResource( 1 ) diff --git a/examples/VisualNovel/characters/Godette.tscn b/examples/VisualNovel/characters/Godette.tscn new file mode 100644 index 00000000..e87ddc35 --- /dev/null +++ b/examples/VisualNovel/characters/Godette.tscn @@ -0,0 +1,336 @@ +[gd_scene load_steps=30 format=2] + +[ext_resource path="res://examples/VisualNovel/Character.gd" type="Script" id=1] +[ext_resource path="res://examples/assets/Godette/layers/Shocked.png" type="Texture" id=2] +[ext_resource path="res://examples/assets/Godette/layers/Neutral.png" type="Texture" id=3] +[ext_resource path="res://examples/assets/Godette/layers/body.png" type="Texture" id=4] +[ext_resource path="res://examples/assets/Godette/layers/Sleepy.png" type="Texture" id=5] +[ext_resource path="res://examples/assets/Godette/layers/Smug.png" type="Texture" id=6] +[ext_resource path="res://examples/assets/Godette/layers/smile.png" type="Texture" id=7] +[ext_resource path="res://examples/assets/Godette/layers/Grin.png" type="Texture" id=8] +[ext_resource path="res://examples/assets/Godette/layers/Surprised.png" type="Texture" id=9] +[ext_resource path="res://examples/assets/Godette/layers/Anger.png" type="Texture" id=10] +[ext_resource path="res://examples/assets/Godette/layers/Sad.png" type="Texture" id=11] +[ext_resource path="res://examples/assets/Godette/layers/Annoyance.png" type="Texture" id=12] +[ext_resource path="res://examples/assets/Godette/layers/Joy.png" type="Texture" id=13] +[ext_resource path="res://examples/assets/Godette/layers/Laugh.png" type="Texture" id=14] +[ext_resource path="res://examples/assets/speech_bubble.png" type="Texture" id=15] + +[sub_resource type="Animation" id=1] +resource_name = "Anger" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Face:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 10 ) ] +} + +[sub_resource type="Animation" id=2] +resource_name = "Annoyance" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Face:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 12 ) ] +} + +[sub_resource type="Animation" id=3] +resource_name = "Grin" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Face:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 8 ) ] +} + +[sub_resource type="Animation" id=4] +resource_name = "Joy" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Face:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 13 ) ] +} + +[sub_resource type="Animation" id=5] +resource_name = "Laugh" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Face:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 14 ) ] +} + +[sub_resource type="Animation" id=6] +resource_name = "Neutral" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Face:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 3 ) ] +} + +[sub_resource type="Animation" id=7] +resource_name = "Sad" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Face:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 11 ) ] +} + +[sub_resource type="Animation" id=8] +resource_name = "Shocked" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Face:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 2 ) ] +} + +[sub_resource type="Animation" id=9] +resource_name = "Sleepy" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Face:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 5 ) ] +} + +[sub_resource type="Animation" id=10] +resource_name = "Smile" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Face:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 7 ) ] +} + +[sub_resource type="Animation" id=11] +resource_name = "Smug" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Face:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 6 ) ] +} + +[sub_resource type="Animation" id=12] +resource_name = "Surprised" +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/Face:texture") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ ExtResource( 9 ) ] +} + +[sub_resource type="Animation" id=13] +length = 0.001 +tracks/0/type = "value" +tracks/0/path = NodePath("Body/SpeechBubble:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ false ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Body/SpeechBubble:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 939, 478 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("Body/SpeechBubble:scale") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 0, +"values": [ Vector2( 0.691048, 0.691048 ) ] +} + +[sub_resource type="Animation" id=14] +resource_name = "talk" +loop = true +tracks/0/type = "value" +tracks/0/path = NodePath("Body/SpeechBubble:visible") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/keys = { +"times": PoolRealArray( 0 ), +"transitions": PoolRealArray( 1 ), +"update": 1, +"values": [ true ] +} +tracks/1/type = "value" +tracks/1/path = NodePath("Body/SpeechBubble:position") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/keys = { +"times": PoolRealArray( 0, 0.5, 1 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Vector2( 939, 478 ), Vector2( 917, 488 ), Vector2( 939, 478 ) ] +} +tracks/2/type = "value" +tracks/2/path = NodePath("Body/SpeechBubble:scale") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/keys = { +"times": PoolRealArray( 0, 0.5, 1 ), +"transitions": PoolRealArray( 1, 1, 1 ), +"update": 0, +"values": [ Vector2( 0.691048, 0.691048 ), Vector2( 0.622817, 0.622817 ), Vector2( 0.691048, 0.691048 ) ] +} + +[node name="Godette" type="ReferenceRect"] +anchor_right = 1.0 +anchor_bottom = 1.0 +margin_right = 740.0 +margin_bottom = 3305.0 +script = ExtResource( 1 ) +__meta__ = { +"_edit_use_anchors_": false +} +main_node = NodePath("Body") +expression_player = NodePath("ExpressionPlayer") +talk_player = NodePath("TalkPlayer") + +[node name="Body" type="Sprite" parent="."] +use_parent_material = true +texture = ExtResource( 4 ) +centered = false + +[node name="Face" type="Sprite" parent="Body"] +use_parent_material = true +position = Vector2( 216, 386 ) +texture = ExtResource( 10 ) +centered = false + +[node name="SpeechBubble" type="Sprite" parent="Body"] +visible = false +position = Vector2( 939, 478 ) +scale = Vector2( 0.691048, 0.691048 ) +texture = ExtResource( 15 ) + +[node name="ExpressionPlayer" type="AnimationPlayer" parent="."] +anims/Anger = SubResource( 1 ) +anims/Annoyance = SubResource( 2 ) +anims/Grin = SubResource( 3 ) +anims/Joy = SubResource( 4 ) +anims/Laugh = SubResource( 5 ) +anims/Neutral = SubResource( 6 ) +anims/Sad = SubResource( 7 ) +anims/Shocked = SubResource( 8 ) +anims/Sleepy = SubResource( 9 ) +anims/Smile = SubResource( 10 ) +anims/Smug = SubResource( 11 ) +anims/Surprised = SubResource( 12 ) + +[node name="TalkPlayer" type="AnimationPlayer" parent="."] +anims/RESET = SubResource( 13 ) +anims/talk = SubResource( 14 ) diff --git a/examples/VisualNovel/events/change_background.gd b/examples/VisualNovel/events/change_background.gd new file mode 100644 index 00000000..0f2c8760 --- /dev/null +++ b/examples/VisualNovel/events/change_background.gd @@ -0,0 +1,51 @@ +tool +extends Event +class_name EventChangeBackground + +export(Texture) var background:Texture = null setget _set_background +export(Texture) var transition:Texture = null setget _set_transition +export(float, 0, 1) var smooth:float = 0.5 setget _set_smooth +export(float) var transition_speed:float = 1.0 setget _set_speed + +var bg_name +var tr_name + +func _init() -> void: + event_name = "Change Background" + event_color = Color("9999ff") + event_icon = load("res://examples/VisualNovel/events/change_background.png") as Texture + event_preview_string = "Change background to [{bg_name}] using screen transition [{tr_name}] with [{smooth}] smoothness and [{transition_speed}] speed" + event_hint = "Change the background image" + event_category = "VN" + +func _execute() -> void: + event_manager.get_parent().set_background(background, smooth, transition_speed) + finish() + + +func _set_background(value:Texture) -> void: + background = value + if background != null: + bg_name = background.resource_path.get_file() + else: + bg_name = "None" + emit_changed() + + +func _set_transition(value:Texture) -> void: + transition = value + if transition != null: + tr_name = transition.resource_path.get_file() + else: + tr_name = "None" + emit_changed() + + +func _set_smooth(value:float) -> void: + smooth = value + emit_changed() + + +func _set_speed(value:float) -> void: + transition_speed = value + emit_changed() diff --git a/examples/VisualNovel/events/change_background.png b/examples/VisualNovel/events/change_background.png new file mode 100644 index 00000000..3446d3e7 Binary files /dev/null and b/examples/VisualNovel/events/change_background.png differ diff --git a/examples/VisualNovel/events/change_background.png.import b/examples/VisualNovel/events/change_background.png.import new file mode 100644 index 00000000..490669df --- /dev/null +++ b/examples/VisualNovel/events/change_background.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/change_background.png-8ae4200095ff7cbdcb54e11ab53b155a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/VisualNovel/events/change_background.png" +dest_files=[ "res://.import/change_background.png-8ae4200095ff7cbdcb54e11ab53b155a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/VisualNovel/events/change_music.png b/examples/VisualNovel/events/change_music.png new file mode 100644 index 00000000..0001b626 Binary files /dev/null and b/examples/VisualNovel/events/change_music.png differ diff --git a/examples/VisualNovel/events/change_music.png.import b/examples/VisualNovel/events/change_music.png.import new file mode 100644 index 00000000..9af564de --- /dev/null +++ b/examples/VisualNovel/events/change_music.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/change_music.png-37bc1f6c198eee0bf9c479cc7845e091.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/VisualNovel/events/change_music.png" +dest_files=[ "res://.import/change_music.png-37bc1f6c198eee0bf9c479cc7845e091.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/VisualNovel/events/play_music.gd b/examples/VisualNovel/events/play_music.gd new file mode 100644 index 00000000..272b80b0 --- /dev/null +++ b/examples/VisualNovel/events/play_music.gd @@ -0,0 +1,34 @@ +tool +extends Event +class_name EventPlayMusic + +export(AudioStream) var song:AudioStream = null setget _set_song +export(float) var crossfade_speed:float = 1.0 setget _set_speed + +var song_name + +func _init() -> void: + event_name = "Play Music" + event_color = Color("9999ff") + event_icon = load("res://examples/VisualNovel/events/change_music.png") as Texture + event_preview_string = "Play song [{song_name}] with crossfade speed [{crossfade_speed}]" + event_hint = "Change the background image" + event_category = "VN" + +func _execute() -> void: + event_manager.get_parent().play_music(song, crossfade_speed) + finish() + + +func _set_song(value:AudioStream) -> void: + song = value + if song != null: + song_name = song.resource_path.get_file() + else: + song_name = "None" + emit_changed() + + +func _set_speed(value:float) -> void: + crossfade_speed = value + emit_changed() diff --git a/examples/VisualNovel/events/shake_screen.gd b/examples/VisualNovel/events/shake_screen.gd new file mode 100644 index 00000000..e193adfe --- /dev/null +++ b/examples/VisualNovel/events/shake_screen.gd @@ -0,0 +1,45 @@ +tool +extends Event +class_name EventShakeScreen + +export(float) var trauma:float = 1.0 setget _set_force +# How quickly the shaking stops [0, 1]. +export(float, 0, 1) var decay:float = 0.8 setget _set_decay +# Maximum hor/ver shake in pixels. +export(Vector2) var max_offset:Vector2 = Vector2(100, 50) setget _set_offset +# Maximum rotation in radians (use sparingly). +export(float, 0, 6.3) var max_roll = 0.1 setget _set_roll + +var song_name + +func _init() -> void: + event_name = "Shake Screen" + event_color = Color("9999ff") + event_icon = load("res://examples/VisualNovel/events/shake_screen.png") as Texture + event_preview_string = "Shake camera with decay [{decay}], max offset [{max_offset}], max roll [{max_roll}]" + event_hint = "Shake the main game camera" + event_category = "VN" + +func _execute() -> void: + event_manager.get_parent().shake_screen(trauma, decay, max_offset, max_roll) + finish() + + +func _set_force(value:float) -> void: + trauma = value + emit_changed() + + +func _set_decay(value:float) -> void: + decay = value + emit_changed() + + +func _set_offset(value:Vector2) -> void: + max_offset = value + emit_changed() + + +func _set_roll(value:float) -> void: + max_roll = value + emit_changed() diff --git a/examples/VisualNovel/events/shake_screen.png b/examples/VisualNovel/events/shake_screen.png new file mode 100644 index 00000000..33ac674c Binary files /dev/null and b/examples/VisualNovel/events/shake_screen.png differ diff --git a/examples/VisualNovel/events/shake_screen.png.import b/examples/VisualNovel/events/shake_screen.png.import new file mode 100644 index 00000000..2c265f59 --- /dev/null +++ b/examples/VisualNovel/events/shake_screen.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/shake_screen.png-9c6b09451e1ea25807a0caa9aa1f655a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/VisualNovel/events/shake_screen.png" +dest_files=[ "res://.import/shake_screen.png-9c6b09451e1ea25807a0caa9aa1f655a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/VisualNovel/letter.wav b/examples/VisualNovel/letter.wav new file mode 100644 index 00000000..fd698ce1 Binary files /dev/null and b/examples/VisualNovel/letter.wav differ diff --git a/examples/VisualNovel/letter.wav.import b/examples/VisualNovel/letter.wav.import new file mode 100644 index 00000000..2caa364b --- /dev/null +++ b/examples/VisualNovel/letter.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/letter.wav-2d7b4f34c2add31fb47f84c9451ff1e2.sample" + +[deps] + +source_file="res://examples/VisualNovel/letter.wav" +dest_files=[ "res://.import/letter.wav-2d7b4f34c2add31fb47f84c9451ff1e2.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/examples/VisualNovel/portrait_manager_ex.gd b/examples/VisualNovel/portrait_manager_ex.gd new file mode 100644 index 00000000..47eed0ad --- /dev/null +++ b/examples/VisualNovel/portrait_manager_ex.gd @@ -0,0 +1,127 @@ +extends PortraitManager + +export var character_folder:String + +## Adds a portrait for character to the scene +func add_portrait( + character:Character, + portrait:Portrait, + rect_data:Dictionary = {}, + texture_data:Dictionary = {} + ) -> void: + + if (not character) or (not portrait): + emit_signal("portrait_added", character, portrait) + return + + # Remove previous node + if character in portraits: + remove_portrait(character) + emit_signal("portrait_changed", character, portrait) + + var _node:Control + + var path = character_folder + character.name + ".tscn" + if ResourceLoader.exists(path): + _node = load(path).instance() + else: + _node = TextureRect.new() + connect("tree_exiting", _node, "queue_free") + + if character.display_name: + _node.name = character.display_name + + portraits[character] = _node + + # Focus and _input + _node.mouse_filter = MOUSE_FILTER_IGNORE + _node.focus_mode = Control.FOCUS_NONE + + add_child(_node) + + # I know that I can iterate over property list to copy property values + # but i want to keep the control over this section here + + # Node configuration to resize according the screen + _node.anchor_left = 0 + _node.anchor_top = 0 + _node.anchor_right = 1 + _node.anchor_bottom = 1 + + + # Size + var ignore_ref_size:bool = rect_data.get("ignore_reference_size", false) + var ref_size:Vector2 = reference_rect.rect_size + if ignore_ref_size: + var _rel_size:Vector2 = rect_data.get("size", Vector2(0.3, 0.7)) + ref_size = _get_relative_position(_rel_size) + ref_size.x = max(ref_size.x, 0) + ref_size.y = max(ref_size.y, 0) + _node.rect_size = ref_size + + # Position + var ignore_ref_pos:bool = rect_data.get("ignore_reference_position", false) + var ref_position:Vector2 = reference_rect.rect_position + if ignore_ref_pos: + var _rel_pos:Vector2 = rect_data.get("position", Vector2(0.35,0.2)) + ref_position = _get_relative_position(_rel_pos) + _node.rect_position = ref_position + _node.rect_pivot_offset = _node.rect_size/2 + + # Rotation + var ignore_ref_rot:bool = rect_data.get("ignore_reference_rotation", false) + var ref_rotation = reference_rect.rect_rotation + if ignore_ref_rot: + ref_rotation = rect_data.get("rotation", 0.0) + _node.rect_rotation = ref_rotation + + # TextureRect + if _node is TextureRect: + _node.expand = texture_data.get("expand", true) + _node.stretch_mode = texture_data.get("stretch_mode", TextureRect.STRETCH_KEEP_ASPECT_CENTERED) + _node.flip_h = texture_data.get("flip_h", false) + _node.flip_v = texture_data.get("flip_v", false) + else: + # TODO: call appropriate functions on the character script. + pass + + if _node.has_method("change_expression"): + _node.change_expression(portrait.name) + else: + _node.texture = portrait.image + + _node.raise() + + emit_signal("portrait_added", character, portrait) + + +func remove_portrait(character:Character) -> void: + if character: + var _old_p = portraits.get(character, null) + if _old_p != null: + _old_p.queue_free() + portraits.erase(character) + + emit_signal("portrait_removed", character) + + +func remove_all_portraits() -> void: + for character in portraits.keys(): + remove_portrait(character) + + +func change_portrait(character:Character, portrait:Portrait) -> void: + if not character or not portrait: + emit_signal("portrait_changed", character, portrait) + return + + if not character in portraits: + add_portrait(character, portrait) + return + + if portraits[character].has_method("change_expression"): + portraits[character].change_expression(portrait.name) + else: + portraits[character].texture = portrait.image + portraits[character].raise() + emit_signal("portrait_changed", character, portrait) diff --git a/examples/VisualNovel/sfx-bliplayton.wav b/examples/VisualNovel/sfx-bliplayton.wav new file mode 100644 index 00000000..78b16a11 Binary files /dev/null and b/examples/VisualNovel/sfx-bliplayton.wav differ diff --git a/examples/VisualNovel/sfx-bliplayton.wav.import b/examples/VisualNovel/sfx-bliplayton.wav.import new file mode 100644 index 00000000..5eab56e7 --- /dev/null +++ b/examples/VisualNovel/sfx-bliplayton.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/sfx-bliplayton.wav-efa08abb80430d5cab6d85b1846a2e3a.sample" + +[deps] + +source_file="res://examples/VisualNovel/sfx-bliplayton.wav" +dest_files=[ "res://.import/sfx-bliplayton.wav-efa08abb80430d5cab6d85b1846a2e3a.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/examples/VisualNovel/sfx-bliplaytonfemale.wav b/examples/VisualNovel/sfx-bliplaytonfemale.wav new file mode 100644 index 00000000..4b30e2d5 Binary files /dev/null and b/examples/VisualNovel/sfx-bliplaytonfemale.wav differ diff --git a/examples/VisualNovel/sfx-bliplaytonfemale.wav.import b/examples/VisualNovel/sfx-bliplaytonfemale.wav.import new file mode 100644 index 00000000..07deed44 --- /dev/null +++ b/examples/VisualNovel/sfx-bliplaytonfemale.wav.import @@ -0,0 +1,21 @@ +[remap] + +importer="wav" +type="AudioStreamSample" +path="res://.import/sfx-bliplaytonfemale.wav-e8c0957bb662ab2a56253ade040ccfcb.sample" + +[deps] + +source_file="res://examples/VisualNovel/sfx-bliplaytonfemale.wav" +dest_files=[ "res://.import/sfx-bliplaytonfemale.wav-e8c0957bb662ab2a56253ade040ccfcb.sample" ] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop=false +compress/mode=0 diff --git a/examples/VisualNovel/timelines/main.tres b/examples/VisualNovel/timelines/main.tres new file mode 100644 index 00000000..ea45bf25 --- /dev/null +++ b/examples/VisualNovel/timelines/main.tres @@ -0,0 +1,260 @@ +[gd_resource type="Resource" load_steps=42 format=2] + +[ext_resource path="res://addons/event_system_plugin/resources/timeline_class/timeline_class.gd" type="Script" id=1] +[ext_resource path="res://addons/textalog/events/dialog/text.gd" type="Script" id=2] +[ext_resource path="res://examples/VisualNovel/events/change_background.gd" type="Script" id=3] +[ext_resource path="res://addons/event_system_plugin/events/wait.gd" type="Script" id=4] +[ext_resource path="res://examples/VisualNovel/letter.wav" type="AudioStream" id=5] +[ext_resource path="res://addons/textalog/events/character/change_expression.gd" type="Script" id=6] +[ext_resource path="res://addons/textalog/events/character/join.gd" type="Script" id=7] +[ext_resource path="res://addons/textalog/events/character/leave.gd" type="Script" id=8] +[ext_resource path="res://examples/characters/Godette.tres" type="Resource" id=9] +[ext_resource path="res://addons/event_system_plugin/events/jump_to.gd" type="Script" id=10] +[ext_resource path="res://examples/VisualNovel/events/shake_screen.gd" type="Script" id=11] +[ext_resource path="res://examples/VisualNovel/transition1.png" type="Texture" id=12] +[ext_resource path="res://examples/VisualNovel/Backgrounds/backgroundColorForest.png" type="Texture" id=13] +[ext_resource path="res://examples/VisualNovel/Backgrounds/backgroundColorGrass.png" type="Texture" id=14] +[ext_resource path="res://examples/VisualNovel/transition2.jpg" type="Texture" id=15] +[ext_resource path="res://examples/VisualNovel/events/play_music.gd" type="Script" id=16] +[ext_resource path="res://examples/assets/music/seishishitauchu.ogg" type="AudioStream" id=17] +[ext_resource path="res://examples/assets/music/yume.ogg" type="AudioStream" id=18] + +[sub_resource type="Resource" id=24] +script = ExtResource( 3 ) +continue_at_end = true +background = ExtResource( 13 ) +transition = ExtResource( 12 ) +smooth = 0.5 +transition_speed = 1.0 + +[sub_resource type="Resource" id=26] +script = ExtResource( 16 ) +continue_at_end = true +song = ExtResource( 18 ) +crossfade_speed = 1.0 + +[sub_resource type="Resource" id=2] +script = ExtResource( 4 ) +continue_at_end = true +wait_time = 1.0 + +[sub_resource type="Resource" id=3] +script = ExtResource( 2 ) +continue_at_end = false +continue_previous_text = false +text_speed = 0.04 +display_name = "" +text = "One day, in a beautiful forest..." +audio_blip_strategy = 2 +audio_bus = "Master" +audio_same_as_character = false +audio_blip_sounds = [ ExtResource( 5 ) ] +audio_use_space_blips = false +audio_blip_rate = 2 +audio_force = true +audio_map_blip_to_letter = false +translation_key = "" + +[sub_resource type="Resource" id=4] +script = ExtResource( 7 ) +continue_at_end = true +remove_other_portraits = false +rect_ignore_reference_size = true +rect_percent_size = Vector2( 2, 2 ) +rect_ignore_reference_position = true +rect_percent_position = Vector2( -0.371, 0.1 ) +rect_ignore_reference_rotation = false +texture_expand = true +texture_stretch_mode = 6 +texture_flip_h = false +texture_flip_v = false +character = ExtResource( 9 ) +selected_portrait = 5 + +[sub_resource type="Resource" id=5] +script = ExtResource( 2 ) +continue_at_end = true +continue_previous_text = false +text_speed = 0.04 +display_name = "Godette" +text = "Hmm, I wonder if I'm in the right place" +audio_blip_strategy = 2 +audio_bus = "Master" +audio_same_as_character = true +audio_use_space_blips = false +audio_blip_rate = 2 +audio_force = true +audio_map_blip_to_letter = false +translation_key = "" +character = ExtResource( 9 ) + +[sub_resource type="Resource" id=6] +script = ExtResource( 6 ) +continue_at_end = true +character = ExtResource( 9 ) +selected_portrait = 1 + +[sub_resource type="Resource" id=7] +script = ExtResource( 2 ) +continue_at_end = false +continue_previous_text = true +text_speed = 0.02 +display_name = "Godette" +text = "... Hmm, I think this is the way, actually." +audio_blip_strategy = 2 +audio_bus = "Master" +audio_same_as_character = true +audio_use_space_blips = false +audio_blip_rate = 2 +audio_force = true +audio_map_blip_to_letter = false +translation_key = "" +character = ExtResource( 9 ) + +[sub_resource type="Resource" id=25] +script = ExtResource( 3 ) +continue_at_end = true +background = ExtResource( 14 ) +transition = ExtResource( 15 ) +smooth = 0.5 +transition_speed = 1.0 + +[sub_resource type="Resource" id=28] +script = ExtResource( 16 ) +continue_at_end = true +song = ExtResource( 17 ) +crossfade_speed = 0.3 + +[sub_resource type="Resource" id=9] +script = ExtResource( 8 ) +continue_at_end = true +character = ExtResource( 9 ) + +[sub_resource type="Resource" id=12] +script = ExtResource( 4 ) +continue_at_end = true +wait_time = 1.0 + +[sub_resource type="Resource" id=10] +script = ExtResource( 2 ) +continue_at_end = false +continue_previous_text = false +text_speed = 0.04 +display_name = "" +text = "She made her way to the glass plains." +audio_blip_strategy = 2 +audio_bus = "Master" +audio_same_as_character = false +audio_blip_sounds = [ ExtResource( 5 ) ] +audio_use_space_blips = false +audio_blip_rate = 2 +audio_force = true +audio_map_blip_to_letter = false +translation_key = "" + +[sub_resource type="Resource" id=15] +script = ExtResource( 7 ) +continue_at_end = true +remove_other_portraits = false +rect_ignore_reference_size = true +rect_percent_size = Vector2( 2, 2 ) +rect_ignore_reference_position = true +rect_percent_position = Vector2( -0.371, 0.1 ) +rect_ignore_reference_rotation = false +texture_expand = true +texture_stretch_mode = 6 +texture_flip_h = false +texture_flip_v = false +character = ExtResource( 9 ) +selected_portrait = 5 + +[sub_resource type="Resource" id=16] +script = ExtResource( 2 ) +continue_at_end = true +continue_previous_text = false +text_speed = 0.04 +display_name = "Godette" +text = "This is really curious... " +audio_blip_strategy = 2 +audio_bus = "Master" +audio_same_as_character = true +audio_use_space_blips = false +audio_blip_rate = 2 +audio_force = true +audio_map_blip_to_letter = false +translation_key = "" +character = ExtResource( 9 ) + +[sub_resource type="Resource" id=17] +script = ExtResource( 4 ) +continue_at_end = true +wait_time = 0.4 + +[sub_resource type="Resource" id=23] +script = ExtResource( 6 ) +continue_at_end = true +character = ExtResource( 9 ) +selected_portrait = 11 + +[sub_resource type="Resource" id=19] +script = ExtResource( 2 ) +continue_at_end = false +continue_previous_text = true +text_speed = 0.06 +display_name = "Godette" +text = "Huh? What is this strange object?" +audio_blip_strategy = 2 +audio_bus = "Master" +audio_same_as_character = true +audio_use_space_blips = false +audio_blip_rate = 2 +audio_force = true +audio_map_blip_to_letter = false +translation_key = "" +character = ExtResource( 9 ) + +[sub_resource type="Resource" id=20] +script = ExtResource( 6 ) +continue_at_end = true +character = ExtResource( 9 ) +selected_portrait = 7 + +[sub_resource type="Resource" id=29] +script = ExtResource( 11 ) +continue_at_end = true +trauma = 1.0 +decay = 0.8 +max_offset = Vector2( 100, 50 ) +max_roll = 0.1 + +[sub_resource type="Resource" id=21] +script = ExtResource( 2 ) +continue_at_end = true +continue_previous_text = false +text_speed = 0.02 +display_name = "Godette" +text = "Woahh! Ahhhhhhhh!!!!!!!" +audio_blip_strategy = 2 +audio_bus = "Master" +audio_same_as_character = true +audio_use_space_blips = false +audio_blip_rate = 2 +audio_force = true +audio_map_blip_to_letter = false +translation_key = "" +character = ExtResource( 9 ) + +[sub_resource type="Resource" id=22] +script = ExtResource( 8 ) +continue_at_end = true +character = ExtResource( 9 ) + +[sub_resource type="Resource" id=11] +script = ExtResource( 10 ) +continue_at_end = true +event_index = 0 + +[resource] +resource_name = "Timeline" +script = ExtResource( 1 ) +_events = [ SubResource( 24 ), SubResource( 26 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ), SubResource( 25 ), SubResource( 28 ), SubResource( 9 ), SubResource( 12 ), SubResource( 10 ), SubResource( 15 ), SubResource( 16 ), SubResource( 17 ), SubResource( 23 ), SubResource( 19 ), SubResource( 20 ), SubResource( 29 ), SubResource( 21 ), SubResource( 22 ), SubResource( 11 ) ] diff --git a/examples/VisualNovel/transition.gdshader b/examples/VisualNovel/transition.gdshader new file mode 100644 index 00000000..62d19ce0 --- /dev/null +++ b/examples/VisualNovel/transition.gdshader @@ -0,0 +1,14 @@ +shader_type canvas_item; +render_mode unshaded; + +uniform float cutoff : hint_range(0.0, 1.0); +uniform float smooth_size : hint_range(0.0, 1.0); +uniform sampler2D mask : hint_albedo; + +void fragment() +{ + float value = texture(mask, UV).r; + float alpha = smoothstep(cutoff, cutoff + smooth_size, value * (1.0 - smooth_size) + smooth_size); + vec4 color = texture(TEXTURE, UV); + COLOR = vec4(color.rgb, color.a * alpha); +} \ No newline at end of file diff --git a/examples/VisualNovel/transition1.png b/examples/VisualNovel/transition1.png new file mode 100644 index 00000000..48d6add0 Binary files /dev/null and b/examples/VisualNovel/transition1.png differ diff --git a/examples/VisualNovel/transition1.png.import b/examples/VisualNovel/transition1.png.import new file mode 100644 index 00000000..0ccf0b4c --- /dev/null +++ b/examples/VisualNovel/transition1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/transition1.png-1fbe61e935f01b20f55c64a9cb0f4273.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/VisualNovel/transition1.png" +dest_files=[ "res://.import/transition1.png-1fbe61e935f01b20f55c64a9cb0f4273.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/VisualNovel/transition2.jpg b/examples/VisualNovel/transition2.jpg new file mode 100644 index 00000000..a27320cd Binary files /dev/null and b/examples/VisualNovel/transition2.jpg differ diff --git a/examples/VisualNovel/transition2.jpg.import b/examples/VisualNovel/transition2.jpg.import new file mode 100644 index 00000000..89b3b9b3 --- /dev/null +++ b/examples/VisualNovel/transition2.jpg.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/transition2.jpg-fdb979c4363c693e1cc091f471f9b563.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/VisualNovel/transition2.jpg" +dest_files=[ "res://.import/transition2.jpg-fdb979c4363c693e1cc091f471f9b563.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/VisualNovel/transition3.png b/examples/VisualNovel/transition3.png new file mode 100644 index 00000000..40e409f2 Binary files /dev/null and b/examples/VisualNovel/transition3.png differ diff --git a/examples/VisualNovel/transition3.png.import b/examples/VisualNovel/transition3.png.import new file mode 100644 index 00000000..c704d97e --- /dev/null +++ b/examples/VisualNovel/transition3.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/transition3.png-4f26964b5f5f08fc169477ff963bdf23.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/VisualNovel/transition3.png" +dest_files=[ "res://.import/transition3.png-4f26964b5f5f08fc169477ff963bdf23.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/icons/Anger.png b/examples/assets/Godette/icons/Anger.png new file mode 100644 index 00000000..e26c0ee1 Binary files /dev/null and b/examples/assets/Godette/icons/Anger.png differ diff --git a/examples/assets/Godette/icons/Anger.png.import b/examples/assets/Godette/icons/Anger.png.import new file mode 100644 index 00000000..2d487c52 --- /dev/null +++ b/examples/assets/Godette/icons/Anger.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Anger.png-19e321934483efaf1b200f07afcb15b9.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/icons/Anger.png" +dest_files=[ "res://.import/Anger.png-19e321934483efaf1b200f07afcb15b9.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/icons/Annoyance.png b/examples/assets/Godette/icons/Annoyance.png new file mode 100644 index 00000000..88eeacb8 Binary files /dev/null and b/examples/assets/Godette/icons/Annoyance.png differ diff --git a/examples/assets/Godette/icons/Annoyance.png.import b/examples/assets/Godette/icons/Annoyance.png.import new file mode 100644 index 00000000..73314d93 --- /dev/null +++ b/examples/assets/Godette/icons/Annoyance.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Annoyance.png-0bc1bd19235e1d7edc6fc8285165459c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/icons/Annoyance.png" +dest_files=[ "res://.import/Annoyance.png-0bc1bd19235e1d7edc6fc8285165459c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/icons/Grin.png b/examples/assets/Godette/icons/Grin.png new file mode 100644 index 00000000..0489f1b8 Binary files /dev/null and b/examples/assets/Godette/icons/Grin.png differ diff --git a/examples/assets/Godette/icons/Grin.png.import b/examples/assets/Godette/icons/Grin.png.import new file mode 100644 index 00000000..fd3c2d4d --- /dev/null +++ b/examples/assets/Godette/icons/Grin.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Grin.png-b3a036341302e900beaa50bf6c533938.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/icons/Grin.png" +dest_files=[ "res://.import/Grin.png-b3a036341302e900beaa50bf6c533938.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/icons/Joy.png b/examples/assets/Godette/icons/Joy.png new file mode 100644 index 00000000..9be6abc6 Binary files /dev/null and b/examples/assets/Godette/icons/Joy.png differ diff --git a/examples/assets/Godette/icons/Joy.png.import b/examples/assets/Godette/icons/Joy.png.import new file mode 100644 index 00000000..8f73d826 --- /dev/null +++ b/examples/assets/Godette/icons/Joy.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Joy.png-0f972ee5f5064436c8f9454a7fb61507.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/icons/Joy.png" +dest_files=[ "res://.import/Joy.png-0f972ee5f5064436c8f9454a7fb61507.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/icons/Laugh.png b/examples/assets/Godette/icons/Laugh.png new file mode 100644 index 00000000..06c75729 Binary files /dev/null and b/examples/assets/Godette/icons/Laugh.png differ diff --git a/examples/assets/Godette/icons/Laugh.png.import b/examples/assets/Godette/icons/Laugh.png.import new file mode 100644 index 00000000..cd22da32 --- /dev/null +++ b/examples/assets/Godette/icons/Laugh.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Laugh.png-44572dbb2c5dd6e22ab8df18715d68f3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/icons/Laugh.png" +dest_files=[ "res://.import/Laugh.png-44572dbb2c5dd6e22ab8df18715d68f3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/icons/Neutral.png b/examples/assets/Godette/icons/Neutral.png new file mode 100644 index 00000000..956c7c22 Binary files /dev/null and b/examples/assets/Godette/icons/Neutral.png differ diff --git a/examples/assets/Godette/icons/Neutral.png.import b/examples/assets/Godette/icons/Neutral.png.import new file mode 100644 index 00000000..2bff7f7d --- /dev/null +++ b/examples/assets/Godette/icons/Neutral.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Neutral.png-53f643f6897e49910a3e22cbe73e40e2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/icons/Neutral.png" +dest_files=[ "res://.import/Neutral.png-53f643f6897e49910a3e22cbe73e40e2.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/icons/Sad.png b/examples/assets/Godette/icons/Sad.png new file mode 100644 index 00000000..128e739e Binary files /dev/null and b/examples/assets/Godette/icons/Sad.png differ diff --git a/examples/assets/Godette/icons/Sad.png.import b/examples/assets/Godette/icons/Sad.png.import new file mode 100644 index 00000000..17a26a66 --- /dev/null +++ b/examples/assets/Godette/icons/Sad.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Sad.png-ab6a34f49b22e993518eaab037a9d2f1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/icons/Sad.png" +dest_files=[ "res://.import/Sad.png-ab6a34f49b22e993518eaab037a9d2f1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/icons/Shocked.png b/examples/assets/Godette/icons/Shocked.png new file mode 100644 index 00000000..da02566d Binary files /dev/null and b/examples/assets/Godette/icons/Shocked.png differ diff --git a/examples/assets/Godette/icons/Shocked.png.import b/examples/assets/Godette/icons/Shocked.png.import new file mode 100644 index 00000000..85e58e87 --- /dev/null +++ b/examples/assets/Godette/icons/Shocked.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Shocked.png-a3734c657efc066b7e1a7f75452e39ea.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/icons/Shocked.png" +dest_files=[ "res://.import/Shocked.png-a3734c657efc066b7e1a7f75452e39ea.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/icons/Sleepy.png b/examples/assets/Godette/icons/Sleepy.png new file mode 100644 index 00000000..6af890d0 Binary files /dev/null and b/examples/assets/Godette/icons/Sleepy.png differ diff --git a/examples/assets/Godette/icons/Sleepy.png.import b/examples/assets/Godette/icons/Sleepy.png.import new file mode 100644 index 00000000..b59afe32 --- /dev/null +++ b/examples/assets/Godette/icons/Sleepy.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Sleepy.png-58da43a53212147122720170eb32619b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/icons/Sleepy.png" +dest_files=[ "res://.import/Sleepy.png-58da43a53212147122720170eb32619b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/icons/Smile.png b/examples/assets/Godette/icons/Smile.png new file mode 100644 index 00000000..3ae79565 Binary files /dev/null and b/examples/assets/Godette/icons/Smile.png differ diff --git a/examples/assets/Godette/icons/Smile.png.import b/examples/assets/Godette/icons/Smile.png.import new file mode 100644 index 00000000..156b18ec --- /dev/null +++ b/examples/assets/Godette/icons/Smile.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Smile.png-c7f64a4d2bda7a8d9703a56835b10665.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/icons/Smile.png" +dest_files=[ "res://.import/Smile.png-c7f64a4d2bda7a8d9703a56835b10665.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/icons/Smug.png b/examples/assets/Godette/icons/Smug.png new file mode 100644 index 00000000..b19b8a79 Binary files /dev/null and b/examples/assets/Godette/icons/Smug.png differ diff --git a/examples/assets/Godette/icons/Smug.png.import b/examples/assets/Godette/icons/Smug.png.import new file mode 100644 index 00000000..9e117f9e --- /dev/null +++ b/examples/assets/Godette/icons/Smug.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Smug.png-83bb0977e1cf299ccd81cae89cd325ae.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/icons/Smug.png" +dest_files=[ "res://.import/Smug.png-83bb0977e1cf299ccd81cae89cd325ae.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/icons/Suprised.png b/examples/assets/Godette/icons/Suprised.png new file mode 100644 index 00000000..9639e062 Binary files /dev/null and b/examples/assets/Godette/icons/Suprised.png differ diff --git a/examples/assets/Godette/icons/Suprised.png.import b/examples/assets/Godette/icons/Suprised.png.import new file mode 100644 index 00000000..04738098 --- /dev/null +++ b/examples/assets/Godette/icons/Suprised.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Suprised.png-65db84240ff61a9ad0f331f8ab610e9e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/icons/Suprised.png" +dest_files=[ "res://.import/Suprised.png-65db84240ff61a9ad0f331f8ab610e9e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/Anger.png b/examples/assets/Godette/layers/Anger.png new file mode 100644 index 00000000..6428b595 Binary files /dev/null and b/examples/assets/Godette/layers/Anger.png differ diff --git a/examples/assets/Godette/layers/Anger.png.import b/examples/assets/Godette/layers/Anger.png.import new file mode 100644 index 00000000..aedc8602 --- /dev/null +++ b/examples/assets/Godette/layers/Anger.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Anger.png-aaf77f99b112ea141d3ab97e91bcfd86.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/Anger.png" +dest_files=[ "res://.import/Anger.png-aaf77f99b112ea141d3ab97e91bcfd86.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/Annoyance.png b/examples/assets/Godette/layers/Annoyance.png new file mode 100644 index 00000000..b7ec622c Binary files /dev/null and b/examples/assets/Godette/layers/Annoyance.png differ diff --git a/examples/assets/Godette/layers/Annoyance.png.import b/examples/assets/Godette/layers/Annoyance.png.import new file mode 100644 index 00000000..a7cae122 --- /dev/null +++ b/examples/assets/Godette/layers/Annoyance.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Annoyance.png-71e06d671047b5759499083840b17da7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/Annoyance.png" +dest_files=[ "res://.import/Annoyance.png-71e06d671047b5759499083840b17da7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/Grin.png b/examples/assets/Godette/layers/Grin.png new file mode 100644 index 00000000..d2ce06bc Binary files /dev/null and b/examples/assets/Godette/layers/Grin.png differ diff --git a/examples/assets/Godette/layers/Grin.png.import b/examples/assets/Godette/layers/Grin.png.import new file mode 100644 index 00000000..5f69db66 --- /dev/null +++ b/examples/assets/Godette/layers/Grin.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Grin.png-3131c65a64f7b418c8e71dfbec174127.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/Grin.png" +dest_files=[ "res://.import/Grin.png-3131c65a64f7b418c8e71dfbec174127.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/Joy.png b/examples/assets/Godette/layers/Joy.png new file mode 100644 index 00000000..d16218ce Binary files /dev/null and b/examples/assets/Godette/layers/Joy.png differ diff --git a/examples/assets/Godette/layers/Joy.png.import b/examples/assets/Godette/layers/Joy.png.import new file mode 100644 index 00000000..aa49a1f1 --- /dev/null +++ b/examples/assets/Godette/layers/Joy.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Joy.png-980206484f2e8a2000d9ad7a4fc388f4.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/Joy.png" +dest_files=[ "res://.import/Joy.png-980206484f2e8a2000d9ad7a4fc388f4.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/Laugh.png b/examples/assets/Godette/layers/Laugh.png new file mode 100644 index 00000000..bfa670b6 Binary files /dev/null and b/examples/assets/Godette/layers/Laugh.png differ diff --git a/examples/assets/Godette/layers/Laugh.png.import b/examples/assets/Godette/layers/Laugh.png.import new file mode 100644 index 00000000..c0429eec --- /dev/null +++ b/examples/assets/Godette/layers/Laugh.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Laugh.png-7a06b45c12b6d36e7553d9fdf7cc4b36.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/Laugh.png" +dest_files=[ "res://.import/Laugh.png-7a06b45c12b6d36e7553d9fdf7cc4b36.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/Neutral.png b/examples/assets/Godette/layers/Neutral.png new file mode 100644 index 00000000..5559e582 Binary files /dev/null and b/examples/assets/Godette/layers/Neutral.png differ diff --git a/examples/assets/Godette/layers/Neutral.png.import b/examples/assets/Godette/layers/Neutral.png.import new file mode 100644 index 00000000..cb5c2295 --- /dev/null +++ b/examples/assets/Godette/layers/Neutral.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Neutral.png-5776ae218d168a3cfccaa2cec5e1934f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/Neutral.png" +dest_files=[ "res://.import/Neutral.png-5776ae218d168a3cfccaa2cec5e1934f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/Sad.png b/examples/assets/Godette/layers/Sad.png new file mode 100644 index 00000000..fe8032e8 Binary files /dev/null and b/examples/assets/Godette/layers/Sad.png differ diff --git a/examples/assets/Godette/layers/Sad.png.import b/examples/assets/Godette/layers/Sad.png.import new file mode 100644 index 00000000..b415e2bf --- /dev/null +++ b/examples/assets/Godette/layers/Sad.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Sad.png-b9c405d1d58184fadacc7dd5400545f1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/Sad.png" +dest_files=[ "res://.import/Sad.png-b9c405d1d58184fadacc7dd5400545f1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/Shocked.png b/examples/assets/Godette/layers/Shocked.png new file mode 100644 index 00000000..91cce19c Binary files /dev/null and b/examples/assets/Godette/layers/Shocked.png differ diff --git a/examples/assets/Godette/layers/Shocked.png.import b/examples/assets/Godette/layers/Shocked.png.import new file mode 100644 index 00000000..01529ca9 --- /dev/null +++ b/examples/assets/Godette/layers/Shocked.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Shocked.png-26f83aa8dd7f5525506dfe98d01d87e8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/Shocked.png" +dest_files=[ "res://.import/Shocked.png-26f83aa8dd7f5525506dfe98d01d87e8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/Sleepy.png b/examples/assets/Godette/layers/Sleepy.png new file mode 100644 index 00000000..30754b03 Binary files /dev/null and b/examples/assets/Godette/layers/Sleepy.png differ diff --git a/examples/assets/Godette/layers/Sleepy.png.import b/examples/assets/Godette/layers/Sleepy.png.import new file mode 100644 index 00000000..2aafa9b1 --- /dev/null +++ b/examples/assets/Godette/layers/Sleepy.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Sleepy.png-a424ec6d28d6397005fc11c0057f16d2.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/Sleepy.png" +dest_files=[ "res://.import/Sleepy.png-a424ec6d28d6397005fc11c0057f16d2.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/Smug.png b/examples/assets/Godette/layers/Smug.png new file mode 100644 index 00000000..f4923a1d Binary files /dev/null and b/examples/assets/Godette/layers/Smug.png differ diff --git a/examples/assets/Godette/layers/Smug.png.import b/examples/assets/Godette/layers/Smug.png.import new file mode 100644 index 00000000..3b940e4f --- /dev/null +++ b/examples/assets/Godette/layers/Smug.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Smug.png-d8f37a66eb5d49bf53c2f6aaeac09246.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/Smug.png" +dest_files=[ "res://.import/Smug.png-d8f37a66eb5d49bf53c2f6aaeac09246.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/Surprised.png b/examples/assets/Godette/layers/Surprised.png new file mode 100644 index 00000000..05bc43af Binary files /dev/null and b/examples/assets/Godette/layers/Surprised.png differ diff --git a/examples/assets/Godette/layers/Surprised.png.import b/examples/assets/Godette/layers/Surprised.png.import new file mode 100644 index 00000000..ca11e121 --- /dev/null +++ b/examples/assets/Godette/layers/Surprised.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Surprised.png-f047a4afef6f37cbfb0400dbb7001aac.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/Surprised.png" +dest_files=[ "res://.import/Surprised.png-f047a4afef6f37cbfb0400dbb7001aac.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/body.png b/examples/assets/Godette/layers/body.png new file mode 100644 index 00000000..01db3517 Binary files /dev/null and b/examples/assets/Godette/layers/body.png differ diff --git a/examples/assets/Godette/layers/body.png.import b/examples/assets/Godette/layers/body.png.import new file mode 100644 index 00000000..d2eaec4d --- /dev/null +++ b/examples/assets/Godette/layers/body.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/body.png-e997d91e727d466b176ed59da9232f88.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/body.png" +dest_files=[ "res://.import/body.png-e997d91e727d466b176ed59da9232f88.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/layers/smile.png b/examples/assets/Godette/layers/smile.png new file mode 100644 index 00000000..fccac854 Binary files /dev/null and b/examples/assets/Godette/layers/smile.png differ diff --git a/examples/assets/Godette/layers/smile.png.import b/examples/assets/Godette/layers/smile.png.import new file mode 100644 index 00000000..e20fea36 --- /dev/null +++ b/examples/assets/Godette/layers/smile.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/smile.png-77a51b1582a3097dc770725f51ae9aa0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/layers/smile.png" +dest_files=[ "res://.import/smile.png-77a51b1582a3097dc770725f51ae9aa0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/preview/Anger.png b/examples/assets/Godette/preview/Anger.png new file mode 100644 index 00000000..9635c822 Binary files /dev/null and b/examples/assets/Godette/preview/Anger.png differ diff --git a/examples/assets/Godette/preview/Anger.png.import b/examples/assets/Godette/preview/Anger.png.import new file mode 100644 index 00000000..e7832cb1 --- /dev/null +++ b/examples/assets/Godette/preview/Anger.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Anger.png-f16414e9169a2600a8690c9b3b640f96.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/preview/Anger.png" +dest_files=[ "res://.import/Anger.png-f16414e9169a2600a8690c9b3b640f96.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/preview/Annoyance.png b/examples/assets/Godette/preview/Annoyance.png new file mode 100644 index 00000000..2bbf39a8 Binary files /dev/null and b/examples/assets/Godette/preview/Annoyance.png differ diff --git a/examples/assets/Godette/preview/Annoyance.png.import b/examples/assets/Godette/preview/Annoyance.png.import new file mode 100644 index 00000000..0116e349 --- /dev/null +++ b/examples/assets/Godette/preview/Annoyance.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Annoyance.png-5290174fe4e663d6b7dbe4c1692162ba.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/preview/Annoyance.png" +dest_files=[ "res://.import/Annoyance.png-5290174fe4e663d6b7dbe4c1692162ba.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/preview/Grin.png b/examples/assets/Godette/preview/Grin.png new file mode 100644 index 00000000..23f6d5cf Binary files /dev/null and b/examples/assets/Godette/preview/Grin.png differ diff --git a/examples/assets/Godette/preview/Grin.png.import b/examples/assets/Godette/preview/Grin.png.import new file mode 100644 index 00000000..d792e555 --- /dev/null +++ b/examples/assets/Godette/preview/Grin.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Grin.png-b30c1043854a364cbce822d7644b0a49.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/preview/Grin.png" +dest_files=[ "res://.import/Grin.png-b30c1043854a364cbce822d7644b0a49.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/preview/Joy.png b/examples/assets/Godette/preview/Joy.png new file mode 100644 index 00000000..5024b2b9 Binary files /dev/null and b/examples/assets/Godette/preview/Joy.png differ diff --git a/examples/assets/Godette/preview/Joy.png.import b/examples/assets/Godette/preview/Joy.png.import new file mode 100644 index 00000000..38ef9922 --- /dev/null +++ b/examples/assets/Godette/preview/Joy.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Joy.png-d7bb404dfd3cffb79bf0c0b93925e723.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/preview/Joy.png" +dest_files=[ "res://.import/Joy.png-d7bb404dfd3cffb79bf0c0b93925e723.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/preview/Laugh.png b/examples/assets/Godette/preview/Laugh.png new file mode 100644 index 00000000..2fcada4a Binary files /dev/null and b/examples/assets/Godette/preview/Laugh.png differ diff --git a/examples/assets/Godette/preview/Laugh.png.import b/examples/assets/Godette/preview/Laugh.png.import new file mode 100644 index 00000000..8fa1c736 --- /dev/null +++ b/examples/assets/Godette/preview/Laugh.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Laugh.png-ba8fd25f4eb93586432f16b61a68db53.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/preview/Laugh.png" +dest_files=[ "res://.import/Laugh.png-ba8fd25f4eb93586432f16b61a68db53.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/preview/Neutral.png b/examples/assets/Godette/preview/Neutral.png new file mode 100644 index 00000000..c1922323 Binary files /dev/null and b/examples/assets/Godette/preview/Neutral.png differ diff --git a/examples/assets/Godette/preview/Neutral.png.import b/examples/assets/Godette/preview/Neutral.png.import new file mode 100644 index 00000000..0c033553 --- /dev/null +++ b/examples/assets/Godette/preview/Neutral.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Neutral.png-ba4f06b05eddd4aa7e2fc4d4af1aae67.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/preview/Neutral.png" +dest_files=[ "res://.import/Neutral.png-ba4f06b05eddd4aa7e2fc4d4af1aae67.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/preview/Sad.png b/examples/assets/Godette/preview/Sad.png new file mode 100644 index 00000000..e869a135 Binary files /dev/null and b/examples/assets/Godette/preview/Sad.png differ diff --git a/examples/assets/Godette/preview/Sad.png.import b/examples/assets/Godette/preview/Sad.png.import new file mode 100644 index 00000000..714b6380 --- /dev/null +++ b/examples/assets/Godette/preview/Sad.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Sad.png-ce844fd34f0da813840c0d1a6bc8b4b4.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/preview/Sad.png" +dest_files=[ "res://.import/Sad.png-ce844fd34f0da813840c0d1a6bc8b4b4.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/preview/Shocked.png b/examples/assets/Godette/preview/Shocked.png new file mode 100644 index 00000000..a12b8086 Binary files /dev/null and b/examples/assets/Godette/preview/Shocked.png differ diff --git a/examples/assets/Godette/preview/Shocked.png.import b/examples/assets/Godette/preview/Shocked.png.import new file mode 100644 index 00000000..addf7526 --- /dev/null +++ b/examples/assets/Godette/preview/Shocked.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Shocked.png-7d5202e7515b6b5cfd254228bd5025a8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/preview/Shocked.png" +dest_files=[ "res://.import/Shocked.png-7d5202e7515b6b5cfd254228bd5025a8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/preview/Sleepy.png b/examples/assets/Godette/preview/Sleepy.png new file mode 100644 index 00000000..e9586a21 Binary files /dev/null and b/examples/assets/Godette/preview/Sleepy.png differ diff --git a/examples/assets/Godette/preview/Sleepy.png.import b/examples/assets/Godette/preview/Sleepy.png.import new file mode 100644 index 00000000..033a43c6 --- /dev/null +++ b/examples/assets/Godette/preview/Sleepy.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Sleepy.png-e36bf151858da290299b9237acb3eef8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/preview/Sleepy.png" +dest_files=[ "res://.import/Sleepy.png-e36bf151858da290299b9237acb3eef8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/preview/Smile.png b/examples/assets/Godette/preview/Smile.png new file mode 100644 index 00000000..d2bcebd1 Binary files /dev/null and b/examples/assets/Godette/preview/Smile.png differ diff --git a/examples/assets/Godette/preview/Smile.png.import b/examples/assets/Godette/preview/Smile.png.import new file mode 100644 index 00000000..4b14ba27 --- /dev/null +++ b/examples/assets/Godette/preview/Smile.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Smile.png-75f2f334d325710e5b88906bd8b91c8c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/preview/Smile.png" +dest_files=[ "res://.import/Smile.png-75f2f334d325710e5b88906bd8b91c8c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/preview/Smug.png b/examples/assets/Godette/preview/Smug.png new file mode 100644 index 00000000..d1d49875 Binary files /dev/null and b/examples/assets/Godette/preview/Smug.png differ diff --git a/examples/assets/Godette/preview/Smug.png.import b/examples/assets/Godette/preview/Smug.png.import new file mode 100644 index 00000000..b663c8ca --- /dev/null +++ b/examples/assets/Godette/preview/Smug.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Smug.png-d21909cba0d140d5830cf45d226585cb.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/preview/Smug.png" +dest_files=[ "res://.import/Smug.png-d21909cba0d140d5830cf45d226585cb.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/Godette/preview/Suprised.png b/examples/assets/Godette/preview/Suprised.png new file mode 100644 index 00000000..bc5dda2d Binary files /dev/null and b/examples/assets/Godette/preview/Suprised.png differ diff --git a/examples/assets/Godette/preview/Suprised.png.import b/examples/assets/Godette/preview/Suprised.png.import new file mode 100644 index 00000000..d94a5191 --- /dev/null +++ b/examples/assets/Godette/preview/Suprised.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/Suprised.png-16fd3eb0275343ce5cf8cd634763e62e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/Godette/preview/Suprised.png" +dest_files=[ "res://.import/Suprised.png-16fd3eb0275343ce5cf8cd634763e62e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/License.txt b/examples/assets/kenney_assets/License.txt new file mode 100644 index 00000000..c3433b8c --- /dev/null +++ b/examples/assets/kenney_assets/License.txt @@ -0,0 +1,23 @@ + + + Toon Characters Pack 1 + + Created/distributed by Kenney (www.kenney.nl) + Creation date: 26-09-2019 + + ------------------------------ + + License: (Creative Commons Zero, CC0) + http://creativecommons.org/publicdomain/zero/1.0/ + + This content is free to use in personal, educational and commercial projects. + Support us by crediting Kenney or www.kenney.nl (this is not mandatory) + + ------------------------------ + + Donate: http://support.kenney.nl + Request: http://request.kenney.nl + Patreon: http://patreon.com/kenney/ + + Follow on Twitter for updates: + http://twitter.com/KenneyNL \ No newline at end of file diff --git a/examples/assets/kenney_assets/female_person/character_femalePerson_hold.png b/examples/assets/kenney_assets/female_person/character_femalePerson_hold.png new file mode 100644 index 00000000..f2cc15e6 Binary files /dev/null and b/examples/assets/kenney_assets/female_person/character_femalePerson_hold.png differ diff --git a/examples/assets/kenney_assets/female_person/character_femalePerson_hold.png.import b/examples/assets/kenney_assets/female_person/character_femalePerson_hold.png.import new file mode 100644 index 00000000..239f6433 --- /dev/null +++ b/examples/assets/kenney_assets/female_person/character_femalePerson_hold.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_femalePerson_hold.png-3ded7dd9d01f67126ba201ae0c72965b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/female_person/character_femalePerson_hold.png" +dest_files=[ "res://.import/character_femalePerson_hold.png-3ded7dd9d01f67126ba201ae0c72965b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/female_person/character_femalePerson_idle.png b/examples/assets/kenney_assets/female_person/character_femalePerson_idle.png new file mode 100644 index 00000000..ea8cbf46 Binary files /dev/null and b/examples/assets/kenney_assets/female_person/character_femalePerson_idle.png differ diff --git a/examples/assets/kenney_assets/female_person/character_femalePerson_idle.png.import b/examples/assets/kenney_assets/female_person/character_femalePerson_idle.png.import new file mode 100644 index 00000000..108451db --- /dev/null +++ b/examples/assets/kenney_assets/female_person/character_femalePerson_idle.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_femalePerson_idle.png-a4b8f49288a9acf1b25091920a88a19c.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/female_person/character_femalePerson_idle.png" +dest_files=[ "res://.import/character_femalePerson_idle.png-a4b8f49288a9acf1b25091920a88a19c.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/female_person/character_femalePerson_show.png b/examples/assets/kenney_assets/female_person/character_femalePerson_show.png new file mode 100644 index 00000000..706ddd91 Binary files /dev/null and b/examples/assets/kenney_assets/female_person/character_femalePerson_show.png differ diff --git a/examples/assets/kenney_assets/female_person/character_femalePerson_show.png.import b/examples/assets/kenney_assets/female_person/character_femalePerson_show.png.import new file mode 100644 index 00000000..03697f9e --- /dev/null +++ b/examples/assets/kenney_assets/female_person/character_femalePerson_show.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_femalePerson_show.png-d965fb0e6dfd64d60bed4135cdeacccc.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/female_person/character_femalePerson_show.png" +dest_files=[ "res://.import/character_femalePerson_show.png-d965fb0e6dfd64d60bed4135cdeacccc.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/female_person/character_femalePerson_talk.png b/examples/assets/kenney_assets/female_person/character_femalePerson_talk.png new file mode 100644 index 00000000..d392ed52 Binary files /dev/null and b/examples/assets/kenney_assets/female_person/character_femalePerson_talk.png differ diff --git a/examples/assets/kenney_assets/female_person/character_femalePerson_talk.png.import b/examples/assets/kenney_assets/female_person/character_femalePerson_talk.png.import new file mode 100644 index 00000000..74778502 --- /dev/null +++ b/examples/assets/kenney_assets/female_person/character_femalePerson_talk.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_femalePerson_talk.png-fd9ff35041adbae92b69fd04cb9eb387.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/female_person/character_femalePerson_talk.png" +dest_files=[ "res://.import/character_femalePerson_talk.png-fd9ff35041adbae92b69fd04cb9eb387.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/female_person/character_femalePerson_think.png b/examples/assets/kenney_assets/female_person/character_femalePerson_think.png new file mode 100644 index 00000000..4dfa5fff Binary files /dev/null and b/examples/assets/kenney_assets/female_person/character_femalePerson_think.png differ diff --git a/examples/assets/kenney_assets/female_person/character_femalePerson_think.png.import b/examples/assets/kenney_assets/female_person/character_femalePerson_think.png.import new file mode 100644 index 00000000..9a5751f2 --- /dev/null +++ b/examples/assets/kenney_assets/female_person/character_femalePerson_think.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_femalePerson_think.png-43a99a27a54c17dc85a058c65f5546c3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/female_person/character_femalePerson_think.png" +dest_files=[ "res://.import/character_femalePerson_think.png-43a99a27a54c17dc85a058c65f5546c3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/female_person/character_femalePerson_wide.png b/examples/assets/kenney_assets/female_person/character_femalePerson_wide.png new file mode 100644 index 00000000..c4cf4fbf Binary files /dev/null and b/examples/assets/kenney_assets/female_person/character_femalePerson_wide.png differ diff --git a/examples/assets/kenney_assets/female_person/character_femalePerson_wide.png.import b/examples/assets/kenney_assets/female_person/character_femalePerson_wide.png.import new file mode 100644 index 00000000..57e2d522 --- /dev/null +++ b/examples/assets/kenney_assets/female_person/character_femalePerson_wide.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_femalePerson_wide.png-6c29ed1a71812fc54bdb04d9714ed4ce.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/female_person/character_femalePerson_wide.png" +dest_files=[ "res://.import/character_femalePerson_wide.png-6c29ed1a71812fc54bdb04d9714ed4ce.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/female_person/head.png b/examples/assets/kenney_assets/female_person/head.png new file mode 100644 index 00000000..2f2fcf87 Binary files /dev/null and b/examples/assets/kenney_assets/female_person/head.png differ diff --git a/examples/assets/kenney_assets/female_person/head.png.import b/examples/assets/kenney_assets/female_person/head.png.import new file mode 100644 index 00000000..ec853eb7 --- /dev/null +++ b/examples/assets/kenney_assets/female_person/head.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/head.png-030bf846f659335f4b5a38546422bc9f.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/female_person/head.png" +dest_files=[ "res://.import/head.png-030bf846f659335f4b5a38546422bc9f.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/male_person/character_malePerson_hold.png b/examples/assets/kenney_assets/male_person/character_malePerson_hold.png new file mode 100644 index 00000000..296645c1 Binary files /dev/null and b/examples/assets/kenney_assets/male_person/character_malePerson_hold.png differ diff --git a/examples/assets/kenney_assets/male_person/character_malePerson_hold.png.import b/examples/assets/kenney_assets/male_person/character_malePerson_hold.png.import new file mode 100644 index 00000000..88c90f89 --- /dev/null +++ b/examples/assets/kenney_assets/male_person/character_malePerson_hold.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_malePerson_hold.png-5bea0e6ddccf6925610c9b38b77e4b33.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/male_person/character_malePerson_hold.png" +dest_files=[ "res://.import/character_malePerson_hold.png-5bea0e6ddccf6925610c9b38b77e4b33.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/male_person/character_malePerson_idle.png b/examples/assets/kenney_assets/male_person/character_malePerson_idle.png new file mode 100644 index 00000000..a2c1142d Binary files /dev/null and b/examples/assets/kenney_assets/male_person/character_malePerson_idle.png differ diff --git a/examples/assets/kenney_assets/male_person/character_malePerson_idle.png.import b/examples/assets/kenney_assets/male_person/character_malePerson_idle.png.import new file mode 100644 index 00000000..6964dd25 --- /dev/null +++ b/examples/assets/kenney_assets/male_person/character_malePerson_idle.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_malePerson_idle.png-b825bf303aed82c81b4f1d335265f946.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/male_person/character_malePerson_idle.png" +dest_files=[ "res://.import/character_malePerson_idle.png-b825bf303aed82c81b4f1d335265f946.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/male_person/character_malePerson_show.png b/examples/assets/kenney_assets/male_person/character_malePerson_show.png new file mode 100644 index 00000000..a0b8c0cd Binary files /dev/null and b/examples/assets/kenney_assets/male_person/character_malePerson_show.png differ diff --git a/examples/assets/kenney_assets/male_person/character_malePerson_show.png.import b/examples/assets/kenney_assets/male_person/character_malePerson_show.png.import new file mode 100644 index 00000000..64af9bd8 --- /dev/null +++ b/examples/assets/kenney_assets/male_person/character_malePerson_show.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_malePerson_show.png-a911202fa883becb4447380cb5dfc6d0.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/male_person/character_malePerson_show.png" +dest_files=[ "res://.import/character_malePerson_show.png-a911202fa883becb4447380cb5dfc6d0.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/male_person/character_malePerson_talk.png b/examples/assets/kenney_assets/male_person/character_malePerson_talk.png new file mode 100644 index 00000000..e8cd5369 Binary files /dev/null and b/examples/assets/kenney_assets/male_person/character_malePerson_talk.png differ diff --git a/examples/assets/kenney_assets/male_person/character_malePerson_talk.png.import b/examples/assets/kenney_assets/male_person/character_malePerson_talk.png.import new file mode 100644 index 00000000..21e89111 --- /dev/null +++ b/examples/assets/kenney_assets/male_person/character_malePerson_talk.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_malePerson_talk.png-1e43448bafe797775a8dd4afc97fc468.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/male_person/character_malePerson_talk.png" +dest_files=[ "res://.import/character_malePerson_talk.png-1e43448bafe797775a8dd4afc97fc468.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/male_person/character_malePerson_think.png b/examples/assets/kenney_assets/male_person/character_malePerson_think.png new file mode 100644 index 00000000..36f0dfd9 Binary files /dev/null and b/examples/assets/kenney_assets/male_person/character_malePerson_think.png differ diff --git a/examples/assets/kenney_assets/male_person/character_malePerson_think.png.import b/examples/assets/kenney_assets/male_person/character_malePerson_think.png.import new file mode 100644 index 00000000..50a50e42 --- /dev/null +++ b/examples/assets/kenney_assets/male_person/character_malePerson_think.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_malePerson_think.png-bbcfe65825c836d0431de6276fba06a8.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/male_person/character_malePerson_think.png" +dest_files=[ "res://.import/character_malePerson_think.png-bbcfe65825c836d0431de6276fba06a8.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/male_person/character_malePerson_wide.png b/examples/assets/kenney_assets/male_person/character_malePerson_wide.png new file mode 100644 index 00000000..cc997f36 Binary files /dev/null and b/examples/assets/kenney_assets/male_person/character_malePerson_wide.png differ diff --git a/examples/assets/kenney_assets/male_person/character_malePerson_wide.png.import b/examples/assets/kenney_assets/male_person/character_malePerson_wide.png.import new file mode 100644 index 00000000..cba9e513 --- /dev/null +++ b/examples/assets/kenney_assets/male_person/character_malePerson_wide.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_malePerson_wide.png-ffbffefd9e471bbe99e838d04492333e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/male_person/character_malePerson_wide.png" +dest_files=[ "res://.import/character_malePerson_wide.png-ffbffefd9e471bbe99e838d04492333e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/male_person/head.png b/examples/assets/kenney_assets/male_person/head.png new file mode 100644 index 00000000..c92b2d1b Binary files /dev/null and b/examples/assets/kenney_assets/male_person/head.png differ diff --git a/examples/assets/kenney_assets/male_person/head.png.import b/examples/assets/kenney_assets/male_person/head.png.import new file mode 100644 index 00000000..363b5b31 --- /dev/null +++ b/examples/assets/kenney_assets/male_person/head.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/head.png-2827e149ce78896c8349f0a0dd89eb42.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/male_person/head.png" +dest_files=[ "res://.import/head.png-2827e149ce78896c8349f0a0dd89eb42.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/robot/character_robot_hold.png b/examples/assets/kenney_assets/robot/character_robot_hold.png new file mode 100644 index 00000000..243133ab Binary files /dev/null and b/examples/assets/kenney_assets/robot/character_robot_hold.png differ diff --git a/examples/assets/kenney_assets/robot/character_robot_hold.png.import b/examples/assets/kenney_assets/robot/character_robot_hold.png.import new file mode 100644 index 00000000..f9ed7467 --- /dev/null +++ b/examples/assets/kenney_assets/robot/character_robot_hold.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_robot_hold.png-fbfa97644c268d3c8b7a45067d56b8b7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/robot/character_robot_hold.png" +dest_files=[ "res://.import/character_robot_hold.png-fbfa97644c268d3c8b7a45067d56b8b7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/robot/character_robot_idle.png b/examples/assets/kenney_assets/robot/character_robot_idle.png new file mode 100644 index 00000000..00f95353 Binary files /dev/null and b/examples/assets/kenney_assets/robot/character_robot_idle.png differ diff --git a/examples/assets/kenney_assets/robot/character_robot_idle.png.import b/examples/assets/kenney_assets/robot/character_robot_idle.png.import new file mode 100644 index 00000000..74f34dab --- /dev/null +++ b/examples/assets/kenney_assets/robot/character_robot_idle.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_robot_idle.png-2e0bb7dcbbb8fcb8c1d10f9e78607c10.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/robot/character_robot_idle.png" +dest_files=[ "res://.import/character_robot_idle.png-2e0bb7dcbbb8fcb8c1d10f9e78607c10.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/robot/character_robot_show.png b/examples/assets/kenney_assets/robot/character_robot_show.png new file mode 100644 index 00000000..189adaf1 Binary files /dev/null and b/examples/assets/kenney_assets/robot/character_robot_show.png differ diff --git a/examples/assets/kenney_assets/robot/character_robot_show.png.import b/examples/assets/kenney_assets/robot/character_robot_show.png.import new file mode 100644 index 00000000..cec6fad1 --- /dev/null +++ b/examples/assets/kenney_assets/robot/character_robot_show.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_robot_show.png-cdfed6d15cb34c0cae4453197c8973aa.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/robot/character_robot_show.png" +dest_files=[ "res://.import/character_robot_show.png-cdfed6d15cb34c0cae4453197c8973aa.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/robot/character_robot_talk.png b/examples/assets/kenney_assets/robot/character_robot_talk.png new file mode 100644 index 00000000..d34bdef7 Binary files /dev/null and b/examples/assets/kenney_assets/robot/character_robot_talk.png differ diff --git a/examples/assets/kenney_assets/robot/character_robot_talk.png.import b/examples/assets/kenney_assets/robot/character_robot_talk.png.import new file mode 100644 index 00000000..5cfc8eb7 --- /dev/null +++ b/examples/assets/kenney_assets/robot/character_robot_talk.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_robot_talk.png-1fecf20abe9dd7e4faae643c18eec947.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/robot/character_robot_talk.png" +dest_files=[ "res://.import/character_robot_talk.png-1fecf20abe9dd7e4faae643c18eec947.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/robot/character_robot_think.png b/examples/assets/kenney_assets/robot/character_robot_think.png new file mode 100644 index 00000000..5d642a9c Binary files /dev/null and b/examples/assets/kenney_assets/robot/character_robot_think.png differ diff --git a/examples/assets/kenney_assets/robot/character_robot_think.png.import b/examples/assets/kenney_assets/robot/character_robot_think.png.import new file mode 100644 index 00000000..7d7790b6 --- /dev/null +++ b/examples/assets/kenney_assets/robot/character_robot_think.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_robot_think.png-5d40884d70370f14ec0f6253b6864f79.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/robot/character_robot_think.png" +dest_files=[ "res://.import/character_robot_think.png-5d40884d70370f14ec0f6253b6864f79.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/robot/character_robot_wide.png b/examples/assets/kenney_assets/robot/character_robot_wide.png new file mode 100644 index 00000000..480558e0 Binary files /dev/null and b/examples/assets/kenney_assets/robot/character_robot_wide.png differ diff --git a/examples/assets/kenney_assets/robot/character_robot_wide.png.import b/examples/assets/kenney_assets/robot/character_robot_wide.png.import new file mode 100644 index 00000000..b5b8fa9c --- /dev/null +++ b/examples/assets/kenney_assets/robot/character_robot_wide.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/character_robot_wide.png-6bad8dc2800b5bbd18e456aabe83ae4a.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/robot/character_robot_wide.png" +dest_files=[ "res://.import/character_robot_wide.png-6bad8dc2800b5bbd18e456aabe83ae4a.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/kenney_assets/robot/head.png b/examples/assets/kenney_assets/robot/head.png new file mode 100644 index 00000000..ad3c11bc Binary files /dev/null and b/examples/assets/kenney_assets/robot/head.png differ diff --git a/examples/assets/kenney_assets/robot/head.png.import b/examples/assets/kenney_assets/robot/head.png.import new file mode 100644 index 00000000..c45ff648 --- /dev/null +++ b/examples/assets/kenney_assets/robot/head.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/head.png-6561213c54e12e2a1e25e70266ec60ef.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/kenney_assets/robot/head.png" +dest_files=[ "res://.import/head.png-6561213c54e12e2a1e25e70266ec60ef.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/assets/music/credits.txt b/examples/assets/music/credits.txt new file mode 100644 index 00000000..8954cf9b --- /dev/null +++ b/examples/assets/music/credits.txt @@ -0,0 +1 @@ +songs from https://amachamusic.chagasi.com/ \ No newline at end of file diff --git a/examples/assets/music/seishishitauchu.ogg b/examples/assets/music/seishishitauchu.ogg new file mode 100644 index 00000000..e17f7b1a Binary files /dev/null and b/examples/assets/music/seishishitauchu.ogg differ diff --git a/examples/assets/music/seishishitauchu.ogg.import b/examples/assets/music/seishishitauchu.ogg.import new file mode 100644 index 00000000..a64408f8 --- /dev/null +++ b/examples/assets/music/seishishitauchu.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/seishishitauchu.ogg-6a8cf47ae685f3bf9971cfde59d47b8c.oggstr" + +[deps] + +source_file="res://examples/assets/music/seishishitauchu.ogg" +dest_files=[ "res://.import/seishishitauchu.ogg-6a8cf47ae685f3bf9971cfde59d47b8c.oggstr" ] + +[params] + +loop=true +loop_offset=0 diff --git a/examples/assets/music/yume.ogg b/examples/assets/music/yume.ogg new file mode 100644 index 00000000..2f3693c9 Binary files /dev/null and b/examples/assets/music/yume.ogg differ diff --git a/examples/assets/music/yume.ogg.import b/examples/assets/music/yume.ogg.import new file mode 100644 index 00000000..e81980ca --- /dev/null +++ b/examples/assets/music/yume.ogg.import @@ -0,0 +1,15 @@ +[remap] + +importer="ogg_vorbis" +type="AudioStreamOGGVorbis" +path="res://.import/yume.ogg-163240a090e36d2a34ff53c93267ad27.oggstr" + +[deps] + +source_file="res://examples/assets/music/yume.ogg" +dest_files=[ "res://.import/yume.ogg-163240a090e36d2a34ff53c93267ad27.oggstr" ] + +[params] + +loop=true +loop_offset=0 diff --git a/examples/assets/speech_bubble.png b/examples/assets/speech_bubble.png new file mode 100644 index 00000000..af042d8f Binary files /dev/null and b/examples/assets/speech_bubble.png differ diff --git a/examples/assets/speech_bubble.png.import b/examples/assets/speech_bubble.png.import new file mode 100644 index 00000000..072681be --- /dev/null +++ b/examples/assets/speech_bubble.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/speech_bubble.png-ff644ab1335ec1ec99b106927c82c2dd.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://examples/assets/speech_bubble.png" +dest_files=[ "res://.import/speech_bubble.png-ff644ab1335ec1ec99b106927c82c2dd.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=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 +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/examples/characters/Godette.tres b/examples/characters/Godette.tres new file mode 100644 index 00000000..e6645b27 --- /dev/null +++ b/examples/characters/Godette.tres @@ -0,0 +1,123 @@ +[gd_resource type="Resource" load_steps=40 format=2] + +[ext_resource path="res://addons/textalog/resources/portrait_class/portrait_class.gd" type="Script" id=1] +[ext_resource path="res://addons/textalog/resources/character_class/character_class.gd" type="Script" id=2] +[ext_resource path="res://examples/assets/Godette/preview/Grin.png" type="Texture" id=3] +[ext_resource path="res://examples/assets/Godette/preview/Annoyance.png" type="Texture" id=4] +[ext_resource path="res://examples/assets/Godette/preview/Shocked.png" type="Texture" id=5] +[ext_resource path="res://examples/assets/Godette/preview/Sleepy.png" type="Texture" id=6] +[ext_resource path="res://examples/assets/Godette/preview/Suprised.png" type="Texture" id=7] +[ext_resource path="res://examples/assets/Godette/icons/Grin.png" type="Texture" id=8] +[ext_resource path="res://examples/assets/Godette/icons/Joy.png" type="Texture" id=9] +[ext_resource path="res://examples/assets/Godette/icons/Suprised.png" type="Texture" id=10] +[ext_resource path="res://examples/assets/Godette/icons/Laugh.png" type="Texture" id=11] +[ext_resource path="res://examples/assets/Godette/preview/Laugh.png" type="Texture" id=12] +[ext_resource path="res://examples/VisualNovel/sfx-bliplaytonfemale.wav" type="AudioStream" id=13] +[ext_resource path="res://examples/assets/Godette/icons/Neutral.png" type="Texture" id=14] +[ext_resource path="res://examples/assets/Godette/preview/Anger.png" type="Texture" id=15] +[ext_resource path="res://examples/assets/Godette/icons/Anger.png" type="Texture" id=16] +[ext_resource path="res://examples/assets/Godette/preview/Joy.png" type="Texture" id=17] +[ext_resource path="res://examples/assets/Godette/icons/Shocked.png" type="Texture" id=18] +[ext_resource path="res://examples/assets/Godette/preview/Smug.png" type="Texture" id=19] +[ext_resource path="res://examples/assets/Godette/icons/Sad.png" type="Texture" id=20] +[ext_resource path="res://examples/assets/Godette/preview/Sad.png" type="Texture" id=21] +[ext_resource path="res://examples/assets/Godette/icons/Sleepy.png" type="Texture" id=22] +[ext_resource path="res://examples/assets/Godette/icons/Smile.png" type="Texture" id=23] +[ext_resource path="res://examples/assets/Godette/preview/Neutral.png" type="Texture" id=24] +[ext_resource path="res://examples/assets/Godette/icons/Annoyance.png" type="Texture" id=25] +[ext_resource path="res://examples/assets/Godette/icons/Smug.png" type="Texture" id=26] +[ext_resource path="res://examples/assets/Godette/preview/Smile.png" type="Texture" id=27] + +[sub_resource type="Resource" id=1] +resource_name = "Anger" +script = ExtResource( 1 ) +name = "Anger" +image = ExtResource( 15 ) +icon = ExtResource( 16 ) + +[sub_resource type="Resource" id=2] +resource_name = "Annoyance" +script = ExtResource( 1 ) +name = "Annoyance" +image = ExtResource( 4 ) +icon = ExtResource( 25 ) + +[sub_resource type="Resource" id=3] +resource_name = "Grin" +script = ExtResource( 1 ) +name = "Grin" +image = ExtResource( 3 ) +icon = ExtResource( 8 ) + +[sub_resource type="Resource" id=4] +resource_name = "Joy" +script = ExtResource( 1 ) +name = "Joy" +image = ExtResource( 17 ) +icon = ExtResource( 9 ) + +[sub_resource type="Resource" id=5] +resource_name = "Laugh" +script = ExtResource( 1 ) +name = "Laugh" +image = ExtResource( 12 ) +icon = ExtResource( 11 ) + +[sub_resource type="Resource" id=6] +resource_name = "Neutral" +script = ExtResource( 1 ) +name = "Neutral" +image = ExtResource( 24 ) +icon = ExtResource( 14 ) + +[sub_resource type="Resource" id=7] +resource_name = "Sad" +script = ExtResource( 1 ) +name = "Sad" +image = ExtResource( 21 ) +icon = ExtResource( 20 ) + +[sub_resource type="Resource" id=8] +resource_name = "Shocked" +script = ExtResource( 1 ) +name = "Shocked" +image = ExtResource( 5 ) +icon = ExtResource( 18 ) + +[sub_resource type="Resource" id=9] +resource_name = "Sleepy" +script = ExtResource( 1 ) +name = "Sleepy" +image = ExtResource( 6 ) +icon = ExtResource( 22 ) + +[sub_resource type="Resource" id=10] +resource_name = "Smile" +script = ExtResource( 1 ) +name = "Smile" +image = ExtResource( 27 ) +icon = ExtResource( 23 ) + +[sub_resource type="Resource" id=11] +resource_name = "Smug" +script = ExtResource( 1 ) +name = "Smug" +image = ExtResource( 19 ) +icon = ExtResource( 26 ) + +[sub_resource type="Resource" id=12] +resource_name = "Suprised" +script = ExtResource( 1 ) +name = "Surprised" +image = ExtResource( 7 ) +icon = ExtResource( 10 ) + +[resource] +resource_name = "Godette" +script = ExtResource( 2 ) +color = Color( 0.556863, 0.678431, 1, 1 ) +icon = ExtResource( 23 ) +name = "Godette" +_display_name = "" +blip_sounds = [ ExtResource( 13 ) ] +portraits = [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ), SubResource( 7 ), SubResource( 8 ), SubResource( 9 ), SubResource( 10 ), SubResource( 11 ), SubResource( 12 ) ] diff --git a/examples/characters/female_person.tres b/examples/characters/female_person.tres new file mode 100644 index 00000000..8070c584 --- /dev/null +++ b/examples/characters/female_person.tres @@ -0,0 +1,63 @@ +[gd_resource type="Resource" load_steps=16 format=2] + +[ext_resource path="res://addons/textalog/resources/character_class/character_class.gd" type="Script" id=1] +[ext_resource path="res://addons/textalog/resources/portrait_class/portrait_class.gd" type="Script" id=2] +[ext_resource path="res://examples/assets/kenney_assets/female_person/head.png" type="Texture" id=3] +[ext_resource path="res://examples/assets/kenney_assets/female_person/character_femalePerson_idle.png" type="Texture" id=4] +[ext_resource path="res://examples/assets/kenney_assets/female_person/character_femalePerson_talk.png" type="Texture" id=5] +[ext_resource path="res://examples/assets/kenney_assets/female_person/character_femalePerson_think.png" type="Texture" id=6] +[ext_resource path="res://examples/assets/kenney_assets/female_person/character_femalePerson_hold.png" type="Texture" id=7] +[ext_resource path="res://examples/assets/kenney_assets/female_person/character_femalePerson_wide.png" type="Texture" id=8] +[ext_resource path="res://examples/assets/kenney_assets/female_person/character_femalePerson_show.png" type="Texture" id=9] + +[sub_resource type="Resource" id=1] +resource_name = "character_femalePerson_hold.png" +script = ExtResource( 2 ) +name = "character_femalePerson_hold.png" +image = ExtResource( 7 ) +icon = ExtResource( 3 ) + +[sub_resource type="Resource" id=2] +resource_name = "character_femalePerson_idle.png" +script = ExtResource( 2 ) +name = "character_femalePerson_idle.png" +image = ExtResource( 4 ) +icon = ExtResource( 3 ) + +[sub_resource type="Resource" id=3] +resource_name = "character_femalePerson_show.png" +script = ExtResource( 2 ) +name = "character_femalePerson_show.png" +image = ExtResource( 9 ) +icon = ExtResource( 3 ) + +[sub_resource type="Resource" id=4] +resource_name = "character_femalePerson_talk.png" +script = ExtResource( 2 ) +name = "character_femalePerson_talk.png" +image = ExtResource( 5 ) +icon = ExtResource( 3 ) + +[sub_resource type="Resource" id=5] +resource_name = "character_femalePerson_think.png" +script = ExtResource( 2 ) +name = "character_femalePerson_think.png" +image = ExtResource( 6 ) +icon = ExtResource( 3 ) + +[sub_resource type="Resource" id=6] +resource_name = "character_femalePerson_wide.png" +script = ExtResource( 2 ) +name = "character_femalePerson_wide.png" +image = ExtResource( 8 ) +icon = ExtResource( 3 ) + +[resource] +resource_name = "Diana" +script = ExtResource( 1 ) +color = Color( 1, 1, 1, 1 ) +icon = ExtResource( 3 ) +name = "Diana" +_display_name = "" +blip_sounds = [ ] +portraits = [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ) ] diff --git a/examples/characters/male_person.tres b/examples/characters/male_person.tres new file mode 100644 index 00000000..fc010265 --- /dev/null +++ b/examples/characters/male_person.tres @@ -0,0 +1,63 @@ +[gd_resource type="Resource" load_steps=16 format=2] + +[ext_resource path="res://addons/textalog/resources/character_class/character_class.gd" type="Script" id=1] +[ext_resource path="res://addons/textalog/resources/portrait_class/portrait_class.gd" type="Script" id=2] +[ext_resource path="res://examples/assets/kenney_assets/male_person/head.png" type="Texture" id=3] +[ext_resource path="res://examples/assets/kenney_assets/male_person/character_malePerson_show.png" type="Texture" id=4] +[ext_resource path="res://examples/assets/kenney_assets/male_person/character_malePerson_talk.png" type="Texture" id=5] +[ext_resource path="res://examples/assets/kenney_assets/male_person/character_malePerson_hold.png" type="Texture" id=6] +[ext_resource path="res://examples/assets/kenney_assets/male_person/character_malePerson_idle.png" type="Texture" id=7] +[ext_resource path="res://examples/assets/kenney_assets/male_person/character_malePerson_think.png" type="Texture" id=8] +[ext_resource path="res://examples/assets/kenney_assets/male_person/character_malePerson_wide.png" type="Texture" id=9] + +[sub_resource type="Resource" id=1] +resource_name = "character_malePerson_hold.png" +script = ExtResource( 2 ) +name = "character_malePerson_hold.png" +image = ExtResource( 6 ) +icon = ExtResource( 3 ) + +[sub_resource type="Resource" id=2] +resource_name = "character_malePerson_idle.png" +script = ExtResource( 2 ) +name = "character_malePerson_idle.png" +image = ExtResource( 7 ) +icon = ExtResource( 3 ) + +[sub_resource type="Resource" id=3] +resource_name = "character_malePerson_show.png" +script = ExtResource( 2 ) +name = "character_malePerson_show.png" +image = ExtResource( 4 ) +icon = ExtResource( 3 ) + +[sub_resource type="Resource" id=4] +resource_name = "character_malePerson_talk.png" +script = ExtResource( 2 ) +name = "character_malePerson_talk.png" +image = ExtResource( 5 ) +icon = ExtResource( 3 ) + +[sub_resource type="Resource" id=5] +resource_name = "character_malePerson_think.png" +script = ExtResource( 2 ) +name = "character_malePerson_think.png" +image = ExtResource( 8 ) +icon = ExtResource( 3 ) + +[sub_resource type="Resource" id=6] +resource_name = "character_malePerson_wide.png" +script = ExtResource( 2 ) +name = "character_malePerson_wide.png" +image = ExtResource( 9 ) +icon = ExtResource( 3 ) + +[resource] +resource_name = "Bob" +script = ExtResource( 1 ) +color = Color( 1, 1, 1, 1 ) +icon = ExtResource( 3 ) +name = "Bob" +_display_name = "" +blip_sounds = [ ] +portraits = [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ) ] diff --git a/examples/characters/robot.tres b/examples/characters/robot.tres new file mode 100644 index 00000000..04d0aedb --- /dev/null +++ b/examples/characters/robot.tres @@ -0,0 +1,63 @@ +[gd_resource type="Resource" load_steps=16 format=2] + +[ext_resource path="res://addons/textalog/resources/character_class/character_class.gd" type="Script" id=1] +[ext_resource path="res://addons/textalog/resources/portrait_class/portrait_class.gd" type="Script" id=2] +[ext_resource path="res://examples/assets/kenney_assets/robot/character_robot_talk.png" type="Texture" id=3] +[ext_resource path="res://examples/assets/kenney_assets/robot/character_robot_hold.png" type="Texture" id=4] +[ext_resource path="res://examples/assets/kenney_assets/robot/head.png" type="Texture" id=5] +[ext_resource path="res://examples/assets/kenney_assets/robot/character_robot_idle.png" type="Texture" id=6] +[ext_resource path="res://examples/assets/kenney_assets/robot/character_robot_think.png" type="Texture" id=7] +[ext_resource path="res://examples/assets/kenney_assets/robot/character_robot_show.png" type="Texture" id=8] +[ext_resource path="res://examples/assets/kenney_assets/robot/character_robot_wide.png" type="Texture" id=9] + +[sub_resource type="Resource" id=1] +resource_name = "character_robot_hold.png" +script = ExtResource( 2 ) +name = "character_robot_hold.png" +image = ExtResource( 4 ) +icon = ExtResource( 5 ) + +[sub_resource type="Resource" id=2] +resource_name = "character_robot_idle.png" +script = ExtResource( 2 ) +name = "character_robot_idle.png" +image = ExtResource( 6 ) +icon = ExtResource( 5 ) + +[sub_resource type="Resource" id=3] +resource_name = "character_robot_show.png" +script = ExtResource( 2 ) +name = "character_robot_show.png" +image = ExtResource( 8 ) +icon = ExtResource( 5 ) + +[sub_resource type="Resource" id=4] +resource_name = "character_robot_talk.png" +script = ExtResource( 2 ) +name = "character_robot_talk.png" +image = ExtResource( 3 ) +icon = ExtResource( 5 ) + +[sub_resource type="Resource" id=5] +resource_name = "character_robot_think.png" +script = ExtResource( 2 ) +name = "character_robot_think.png" +image = ExtResource( 7 ) +icon = ExtResource( 5 ) + +[sub_resource type="Resource" id=6] +resource_name = "character_robot_wide.png" +script = ExtResource( 2 ) +name = "character_robot_wide.png" +image = ExtResource( 9 ) +icon = ExtResource( 5 ) + +[resource] +resource_name = "Robot" +script = ExtResource( 1 ) +color = Color( 1, 1, 1, 1 ) +icon = ExtResource( 5 ) +name = "Robot" +_display_name = "" +blip_sounds = [ ] +portraits = [ SubResource( 1 ), SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ), SubResource( 6 ) ] diff --git a/examples/simple_dialog.gd b/examples/simple_dialog.gd new file mode 100644 index 00000000..bb4ed47e --- /dev/null +++ b/examples/simple_dialog.gd @@ -0,0 +1,20 @@ +extends Node + +# Here is described how you can make a simple dialog in screen +# You can attach this script to any node + +func _ready() -> void: + # First, we create the DialogNode instance. + # We don't use new() because we need the scene, not the base class + var dialog_node := DialogNode.instance() + + # Now, we add it as child of the current node in order to make it + # able to work normally + + # By default, DialogNode will take the whole screen as its rect_size. + # Notice that if you make it child of a Node2D type, you will + # need to set it's rect_size manually + add_child(dialog_node) + + # Finally, we just show the text + dialog_node.show_text("Hello everybody!!!") diff --git a/project.godot b/project.godot index 1cab208d..19f41aa8 100644 --- a/project.godot +++ b/project.godot @@ -37,12 +37,12 @@ _global_script_classes=[ { "base": "Event", "class": "EventCall", "language": "GDScript", -"path": "res://addons/event_system_plugin/events/call.gd" +"path": "res://addons/event_system_plugin/events/call_from.gd" }, { "base": "Event", -"class": "EventCallFrom", +"class": "EventChangeBackground", "language": "GDScript", -"path": "res://addons/event_system_plugin/events/call_from.gd" +"path": "res://examples/VisualNovel/events/change_background.gd" }, { "base": "Event", "class": "EventChangeTimeline", @@ -105,11 +105,21 @@ _global_script_classes=[ { "path": "res://addons/event_system_plugin/nodes/event_manager/event_manager.gd" }, { "base": "Event", +"class": "EventPlayMusic", +"language": "GDScript", +"path": "res://examples/VisualNovel/events/play_music.gd" +}, { +"base": "Event", "class": "EventSet", "language": "GDScript", "path": "res://addons/event_system_plugin/events/set.gd" }, { "base": "Event", +"class": "EventShakeScreen", +"language": "GDScript", +"path": "res://examples/VisualNovel/events/shake_screen.gd" +}, { +"base": "Event", "class": "EventShow", "language": "GDScript", "path": "res://addons/event_system_plugin/events/show.gd" @@ -134,6 +144,11 @@ _global_script_classes=[ { "language": "GDScript", "path": "res://addons/textalog/nodes/dialogue_base_node/portraits_node/portraits_node.gd" }, { +"base": "Camera2D", +"class": "ShakeCamera2D", +"language": "GDScript", +"path": "res://examples/VisualNovel/ShakeCamera/ShakeCamera2D.gd" +}, { "base": "Resource", "class": "Timeline", "language": "GDScript", @@ -146,7 +161,7 @@ _global_script_class_icons={ "DialogNode": "", "Event": "res://addons/event_system_plugin/assets/icons/timeline_icon.png", "EventCall": "", -"EventCallFrom": "", +"EventChangeBackground": "", "EventChangeTimeline": "", "EventCharacterChangeExpression": "", "EventCharacterJoin": "", @@ -159,12 +174,15 @@ _global_script_class_icons={ "EventHide": "", "EventJumpToEvent": "", "EventManager": "", +"EventPlayMusic": "", "EventSet": "", +"EventShakeScreen": "", "EventShow": "", "EventWait": "", "OptionsManager": "", "Portrait": "res://addons/textalog/assets/icons/portrait_icon.png", "PortraitManager": "", +"ShakeCamera2D": "", "Timeline": "res://addons/event_system_plugin/assets/icons/timeline_icon.png" } @@ -208,4 +226,5 @@ translations=PoolStringArray( ) vram_compression/import_etc=true vram_compression/import_etc2=false +environment/default_clear_color=Color( 0, 0, 0, 1 ) environment/default_environment="res://default_env.tres"