diff --git a/dialog/semi_cat.dch b/dialog/semi_cat.dch new file mode 100644 index 0000000..c5ed272 --- /dev/null +++ b/dialog/semi_cat.dch @@ -0,0 +1,19 @@ +{ +"@path": "res://addons/dialogic/Resources/character.gd", +"@subpath": NodePath(""), +"_translation_id": "16", +"color": Color(1, 1, 1, 1), +"custom_info": { +"sound_mood_default": "", +"sound_moods": {}, +"style": "" +}, +"default_portrait": "", +"description": "", +"display_name": "Semi Cat", +"mirror": false, +"nicknames": [""], +"offset": Vector2(0, 0), +"portraits": {}, +"scale": 1.0 +} \ No newline at end of file diff --git a/dialog/semi_cat.dtl b/dialog/semi_cat.dtl new file mode 100644 index 0000000..60ffe50 --- /dev/null +++ b/dialog/semi_cat.dtl @@ -0,0 +1 @@ +semi_cat: Meow! #id:15 diff --git a/dialog/translations/dialogic_character_translations.csv b/dialog/translations/dialogic_character_translations.csv index 955e6a8..58d4dc5 100644 --- a/dialog/translations/dialogic_character_translations.csv +++ b/dialog/translations/dialogic_character_translations.csv @@ -1,3 +1,5 @@ keys,en,de Character/13/name,Defaulty the Default Character,Standardy der Standard Charakter Character/13/nicknames,Defaulty,Standardy +Character/16/name,Semi Cat,Semi Katze +Character/16/nicknames,, diff --git a/dialog/translations/dialogic_semi_cat_translation.csv b/dialog/translations/dialogic_semi_cat_translation.csv new file mode 100644 index 0000000..de45488 --- /dev/null +++ b/dialog/translations/dialogic_semi_cat_translation.csv @@ -0,0 +1,2 @@ +keys,en,de +Text/15/text,Meow!,Miau! diff --git a/dialog/translations/dialogic_semi_cat_translation.csv.import b/dialog/translations/dialogic_semi_cat_translation.csv.import new file mode 100644 index 0000000..c9fab6c --- /dev/null +++ b/dialog/translations/dialogic_semi_cat_translation.csv.import @@ -0,0 +1,17 @@ +[remap] + +importer="csv_translation" +type="Translation" +uid="uid://dd4q6v071u4kp" + +[deps] + +files=["res://dialog/translations/dialogic_semi_cat_translation.en.translation", "res://dialog/translations/dialogic_semi_cat_translation.de.translation"] + +source_file="res://dialog/translations/dialogic_semi_cat_translation.csv" +dest_files=["res://dialog/translations/dialogic_semi_cat_translation.en.translation", "res://dialog/translations/dialogic_semi_cat_translation.de.translation"] + +[params] + +compress=true +delimiter=0 diff --git a/project.godot b/project.godot index 47aa938..438dc29 100644 --- a/project.godot +++ b/project.godot @@ -22,9 +22,11 @@ Dialogic="*res://addons/dialogic/Core/DialogicGameHandler.gd" [dialogic] directories/dch_directory={ -"defaulty_the_default_character": "res://dialog/defaulty_the_default_character.dch" +"defaulty_the_default_character": "res://dialog/defaulty_the_default_character.dch", +"semi_cat": "res://dialog/semi_cat.dch" } directories/dtl_directory={ +"semi_cat": "res://dialog/semi_cat.dtl", "test_time_line": "res://dialog/test_time_line.dtl" } variables={} @@ -59,7 +61,7 @@ translation/add_separator=false translation/intern/save_mode=0 translation/intern/file_mode=1 translation/intern/translation_folder="res://dialog/translations" -translation/id_counter=20 +translation/id_counter=22 translation/locales=["de", "en"] text/autopauses={} @@ -111,7 +113,17 @@ click={ "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null) ] } +interact={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"location":0,"echo":false,"script":null) +] +} [internationalization] -locale/translations=PackedStringArray("res://dialog/translations/dialogic_character_translations.en.translation", "res://dialog/translations/dialogic_test_time_line_translation.de.translation", "res://dialog/translations/dialogic_test_time_line_translation.en.translation", "res://dialog/translations/dialogic_character_translations.de.translation") +locale/translations=PackedStringArray("res://dialog/translations/dialogic_character_translations.en.translation", "res://dialog/translations/dialogic_test_time_line_translation.de.translation", "res://dialog/translations/dialogic_test_time_line_translation.en.translation", "res://dialog/translations/dialogic_character_translations.de.translation", "res://dialog/translations/dialogic_semi_cat_translation.de.translation", "res://dialog/translations/dialogic_semi_cat_translation.en.translation") + +[layer_names] + +3d_physics/layer_1="General" +3d_physics/layer_5="Player" diff --git a/scenes/mockups/abandoned_street_3d.tscn b/scenes/mockups/abandoned_street_3d.tscn index 0469acf..8129887 100644 --- a/scenes/mockups/abandoned_street_3d.tscn +++ b/scenes/mockups/abandoned_street_3d.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=32 format=3 uid="uid://clxs6xfesi82s"] +[gd_scene load_steps=34 format=3 uid="uid://clxs6xfesi82s"] [ext_resource type="Texture2D" uid="uid://cg1cxmqbo1pa" path="res://graphics/mockups/darktree1.png" id="1_u6vd6"] [ext_resource type="Texture2D" uid="uid://fcm6etmmj65d" path="res://graphics/mockups/darktree2.png" id="2_tcvf7"] @@ -16,6 +16,7 @@ [ext_resource type="Texture2D" uid="uid://bcah7lrg2oae1" path="res://graphics/testingground/IveSeenSomeShit.png" id="13_gcssn"] [ext_resource type="Texture2D" uid="uid://dj1syhq0dmf3p" path="res://graphics/testingground/Doll.png" id="14_qxv15"] [ext_resource type="Texture2D" uid="uid://bnb3bjk274vgn" path="res://graphics/testingground/mushroom4.png" id="16_5f343"] +[ext_resource type="Script" path="res://scripts/dialogic_starter.gd" id="16_frq8l"] [ext_resource type="Texture2D" uid="uid://0oy8by6pd2wg" path="res://graphics/testingground/mushroom5.png" id="17_odxxd"] [ext_resource type="Texture2D" uid="uid://b1h55mnc1giqu" path="res://graphics/testingground/mushroom6.png" id="18_i7vrp"] [ext_resource type="Texture2D" uid="uid://c5lsjern0iqmc" path="res://graphics/testingground/mushroom7.png" id="19_yb8aa"] @@ -27,6 +28,7 @@ [ext_resource type="Texture2D" uid="uid://63rgrra0tdef" path="res://graphics/testingground/chestnut2.png" id="25_j83yj"] [ext_resource type="Texture2D" uid="uid://cygt1j1m0vpqg" path="res://graphics/mockups/field_placeholder.png" id="26_7nyv4"] [ext_resource type="PackedScene" uid="uid://de2fn2m114eaw" path="res://scenes/props/Player3D.tscn" id="27_mqdni"] +[ext_resource type="PackedScene" uid="uid://ob04y3syvo0e" path="res://scenes/props/interaction_area.tscn" id="28_h5ibf"] [sub_resource type="PlaneMesh" id="PlaneMesh_8dxh5"] @@ -1252,12 +1254,26 @@ billboard = 1 shaded = true texture = ExtResource("13_gcssn") -[node name="player4" type="Sprite3D" parent="."] +[node name="semi_cat" type="Sprite3D" parent="."] transform = Transform3D(0.04, 0, 0, 0, 0.04, 0, 0, 0, 0.04, -0.568754, 0.116035, -0.275782) billboard = 1 shaded = true texture = ExtResource("14_qxv15") +[node name="InteractionArea" parent="semi_cat" instance=ExtResource("28_h5ibf")] +transform = Transform3D(2.875, 0, 0, 0, 2.875, 0, 0, 0, 2.875, 0, -1.698, 0) + +[node name="Dialogic" type="Node" parent="semi_cat"] +script = ExtResource("16_frq8l") + +[node name="Label3D" type="Label3D" parent="semi_cat"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.92228, 1.02561, -4.76837e-07) +billboard = 1 +no_depth_test = true +alpha_antialiasing_mode = 1 +text = "Cat ->" +font_size = 188 + [node name="details" type="Node" parent="."] [node name="mushroom" type="Sprite3D" parent="details"] @@ -1360,3 +1376,5 @@ texture = ExtResource("26_7nyv4") [node name="Player3d" parent="." instance=ExtResource("27_mqdni")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.110292, 0.0067718, 0.0825893) + +[connection signal="interacted" from="semi_cat/InteractionArea" to="semi_cat/Dialogic" method="open" binds= ["semi_cat"]] diff --git a/scenes/props/Player3D.tscn b/scenes/props/Player3D.tscn index 4362d29..6ca8670 100644 --- a/scenes/props/Player3D.tscn +++ b/scenes/props/Player3D.tscn @@ -11,6 +11,8 @@ height = 0.234557 [node name="Player3d" type="Node3D"] [node name="CharacterBody3D" type="CharacterBody3D" parent="."] +collision_layer = 16 +collision_mask = 17 script = ExtResource("1_08wm4") SPEED = 0.5 diff --git a/scenes/props/interaction_area.tscn b/scenes/props/interaction_area.tscn new file mode 100644 index 0000000..ecc7705 --- /dev/null +++ b/scenes/props/interaction_area.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=3 format=3 uid="uid://ob04y3syvo0e"] + +[ext_resource type="Script" path="res://scripts/interaction_area.gd" id="1_26v5g"] + +[sub_resource type="SphereShape3D" id="SphereShape3D_i8sim"] +radius = 1.0 + +[node name="InteractionArea" type="Node3D"] +script = ExtResource("1_26v5g") + +[node name="Area3D" type="Area3D" parent="."] +collision_layer = 0 +collision_mask = 16 + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D"] +shape = SubResource("SphereShape3D_i8sim") diff --git a/scripts/dialogic_starter.gd b/scripts/dialogic_starter.gd new file mode 100644 index 0000000..8454031 --- /dev/null +++ b/scripts/dialogic_starter.gd @@ -0,0 +1,5 @@ +extends Node +class_name DialogicStarter + +func open(timeline: String): + Dialogic.start(timeline) diff --git a/scripts/interaction_area.gd b/scripts/interaction_area.gd new file mode 100644 index 0000000..9e6c02c --- /dev/null +++ b/scripts/interaction_area.gd @@ -0,0 +1,9 @@ +extends Node3D + +@onready var area_3d: Area3D = $Area3D + +signal interacted + +func _input(event: InputEvent) -> void: + if event.is_action("interact") && event.is_pressed() && area_3d.has_overlapping_bodies(): + interacted.emit()