From 33dd1d978b54f89a5e6b11046c2b6f8772926312 Mon Sep 17 00:00:00 2001 From: betalars Date: Mon, 23 Mar 2026 19:41:54 +0100 Subject: [PATCH] chat bubble theming and import --- design/contributions.md | 4 +- .../volunteer_room/scenes/smartphone.tscn | 35 + .../import/textures/dice_data.png.import | 42 + src/internationalisation.csv | 124 +- .../chat_view/Progress_Titan_background.png | 3 + .../Progress_Titan_background.png.import | 40 + .../chat_view/Progress_Titan_background.svg | 816 ++++++++++ .../Progress_Titan_background.svg.import | 43 + .../chat_view/Vector_Driving_background.png | 3 + .../Vector_Driving_background.png.import | 40 + .../chat_view/Vector_Driving_background.svg | 813 ++++++++++ .../Vector_Driving_background.svg.import | 43 + src/logic-scenes/chat_view/avatar_fabian.svg | 723 +++++++++ .../chat_view/avatar_fabian.svg.import | 43 + src/logic-scenes/chat_view/chat-message.gd | 12 +- src/logic-scenes/chat_view/chat-view.gd | 23 +- src/logic-scenes/chat_view/chat-view.tscn | 1339 ++++++++++++++++- src/logic-scenes/chat_view/chat_bubble.gd | 18 +- .../chat_view/conversation-brother.tres | 838 ++++++++++- src/logic-scenes/chat_view/message_other.tscn | 10 +- src/logic-scenes/chat_view/message_self.tscn | 8 +- .../chat_view/style-chat-bubble-notify.tres | 15 + .../chat_view/style-chat-bubble-self.tres | 9 +- .../chat_view/style-chat-bubble.tres | 16 +- 24 files changed, 4895 insertions(+), 165 deletions(-) create mode 100644 src/base-environments/volunteer_room/scenes/smartphone.tscn create mode 100644 src/base-environments/youth_room/import/textures/dice_data.png.import create mode 100644 src/logic-scenes/chat_view/Progress_Titan_background.png create mode 100644 src/logic-scenes/chat_view/Progress_Titan_background.png.import create mode 100644 src/logic-scenes/chat_view/Progress_Titan_background.svg create mode 100644 src/logic-scenes/chat_view/Progress_Titan_background.svg.import create mode 100644 src/logic-scenes/chat_view/Vector_Driving_background.png create mode 100644 src/logic-scenes/chat_view/Vector_Driving_background.png.import create mode 100644 src/logic-scenes/chat_view/Vector_Driving_background.svg create mode 100644 src/logic-scenes/chat_view/Vector_Driving_background.svg.import create mode 100644 src/logic-scenes/chat_view/avatar_fabian.svg create mode 100644 src/logic-scenes/chat_view/avatar_fabian.svg.import create mode 100644 src/logic-scenes/chat_view/style-chat-bubble-notify.tres diff --git a/design/contributions.md b/design/contributions.md index ab50f7b1..ce34485e 100644 --- a/design/contributions.md +++ b/design/contributions.md @@ -65,7 +65,9 @@ + [Ghostwriter]() by kde + [Queen of Fire](https://www.peppercarrot.com/en/viewer/artworks__2023-05-18_Queen-of-Fire_by-David-Revoy.html), [Magic system of hereva](https://www.peppercarrot.com/en/viewer/artworks__2015-06-08_magic-system-of-hereva_by-David-Revoy.html), [Character design for a hippiah witch](https://www.peppercarrot.com/en/viewer/artworks__2020-01-03_character-design-for-a-hippiah-witch_by-David-Revoy.html), [Pepper and Carrot Book 4](https://www.drivethrucomics.com/product/385896/PepperCarrot--Book-4-Everything-Changes?src=shop) and [Saffron steampunk clothes](https://www.peppercarrot.com/en/viewer/artworks__2020-05-09_Saffron-steampunk-clothes_by-David-Revoy.html) by [David Revoy](https://www.peppercarrot.com/en/about/index.html), [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.en) + [Procesa, the sea witch](https://katharsisdrill.art/cc_images/Procesa_the_sea_witch.png), [Arkariater](https://katharsisdrill.art/cc_images/Arkariater.png), [Cryo hamber](https://katharsisdrill.art/cc_images/Cryo_Chamber.png) and [Caladrabn](https://katharsisdrill.art/cc_images/Caladrabn.png), by [Katharsisdrill](https://katharsisdrill.art), [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.en) (CW: Nudity, Body Horror) - + [Flow © Dream Well Studio](https://www.blender.org/download/releases/4-4/) by [Sacrebleu Productions, Take Five](https://flow.movie/), Splash Artwork Image licensed under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en) + + [Flow © Dream Well Studio](https://www.blender.org/download/releases/4-4/) by [Sacrebleu Productions, Take Five](https://flow.movie/), Splash Artwork Image licensed under [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en) + + [Titans of Growth](https://inkscape.org/~rafael_clemos/%E2%98%85titans-of-growth), by [Rafael Cundari](https://inkscape.org/~rafael_clemos/), [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) + + [Vector Driving](https://inkscape.org/~atareumco/%E2%98%85vector-driving), by [atareumco](https://inkscape.org/~atareumco/), [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/) ## Pen and Paper Rulebooks - [Dungeons and Dragons](https://www.dndbeyond.com/) by Wizards of the Cost, Creative commons, [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/deed.en) diff --git a/src/base-environments/volunteer_room/scenes/smartphone.tscn b/src/base-environments/volunteer_room/scenes/smartphone.tscn new file mode 100644 index 00000000..8045cf93 --- /dev/null +++ b/src/base-environments/volunteer_room/scenes/smartphone.tscn @@ -0,0 +1,35 @@ +[gd_scene format=3 uid="uid://jo5snwo3hljg"] + +[ext_resource type="PackedScene" uid="uid://dgb7x8na0ek57" path="res://logic-scenes/chat_view/chat-view.tscn" id="1_vqupd"] + +[sub_resource type="ViewportTexture" id="ViewportTexture_5qql1"] +viewport_path = NodePath("SubViewport") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ygcau"] +resource_local_to_scene = true +albedo_color = Color(0.044782206, 0.0447822, 0.04478219, 1) +emission_enabled = true +emission_texture = SubResource("ViewportTexture_5qql1") + +[sub_resource type="QuadMesh" id="QuadMesh_e1tec"] +size = Vector2(0.65, 1.024) + +[node name="Node3D" type="Node3D" unique_id=1742269201] + +[node name="Camera3D" type="Camera3D" parent="." unique_id=564214091] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.6039121) +fov = 39.2 + +[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=547658224] +material_override = SubResource("StandardMaterial3D_ygcau") +mesh = SubResource("QuadMesh_e1tec") +skeleton = NodePath("../Camera3D") + +[node name="SubViewport" type="SubViewport" parent="." unique_id=492907135] +size = Vector2i(650, 1024) + +[node name="PhoneScreen" parent="SubViewport" unique_id=422469732 instance=ExtResource("1_vqupd")] +offset_right = 429.65 +offset_bottom = 53.247925 + +[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=302949429] diff --git a/src/base-environments/youth_room/import/textures/dice_data.png.import b/src/base-environments/youth_room/import/textures/dice_data.png.import new file mode 100644 index 00000000..c0cb1261 --- /dev/null +++ b/src/base-environments/youth_room/import/textures/dice_data.png.import @@ -0,0 +1,42 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bsx3i6hk4el4c" +path.bptc="res://.godot/imported/dice_data.png-1ec43a14a303cea8f462a7635530fe46.bptc.ctex" +path.astc="res://.godot/imported/dice_data.png-1ec43a14a303cea8f462a7635530fe46.astc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://base-environments/youth_room/import/textures/dice_data.png" +dest_files=["res://.godot/imported/dice_data.png-1ec43a14a303cea8f462a7635530fe46.bptc.ctex", "res://.godot/imported/dice_data.png-1ec43a14a303cea8f462a7635530fe46.astc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=true +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/src/internationalisation.csv b/src/internationalisation.csv index 690ff32b..605d5f92 100644 --- a/src/internationalisation.csv +++ b/src/internationalisation.csv @@ -613,67 +613,67 @@ menu_a11y_statement,Open Information on Accessibility,Informationen zu Barrieref thank_you_beta_title,Thanks for contributing to the beta!,Danke für deinen Beitrag zur Beta!,,, thank_you_beta_text,"We hope you enjoyed playing our game. If you did, and especially if you didn’t, please take some time to fill out our feedback form. This will help us find some little things we can still enhance to make Frame of Mind as good as it can be for it’s release.","Wir hoffen dir hat unser Spiel gefallen. Wenn es das getan hat, und insbesondere, wenn das das nicht getan hat, nimm dir bitte ein wenig Zeit für unseren Feedback-Bogen. Das hilft uns noch ein paar Ecken und Kanten zu finden, die wir vor der Veröffentlichung noch fixen können.",,, beta_quit,quit and open survey,Schließen und Fragebogen öffnen,,, -,Sorry.,Sorry.,,, -,I never knew what to say. Can I write instead?,"Ich wusste nie, was ich sagen sollte. Kann ich statt dessen schreiben?",,, -,"Okay, so you are sorry? How does that help me feel like having a caring brother?","Okay, also es tut mir leid. Inwieweit hilft das dabei, einmal in meinem Leben getröstet zu werden?",,, -,"Xavier, I … words.","Xavier, ich … Worte!",,, -,"You know I cared. But: too many emotions. It feels like no matter what I say you get angrier and hate me more and then I say nothing, but that’s wrong again.","Du weißt du bist mir nicht egal. Aber zu viele Emotionen. Egal, was ich sage es hat dich irgendwie immer wütend gemacht, also habe ich irgendwann nichts gesagt, aber das ist auch wieder falsch.",,, -,So it’s about you again. Sorry for thinking it was about me for once.,"Okay, also geht es wieder um dich. Tut mir leid, dass ich dachte es ginge einmal um mich.",,, -,:c,:c,,, -,I’m sorry.,Es tut mir leid.,,, -,"No, I did it … agaiksjdasd. You’re hurt.","Nein, ich mein … ahfdljhasdfag. Du bist verletzt.",,, -,I just want to know if you ever considered how it felt to me?,"Hat es dich je interessiert, wie ich mich fühle?",,, -,Did you even see the discrepency?,"Und merkst du, dass es nicht fair ist?",,, -,Yes. I’ve been confused and overwhealmed.,Ja. Ich war verwirrt und überlastet.,,, -,That I didn’t get to have needs?,"Darüber, dass ich keine Bedürfnisse haben durfte?",,, -,"Okay, what’s so confusing?","Okay, was daran ist verwirrend?",,, -,That you never told your needs?,Dass du deine Bedürfnisse nie gesagt hast?,,, -,I’m sorry that I didn’t communicate my needs?!,"Es tut mir leid, dass ich meine Bedürfnisse nicht gesagt habe?!",,, -,My dear parents seemed so concerned with their special needs kids that I kind of learned my non-special needs just didn’t really matter in the grand scheme of things.,"Meine guten Eltern waren so sehr bei ihrem armen Kind mit besonderen Bedürfnissen, dass ihr anderes Kind gelernt hat, dass deren Bedürfnisse doch gar nicht so besonders sind im Großen und Ganzen.",,, -,But you didn’t want them worrying about you? You were always so upset when mom tried to care for you?,"Aber du wolltest doch nicht, dass sie sich Sorgen machen? Du warst immer wütend, wenn Mom sich irgendwie gekümmert hat?",,, -,"And I always felt like you didn’t want to be like me. It has been like this for as long as I can think so I never asked myself, why?","Und solang ich mich erinnern kann, wolltest du nicht so sein wie ich. Das habe ich einfach nicht hinterfragt.",,, -,Why would I want to be like you? I know I don’t have your disability. So why be a burdon when you are always the bigger problem?,"Warum würde ich wie du sein sollen? Ich habe nicht deine Behinderung. Also warum sollte ich unsere Eltern noch weiter belasten, wenn du das größere Problem bist?",,, -,I just need to do things myself.,Ich muss halt Dinge alleine machen.,,, -,I also thought you don’t like it when mom does that?,"Ich dachte auch, dass du es nicht leiden kannst, wenn Mom das tut. =.=",,, -,"Okay, go on …","Okay, dünnes Eis …",,, -,We always had to play guessing games with her needs. And I hate guessing needs.,"Wir durften immer raten, was ihre Bedürfnisse sind. Und ich hasse Bedürfnisse raten.",,, -,It’s always so stressful and colvouted and I didn’t want to do that to you so I told you about all my needs so you wouldn’t worry.,"Es ist einfach nur Stress und den wollte ich dir nicht antun, also habe ich dir einfach erzählt, was los ist, damit du es weißt und dir keine Sorgen machen musst.",,, -,And I thought you talked to me because you’re interested. But you were worried.,"Und ich dachte du redest mit mir, weil dich das interessiert. Aber du hast dir doch Sorgen gemacht.",,, -,I guess that plan didn’t work out so well.,Ratsupaltuff.,,, -,You know what my need is? I need a brother that is not just big in terms of age and that won’t occupy my parents so much they constantly forget about their second child.,"Weißt du, was mir helfen würde? Ein Bruder, der nicht nur dem Alter nach groß ist und meine Eltern nicht so hart auslastet, dass sie ständig ihr zweites Kind vergessen!",,, -,Xaaaavier. I’ll have your back as soon as I get our parents off mine.,"Xaaaavier. Ich komm auf dich zurück, sobald ich meine Eltern nicht mehr am Hals habe.",,, -,And you’re still my smallest big brother. I want to help you when you’re in trouble.,Und du bist halt auch irgendwie mein kleinster großer Bruder. Ich werde dir immer helfen.,,, -,But you never said you didn’t need that help?,Und du hast mir nie gesagt du brauchst meinen Support nicht?,,, -,It’s not exactly easy to tell mom to stop doing things for me. I feel like the best case is her doing it anyway so it would’t become a family drama and worst case she does it anyway because it became a family drama.,"Naja versuch halt mal Mom davon zu überzeugen, mich nicht zu bemutteln. Gefühlt best case ist: sie tut es trotzdem, damit es kein Familiendrama gibt und worst Case: sie tut es trotzdem, weil es ein Familiendrama gab.",,, -,I hope you see that irony yourself. Because I see it and I’m autistic. :P,Ich hoffe du siehst die Ironie selbst. Ich seh dir sogar und ich bin autistisch.,,, -,>:c,>:c,,, -,"You frown in text, you smile irl. That is confusing. I have Autism.","Unglückliches Smiley, glückliches Gesicht, das ist verwirrend. Ich habe Autismus.",,, -,You have smart-ass.,Du hast Klugscheißer.,,, -,Must be comorbid. With my autism. xD,Muss komorbid sein. Mit meinem Autismus. xD,,, -,"That’s why we don’t have good autism representation. If anyone wrote like that, half the community would be fuming.",Genau wegen sowas haben wir keine Autismusrepresentation. Wenn das irgendwer so schreiben würde ... die Hälfte der Community würde explodieren.,,, -,Bazinga!,Bazinga!,,, -,Oh ffs. You know what would help me communitate needs? You asking about them once in a while.,"Oh ffs. Weißt du, was mir helfen würde? Wenn du ab und zu einfach mal nachfragst.",,, -,Do you want to complain or hear the insight I had?,Möchtest du gerade schimpfen oder dir meine Erkenntnis anhören?,,, -,AAAH,AAAH,,, -,"shit, sorry. I didn’t intend that to sound passive aggressive! /genuine","Mist, sorry. Das war nicht passiv aggressiv gemeint. /genuine",,, -,Why would you be passive aggressive? You have Autism! /joking,Warum würdest du passiv-aggressiv sein? Du hast Autismus! /joking,,, -,Mow ._.,Mow ._.,,, -,Go ahead.,Erzähl.,,, -,I always wondered why you are doing so little eye contact. Even I noticed that and I’m not doing much eye contact.,"Ich habe mich immer gefragt, warum du so wenig Augenkontakt machst. Das ist selbst mir aufgefallen und ich mache nicht so viel Augenkontakt.",,, -,Yes?,Jaaa?,,, -,And you seem to be born as the gender that according to science never has childhood autism until 20 years and many bs diagnoses later.,"Und du bist halt irgendwie in dem Geschlecht aufgewachsen, dass in der Kindheit nie Autismus hatte bis 20 Jahre und lauter bs Diagnosen später.",,, -,oO,oO,,, -,And dinner always was a sensory nightmare.,Und Abendbrot war auch so ein sensorischer Alptraum.,,, -,Social and sensory.,Sozial und sensorisch.,,, -,And I think Mrs Muler redacted points from both of us for claiming baking a cake involves both Physics and Chemistry.,"Und Frau Müller hat uns beiden mit Punkte dafür abgezogen, dass Kuchen Backen sowohl Chemie als auch Physik ist.",,, -,"Apparently it took her only 3 years to forgot mom complaining to her about it, the same time it took mom to forget she would complain about stuff like that.","Scheint wohl nur drei Jahre gebraucht zu haben, dass sie Moms Beschwerde darüber vergessen hat. Scheint die gleiche Zeit für Mom zu vergessen, dass sie sich über sowas beschweren würde.",,, -,My class remembered for longer than that. :c,Also meine Klasse hat sich länger dran erinnert. :c,,, -,"And come to think of it, how do all your social struggles suddently vanish when you are on an improv stage with clearly defined roles and expectations?","Und wo ich so darüber nachdenke. Es ist schon spannend, dass deine sozialen Problemchen im Improv-Theater plötzlich nicht existiert haben, wo es klar definierte Rollen und Erwartungen gibt.",,, -,I mean: is that a bad thing?,Ist das schlecht?,,, -,It’s not bad. It’s just very confusing because I didn’t think you’d want to be like me.,"Nein, ist es nicht. Es ist nur verwirrend, wenn ich davon ausgehe, dass du nicht so sein möchtest, wie ich.",,, -,Would you kindly get to the point where I feel undersstood?,"Könntest du bitte zu dem Punkt kommen, an dem ich mich verstanden fühle?",,, -,"I always knew you didn’t want to be like me. +chat.fabian.01,Sorry.,Sorry.,,, +chat.fabian.02,I never knew what to say. Can I write instead?,"Ich wusste nie, was ich sagen sollte. Kann ich statt dessen schreiben?",,, +chat.xavier.03,"Okay, so you are sorry? How does that help me feel like having a caring brother?","Okay, es tut dir leid. Inwieweit hilft das dabei, einmal in meinem Leben getröstet zu werden?",,, +chat.fabian.04,"Xavier, I … words.","Xavier, ich … Worte!",,, +chat.fabian.05,"You know I cared. But: too many emotions. It feels like no matter what I say you get angrier and hate me more and then I say nothing, but that’s wrong again.","Du weißt du bist mir nicht egal. Aber zu viele Emotionen. Egal, was ich sage es hat dich irgendwie immer wütend gemacht, also habe ich irgendwann nichts gesagt, aber das ist auch wieder falsch.",,, +chat.xavier.06,So it’s about you again. Sorry for thinking it was about me for once.,"Okay, also geht es wieder um dich. Tut mir leid, dass ich dachte es ginge einmal um mich.",,, +chat.fabian.07,:c,:c,,, +chat.fabian.08,I’m sorry.,Es tut mir leid.,,, +chat.fabian.09,"No, I did it … agaiksjdasd. You’re hurt.","Nein, ich mein … ahfdljhasdfag. Du bist verletzt.",,, +chat.xavier.10,I just want to know if you ever considered how it felt to me?,"Hat es dich je interessiert, wie ich mich fühle?",,, +chat.xavier.11,Did you even see the discrepency?,"Und merkst du, dass es nicht fair ist?",,, +chat.fabian.12,Yes. I’ve been confused and overwhealmed.,Ja. Ich war verwirrt und überlastet.,,, +chat.xavier.13,That I didn’t get to have needs?,"Darüber, dass ich keine Bedürfnisse haben durfte?",,, +chat.xavier.14,"Okay, what’s so confusing?","Okay, was daran ist verwirrend?",,, +chat.fabian.15,That you never told your needs?,Dass du deine Bedürfnisse nie gesagt hast?,,, +chat.xavier.16,I’m sorry that I didn’t communicate my needs?!,"Es tut mir leid, dass ich meine Bedürfnisse nicht gesagt habe?!",,, +chat.xavier.17,My dear parents seemed so concerned with their special needs kids that I kind of learned my non-special needs just didn’t really matter in the grand scheme of things.,"Meine guten Eltern waren so sehr bei ihrem armen Kind mit besonderen Bedürfnissen, dass ihr anderes Kind gelernt hat, dass deren Bedürfnisse doch gar nicht so besonders sind im Großen und Ganzen.",,, +chat.fabian.18,But you didn’t want them worrying about you? You were always so upset when mom tried to care for you?,"Aber du wolltest doch nicht, dass sie sich Sorgen machen? Du warst immer wütend, wenn Mom sich irgendwie gekümmert hat?",,, +chat.fabian.19,"And I always felt like you didn’t want to be like me. It has been like this for as long as I can think so I never asked myself, why?","Und solang ich mich erinnern kann, wolltest du nicht so sein wie ich. Das habe ich einfach nicht hinterfragt.",,, +chat.xavier.20,Why would I want to be like you? I know I don’t have your disability. So why be a burdon when you are always the bigger problem?,"Warum würde ich wie du sein sollen? Ich habe nicht deine Behinderung. Also warum sollte ich unsere Eltern noch weiter belasten, wenn du das größere Problem bist?",,, +chat.xavier.21,I just need to do things myself.,Ich muss halt Dinge alleine machen.,,, +chat.fabian.22,You seem to be doing a mom thin that you don’t like yourself when she does that.,"Ich dachte auch, dass du es nicht leiden kannst, wenn Mom das tut. =.=",,, +chat.xavier.23,"Okay, thin ice …","Okay, dünnes Eis …",,, +chat.fabian.24,We always had to play guessing games with her needs. And I hate guessing needs.,"Wir durften immer raten, was ihre Bedürfnisse sind. Und ich hasse Bedürfnisse raten.",,, +chat.fabian.25,It’s always so stressful and colvouted and I didn’t want to do that to you so I told you about all my needs so you wouldn’t worry.,"Es ist einfach nur Stress und den wollte ich dir nicht antun, also habe ich dir einfach erzählt, was los ist, damit du es weißt und dir keine Sorgen machen musst.",,, +chat.fabian.26,And I thought you talked to me because you’re interested. But you were worried.,"Und ich dachte du redest mit mir, weil dich das interessiert. Aber du hast dir doch Sorgen gemacht.",,, +chat.fabian.27,I guess that plan didn’t work out so well.,Ratsupaltuff.,,, +chat.xavier.28,You know what my need is? I need a brother that is not just big in terms of age and that won’t occupy my parents so much they constantly forget about their second child.,"Weißt du, was mir helfen würde? Ein Bruder, der nicht nur dem Alter nach groß ist und meine Eltern nicht so hart auslastet, dass sie ständig ihr zweites Kind vergessen!",,, +chat.fabian.29,Xaaaavier. I’ll have your back as soon as I get our parents off mine.,"Xaaaavier. Ich komm auf dich zurück, sobald ich meine Eltern nicht mehr am Hals habe.",,, +chat.xavier.30,And you’re still my smallest big brother. I want to help you when you’re in trouble.,Und du bist halt auch irgendwie mein kleinster großer Bruder. Ich werde dir immer helfen.,,, +chat.xavier.31,But you never said you didn’t need that help?,Und du hast mir nie gesagt du brauchst meinen Support nicht?,,, +chat.fabian.32,It’s not exactly easy to tell mom to stop doing things for me. I feel like the best case is her doing it anyway so it would’t become a family drama and worst case she does it anyway because it became a family drama.,"Naja versuch halt mal Mom davon zu überzeugen, mich nicht zu bemutteln. Gefühlt best case ist: sie tut es trotzdem, damit es kein Familiendrama gibt und worst Case: sie tut es trotzdem, weil es ein Familiendrama gab.",,, +chat.fabian.33,I hope you see that irony yourself. Because I see it and I’m autistic. :P,Ich hoffe du siehst die Ironie selbst. Ich seh dir sogar und ich bin autistisch.,,, +chat.xavier.34,>:c,>:c,,, +chat.fabian.35,"You frown in text, you smile irl. That is confusing. I have Autism.","Unglückliches Smiley, glückliches Gesicht, das ist verwirrend. Ich habe Autismus.",,, +chat.xavier.36,You have smart-ass.,Du hast Klugscheißer.,,, +chat.fabian.37,Must be comorbid. With my autism. xD,Muss komorbid sein. Mit meinem Autismus. xD,,, +chat.xavier.38,"That’s why we don’t have good autism representation. If anyone wrote like that, half the community would be fuming.",Genau wegen sowas haben wir keine Autismusrepresentation. Wenn das irgendwer so schreiben würde ... die Hälfte der Community würde explodieren.,,, +chat.fabian.39,Bazinga!,Bazinga!,,, +chat.xavier.40,Oh ffs. You know what would help me communitate needs? You asking about them once in a while.,"Oh ffs. Weißt du, was mir helfen würde? Wenn du ab und zu einfach mal nachfragst.",,, +chat.fabian.41,Do you want to complain or hear the insight I had?,Möchtest du gerade schimpfen oder dir meine Erkenntnis anhören?,,, +chat.fabian.42,AAAH,AAAH,,, +chat.fabian.43,"shit, sorry. I didn’t intend that to sound passive aggressive! /genuine","Mist, sorry. Das war nicht passiv aggressiv gemeint. /genuine",,, +chat.xavier.44,Why would you be passive aggressive? You have Autism! /joking,Warum würdest du passiv-aggressiv sein? Du hast Autismus! /joking,,, +chat.fabian.45,Mow ._.,Mow ._.,,, +chat.xavier.46,Go ahead.,Erzähl.,,, +chat.fabian.47,I always wondered why you are doing so little eye contact. Even I noticed that and I’m not doing much eye contact.,"Ich habe mich immer gefragt, warum du so wenig Augenkontakt machst. Das ist selbst mir aufgefallen und ich mache nicht so viel Augenkontakt.",,, +chat.xavier.48,Yes?,Jaaa?,,, +chat.fabian.49,And you seem to be born as the gender that according to science never has childhood autism until 20 years and many bs diagnoses later.,"Und du bist halt irgendwie in dem Geschlecht aufgewachsen, dass in der Kindheit nie Autismus hatte bis 20 Jahre und lauter bs Diagnosen später.",,, +chat.xavier.50,oO,oO,,, +chat.fabian.51,And dinner always was a sensory nightmare.,Und Abendbrot war auch so ein sensorischer Alptraum.,,, +chat.xavier.52,Social and sensory.,Sozial und sensorisch.,,, +chat.fabian.53,And I think Mrs Muler redacted points from both of us for claiming baking a cake involves both Physics and Chemistry.,"Und Frau Müller hat uns beiden mit Punkte dafür abgezogen, dass Kuchen Backen sowohl Chemie als auch Physik ist.",,, +chat.xavier.54,"Apparently it took her only 3 years to forgot mom complaining to her about it, the same time it took mom to forget she would complain about stuff like that.","Scheint wohl nur drei Jahre gebraucht zu haben, dass sie Moms Beschwerde darüber vergessen hat. Scheint die gleiche Zeit für Mom zu vergessen, dass sie sich über sowas beschweren würde.",,, +chat.fabian.55,My class remembered for longer than that. :c,Also meine Klasse hat sich länger dran erinnert. :c,,, +chat.fabian.56,"And come to think of it, how do all your social struggles suddently vanish when you are on an improv stage with clearly defined roles and expectations?","Und wo ich so darüber nachdenke. Es ist schon spannend, dass deine sozialen Problemchen im Improv-Theater plötzlich nicht existiert haben, wo es klar definierte Rollen und Erwartungen gibt.",,, +chat.xavier.57,I mean: is that a bad thing?,Ist das schlecht?,,, +chat.fabian.58,It’s not bad. It’s just very confusing because I didn’t think you’d want to be like me.,"Nein, ist es nicht. Es ist nur verwirrend, wenn ich davon ausgehe, dass du nicht so sein möchtest, wie ich.",,, +chat.fabian.59,Would you kindly get to the point where I feel undersstood?,"Könntest du bitte zu dem Punkt kommen, an dem ich mich verstanden fühle?",,, +chat.fabian.60,"I always knew you didn’t want to be like me. And it didn’t make sense to me, because I felt like we had a lot in common.","Ich wusste immer, dass du nicht so sein möchtest, wie ich. Und das war verwirrend, weil ich hatte immer das Gefühl wir waren uns sehr ähnlich.",,, -,"But if you are like me and you’re scared of being like me, then you’re scared of being yourself.","Aber wenn du Angst hast wie ich zu sein, und wenn du wie ich bist, dann hast du Angst du selbst zu sein.",,, -,"And I think this is the first time that the more I think about you, the less I am confused.","Und das ist mir gerade zum ersten mal aufgefallen und je mehr ich darüber nachdenke, desto weniger verwirrt bin ich.",,, +chat.fabian.61,"But if you are like me and you’re scared of being like me, then you’re scared of being yourself.","Aber wenn du Angst hast wie ich zu sein, und wenn du wie ich bist, dann hast du Angst du selbst zu sein.",,, +chat.fabian.62,"And I think this is the first time that the more I think about you, the less I am confused.","Und das ist mir gerade zum ersten mal aufgefallen und je mehr ich darüber nachdenke, desto weniger verwirrt bin ich.",,, diff --git a/src/logic-scenes/chat_view/Progress_Titan_background.png b/src/logic-scenes/chat_view/Progress_Titan_background.png new file mode 100644 index 00000000..31544c8c --- /dev/null +++ b/src/logic-scenes/chat_view/Progress_Titan_background.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37b7810b917c09a004d306a59d161e772e9addd4366474e44b068d97c4925424 +size 271692 diff --git a/src/logic-scenes/chat_view/Progress_Titan_background.png.import b/src/logic-scenes/chat_view/Progress_Titan_background.png.import new file mode 100644 index 00000000..0fd5172f --- /dev/null +++ b/src/logic-scenes/chat_view/Progress_Titan_background.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://csw3dng5li77h" +path="res://.godot/imported/Progress_Titan_background.png-d289400e6e3a57d5781db5b1f66e0cfc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://logic-scenes/chat_view/Progress_Titan_background.png" +dest_files=["res://.godot/imported/Progress_Titan_background.png-d289400e6e3a57d5781db5b1f66e0cfc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/src/logic-scenes/chat_view/Progress_Titan_background.svg b/src/logic-scenes/chat_view/Progress_Titan_background.svg new file mode 100644 index 00000000..39cf0ea3 --- /dev/null +++ b/src/logic-scenes/chat_view/Progress_Titan_background.svg @@ -0,0 +1,816 @@ + +Vector Drivinglogo (Andrew Michael Fitzsimon), logotype (Christopher Rogers), template creators (Lazur, Adam Belis, Inkscape Contributors) - Fonts: 1) 'Inkscape' is Linux Libertine. 2) Tag line is Euphoria Script. +The font used is 'Poppins': https://fonts.google.com/specimen/Poppins?query=poppins2024inkscape.orghttps://inkscape.org/community/about-screen-contests/english (US)about screencontesttemplate20241.4This is the template which the about screen for the 1.4 version will use. +The branding layer should be unaltered. +Use the layer named "Your Artwork Here" for creating your artwork.RCLEMOSVector Driving diff --git a/src/logic-scenes/chat_view/Progress_Titan_background.svg.import b/src/logic-scenes/chat_view/Progress_Titan_background.svg.import new file mode 100644 index 00000000..fd1f6c96 --- /dev/null +++ b/src/logic-scenes/chat_view/Progress_Titan_background.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4ca5m5gbm8gp" +path="res://.godot/imported/Progress_Titan_background.svg-ed2a3dbaaacba2594276159d009ca46f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://logic-scenes/chat_view/Progress_Titan_background.svg" +dest_files=["res://.godot/imported/Progress_Titan_background.svg-ed2a3dbaaacba2594276159d009ca46f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/src/logic-scenes/chat_view/Vector_Driving_background.png b/src/logic-scenes/chat_view/Vector_Driving_background.png new file mode 100644 index 00000000..deb6db1d --- /dev/null +++ b/src/logic-scenes/chat_view/Vector_Driving_background.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f37e6e7c337e9720a31ab087058eb060d85840fa1f9b5087564d66bb315014f +size 112199 diff --git a/src/logic-scenes/chat_view/Vector_Driving_background.png.import b/src/logic-scenes/chat_view/Vector_Driving_background.png.import new file mode 100644 index 00000000..c84ae2a4 --- /dev/null +++ b/src/logic-scenes/chat_view/Vector_Driving_background.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2lgn3ngtl6fc" +path="res://.godot/imported/Vector_Driving_background.png-ec6f996e37ea2438aa108637982b6d5f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://logic-scenes/chat_view/Vector_Driving_background.png" +dest_files=["res://.godot/imported/Vector_Driving_background.png-ec6f996e37ea2438aa108637982b6d5f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/src/logic-scenes/chat_view/Vector_Driving_background.svg b/src/logic-scenes/chat_view/Vector_Driving_background.svg new file mode 100644 index 00000000..77c9f08e --- /dev/null +++ b/src/logic-scenes/chat_view/Vector_Driving_background.svg @@ -0,0 +1,813 @@ + +Vector Drivinglogo (Andrew Michael Fitzsimon), logotype (Christopher Rogers), template creators (Lazur, Adam Belis, Inkscape Contributors) - Fonts: 1) 'Inkscape' is Linux Libertine. 2) Tag line is Euphoria Script. +The font used is 'Poppins': https://fonts.google.com/specimen/Poppins?query=poppins2024inkscape.orghttps://inkscape.org/community/about-screen-contests/english (US)about screencontesttemplate20241.4This is the template which the about screen for the 1.4 version will use. +The branding layer should be unaltered. +Use the layer named "Your Artwork Here" for creating your artwork.RCLEMOSVector Driving diff --git a/src/logic-scenes/chat_view/Vector_Driving_background.svg.import b/src/logic-scenes/chat_view/Vector_Driving_background.svg.import new file mode 100644 index 00000000..773e2a4c --- /dev/null +++ b/src/logic-scenes/chat_view/Vector_Driving_background.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cg2rfy78y00gv" +path="res://.godot/imported/Vector_Driving_background.svg-441687d5c58fde29e3987d2a7c7c13b5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://logic-scenes/chat_view/Vector_Driving_background.svg" +dest_files=["res://.godot/imported/Vector_Driving_background.svg-441687d5c58fde29e3987d2a7c7c13b5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/src/logic-scenes/chat_view/avatar_fabian.svg b/src/logic-scenes/chat_view/avatar_fabian.svg new file mode 100644 index 00000000..b1adbf75 --- /dev/null +++ b/src/logic-scenes/chat_view/avatar_fabian.svg @@ -0,0 +1,723 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/logic-scenes/chat_view/avatar_fabian.svg.import b/src/logic-scenes/chat_view/avatar_fabian.svg.import new file mode 100644 index 00000000..9197acff --- /dev/null +++ b/src/logic-scenes/chat_view/avatar_fabian.svg.import @@ -0,0 +1,43 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ol55lgmmnthm" +path="res://.godot/imported/avatar_fabian.svg-2004c74ea603ff5c126ebd1ecee47735.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://logic-scenes/chat_view/avatar_fabian.svg" +dest_files=["res://.godot/imported/avatar_fabian.svg-2004c74ea603ff5c126ebd1ecee47735.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 +svg/scale=1.0 +editor/scale_with_editor_scale=false +editor/convert_colors_with_editor_theme=false diff --git a/src/logic-scenes/chat_view/chat-message.gd b/src/logic-scenes/chat_view/chat-message.gd index f8f29d6f..977840be 100644 --- a/src/logic-scenes/chat_view/chat-message.gd +++ b/src/logic-scenes/chat_view/chat-message.gd @@ -1,5 +1,15 @@ class_name ChatMessage extends Resource @export_multiline var text: String = "" -@export var time_string = "" +@export var time_dict: Dictionary = Time.get_datetime_dict_from_unix_time(0) @export var is_own_message: bool = false + +func get_time() -> String: + match TranslationServer.get_locale(): + "de": + return "%d:%02d" % [time_dict["hour"], time_dict["minute"]] + _: + return "%d:%02d (%s)" % [time_dict["hour"] % 12 if time_dict["hour"] % 12 > 1 else 12 if time_dict["hour"] == 12 or time_dict["minute"] == 0 else 0, + time_dict["minute"], + "AM" if time_dict["hour"] < 12 else "PM"] + return "" diff --git a/src/logic-scenes/chat_view/chat-view.gd b/src/logic-scenes/chat_view/chat-view.gd index 316ae77f..a443ef1b 100644 --- a/src/logic-scenes/chat_view/chat-view.gd +++ b/src/logic-scenes/chat_view/chat-view.gd @@ -1,7 +1,28 @@ +@tool class_name ChatView extends Control @export var conversation : ChatConversation @export var scroll_offset := 220 +@export_tool_button("auto build") var build_chat = _build +@export_tool_button("auto populate") var populate_chat = _populate +@export_tool_button("smart populate") var populate_smart = _populate_smart + +func _build(): + for i in range(conversation.messages.size()): + conversation.messages[i] = ChatMessage.new() + +func _populate(): + for i in range(conversation.messages.size()): + conversation.messages[i].text = "chat.%s.%02d" % ["xavier" if conversation.messages[i].is_own_message else "fabian", i+1] + +func _populate_smart(): + for i in range(conversation.messages.size()): + conversation.messages[i].text = "chat.%s.%02d" % ["xavier", i+1] + if TranslationServer.translate(conversation.messages[i].text) == conversation.messages[i].text: + conversation.messages[i].text = "chat.%s.%02d" % ["fabian", i+1] + conversation.messages[i].is_own_message = false + else: + conversation.messages[i].is_own_message = true var prefab_other: PackedScene = preload("res://logic-scenes/chat_view/message_other.tscn") var prefab_self: PackedScene = preload("res://logic-scenes/chat_view/message_self.tscn") @@ -13,7 +34,7 @@ func rebuild() -> void: for message in conversation.messages: var bubble : ChatBubble = prefab_self.instantiate() if message.is_own_message else prefab_other.instantiate() %ChatHistory.add_child(bubble) - bubble.set_text.call_deferred(message.text, message.time_string) + bubble.set_text.call_deferred(message.text, message.get_time()) await get_tree().process_frame %ChatContainer.scroll_vertical = scroll_offset diff --git a/src/logic-scenes/chat_view/chat-view.tscn b/src/logic-scenes/chat_view/chat-view.tscn index ba5ce01b..77931ae9 100644 --- a/src/logic-scenes/chat_view/chat-view.tscn +++ b/src/logic-scenes/chat_view/chat-view.tscn @@ -1,37 +1,1146 @@ [gd_scene format=3 uid="uid://dgb7x8na0ek57"] [ext_resource type="Theme" uid="uid://bhw3jbbrt3m1k" path="res://logic-scenes/chat_view/theme-smartphone.tres" id="1_6hmi7"] -[ext_resource type="Texture2D" uid="uid://b3guc2v1fj04p" path="res://logic-scenes/chat_view/phone-background.png" id="1_vvup7"] +[ext_resource type="Texture2D" uid="uid://b2lgn3ngtl6fc" path="res://logic-scenes/chat_view/Vector_Driving_background.png" id="1_qw8qg"] [ext_resource type="LabelSettings" uid="uid://dy1l6fcsy54od" path="res://logic-scenes/chat_view/labe-top-bar.tres" id="2_xckgu"] -[ext_resource type="Resource" uid="uid://cc6q101fbtq0" path="res://logic-scenes/chat_view/conversation-brother.tres" id="3_5qtt2"] [ext_resource type="Texture2D" uid="uid://dhecdhucnu7sq" path="res://logic-scenes/chat_view/phone-notifications.png" id="3_myhe7"] [ext_resource type="StyleBox" uid="uid://coqfwa80t22m0" path="res://logic-scenes/chat_view/style-chat-system-shade.tres" id="3_qbcw0"] +[ext_resource type="Script" uid="uid://be16bo6mf4kqu" path="res://logic-scenes/chat_view/chat-message.gd" id="3_wih1b"] [ext_resource type="Script" uid="uid://db7t2kqbsskoq" path="res://logic-scenes/chat_view/chat-view.gd" id="4_myhe7"] +[ext_resource type="Script" uid="uid://c8hqd1leg4dfy" path="res://logic-scenes/chat_view/chat-conversation.gd" id="4_qw8qg"] [ext_resource type="Texture2D" uid="uid://cv58eu35ra1ku" path="res://logic-scenes/chat_view/phone-dot.png" id="4_vvup7"] [ext_resource type="Texture2D" uid="uid://bng2qbusdg7dj" path="res://logic-scenes/chat_view/phone-signal.png" id="4_xckgu"] -[ext_resource type="Texture2D" uid="uid://dw5d2ffpq8w3r" path="res://logic-scenes/chat_view/avatar-other-large.png" id="5_5qtt2"] [ext_resource type="LabelSettings" uid="uid://mh8uu4rlqmv5" path="res://logic-scenes/chat_view/label-timestamp.tres" id="5_qgt32"] -[ext_resource type="PackedScene" uid="uid://dc58hnxdn0l2o" path="res://logic-scenes/chat_view/message_other.tscn" id="8_wih1b"] -[ext_resource type="PackedScene" uid="uid://cjodbrwc01gwi" path="res://logic-scenes/chat_view/message_self.tscn" id="13_qw8qg"] +[ext_resource type="Texture2D" uid="uid://ol55lgmmnthm" path="res://logic-scenes/chat_view/avatar_fabian.svg" id="6_0mkgm"] +[ext_resource type="Texture2D" uid="uid://csw3dng5li77h" path="res://logic-scenes/chat_view/Progress_Titan_background.png" id="10_5i67h"] +[ext_resource type="FontFile" uid="uid://dtkwj2lnmnery" path="res://import/fonts/Ubuntu-M.ttf" id="11_plyw6"] +[ext_resource type="StyleBox" uid="uid://bsxtlhruon72f" path="res://logic-scenes/chat_view/style-chat-bubble-notify.tres" id="12_u18yi"] + +[sub_resource type="Resource" id="Resource_qgt32"] +script = ExtResource("3_wih1b") +text = "chat.fabian.01" +time_dict = { +"day": 1, +"hour": 16, +"minute": 20, +"month": 0, +"second": 32, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_5qtt2"] +script = ExtResource("3_wih1b") +text = "chat.fabian.02" +time_dict = { +"day": 1, +"hour": 16, +"minute": 21, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_wih1b"] +script = ExtResource("3_wih1b") +text = "chat.xavier.03" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_qw8qg"] +script = ExtResource("3_wih1b") +text = "chat.fabian.04" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_0mkgm"] +script = ExtResource("3_wih1b") +text = "chat.fabian.05" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_5i67h"] +script = ExtResource("3_wih1b") +text = "chat.xavier.06" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_plyw6"] +script = ExtResource("3_wih1b") +text = "chat.fabian.07" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_u18yi"] +script = ExtResource("3_wih1b") +text = "chat.fabian.08" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_vnjsk"] +script = ExtResource("3_wih1b") +text = "chat.fabian.09" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_fix8u"] +script = ExtResource("3_wih1b") +text = "chat.xavier.10" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_vl4x0"] +script = ExtResource("3_wih1b") +text = "chat.xavier.11" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_q2pe7"] +script = ExtResource("3_wih1b") +text = "chat.fabian.12" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_eawf6"] +script = ExtResource("3_wih1b") +text = "chat.xavier.13" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_868ya"] +script = ExtResource("3_wih1b") +text = "chat.xavier.14" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_w5osj"] +script = ExtResource("3_wih1b") +text = "chat.fabian.15" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_fs54r"] +script = ExtResource("3_wih1b") +text = "chat.xavier.16" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_cvihs"] +script = ExtResource("3_wih1b") +text = "chat.xavier.17" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_v47b6"] +script = ExtResource("3_wih1b") +text = "chat.fabian.18" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_xyr1o"] +script = ExtResource("3_wih1b") +text = "chat.fabian.19" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_mfcdt"] +script = ExtResource("3_wih1b") +text = "chat.xavier.20" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_0fesx"] +script = ExtResource("3_wih1b") +text = "chat.xavier.21" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_85502"] +script = ExtResource("3_wih1b") +text = "chat.fabian.22" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_tn8tu"] +script = ExtResource("3_wih1b") +text = "chat.xavier.23" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_3bd81"] +script = ExtResource("3_wih1b") +text = "chat.fabian.24" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_7ren3"] +script = ExtResource("3_wih1b") +text = "chat.fabian.25" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_jsae4"] +script = ExtResource("3_wih1b") +text = "chat.fabian.26" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_g7pwp"] +script = ExtResource("3_wih1b") +text = "chat.fabian.27" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_jcwwq"] +script = ExtResource("3_wih1b") +text = "chat.xavier.28" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_1gqku"] +script = ExtResource("3_wih1b") +text = "chat.fabian.29" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_ubjev"] +script = ExtResource("3_wih1b") +text = "chat.xavier.30" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_s6rep"] +script = ExtResource("3_wih1b") +text = "chat.xavier.31" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_c4m34"] +script = ExtResource("3_wih1b") +text = "chat.fabian.32" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_hrdwx"] +script = ExtResource("3_wih1b") +text = "chat.fabian.33" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_nqj2k"] +script = ExtResource("3_wih1b") +text = "chat.xavier.34" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_xtqb8"] +script = ExtResource("3_wih1b") +text = "chat.fabian.35" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_i0dry"] +script = ExtResource("3_wih1b") +text = "chat.xavier.36" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_05s62"] +script = ExtResource("3_wih1b") +text = "chat.fabian.37" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_lmhus"] +script = ExtResource("3_wih1b") +text = "chat.xavier.38" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_vn2vy"] +script = ExtResource("3_wih1b") +text = "chat.fabian.39" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_cmiyf"] +script = ExtResource("3_wih1b") +text = "chat.xavier.40" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_medp8"] +script = ExtResource("3_wih1b") +text = "chat.fabian.41" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_rynxv"] +script = ExtResource("3_wih1b") +text = "chat.fabian.42" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_15htn"] +script = ExtResource("3_wih1b") +text = "chat.fabian.43" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_qmc6b"] +script = ExtResource("3_wih1b") +text = "chat.xavier.44" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_3e1sg"] +script = ExtResource("3_wih1b") +text = "chat.fabian.45" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_8e2kt"] +script = ExtResource("3_wih1b") +text = "chat.xavier.46" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_uhl00"] +script = ExtResource("3_wih1b") +text = "chat.fabian.47" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_77vp6"] +script = ExtResource("3_wih1b") +text = "chat.xavier.48" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_t7jq2"] +script = ExtResource("3_wih1b") +text = "chat.fabian.49" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_ppeod"] +script = ExtResource("3_wih1b") +text = "chat.xavier.50" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_xvrq3"] +script = ExtResource("3_wih1b") +text = "chat.fabian.51" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_y6y6x"] +script = ExtResource("3_wih1b") +text = "chat.xavier.52" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_allg4"] +script = ExtResource("3_wih1b") +text = "chat.fabian.53" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_wergy"] +script = ExtResource("3_wih1b") +text = "chat.xavier.54" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_m6qpe"] +script = ExtResource("3_wih1b") +text = "chat.fabian.55" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_1wk5m"] +script = ExtResource("3_wih1b") +text = "chat.fabian.56" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_k10py"] +script = ExtResource("3_wih1b") +text = "chat.xavier.57" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_6y161"] +script = ExtResource("3_wih1b") +text = "chat.fabian.58" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_bq117"] +script = ExtResource("3_wih1b") +text = "chat.fabian.59" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_mx5ge"] +script = ExtResource("3_wih1b") +text = "chat.fabian.60" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_p3xe7"] +script = ExtResource("3_wih1b") +text = "chat.fabian.61" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_ltwa2"] +script = ExtResource("3_wih1b") +text = "chat.fabian.62" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_beqs1"] +script = ExtResource("4_qw8qg") +messages = Array[ExtResource("3_wih1b")]([SubResource("Resource_qgt32"), SubResource("Resource_5qtt2"), SubResource("Resource_wih1b"), SubResource("Resource_qw8qg"), SubResource("Resource_0mkgm"), SubResource("Resource_5i67h"), SubResource("Resource_plyw6"), SubResource("Resource_u18yi"), SubResource("Resource_vnjsk"), SubResource("Resource_fix8u"), SubResource("Resource_vl4x0"), SubResource("Resource_q2pe7"), SubResource("Resource_eawf6"), SubResource("Resource_868ya"), SubResource("Resource_w5osj"), SubResource("Resource_fs54r"), SubResource("Resource_cvihs"), SubResource("Resource_v47b6"), SubResource("Resource_xyr1o"), SubResource("Resource_mfcdt"), SubResource("Resource_0fesx"), SubResource("Resource_85502"), SubResource("Resource_tn8tu"), SubResource("Resource_3bd81"), SubResource("Resource_7ren3"), SubResource("Resource_jsae4"), SubResource("Resource_g7pwp"), SubResource("Resource_jcwwq"), SubResource("Resource_1gqku"), SubResource("Resource_ubjev"), SubResource("Resource_s6rep"), SubResource("Resource_c4m34"), SubResource("Resource_hrdwx"), SubResource("Resource_nqj2k"), SubResource("Resource_xtqb8"), SubResource("Resource_i0dry"), SubResource("Resource_05s62"), SubResource("Resource_lmhus"), SubResource("Resource_vn2vy"), SubResource("Resource_cmiyf"), SubResource("Resource_medp8"), SubResource("Resource_rynxv"), SubResource("Resource_15htn"), SubResource("Resource_qmc6b"), SubResource("Resource_3e1sg"), SubResource("Resource_8e2kt"), SubResource("Resource_uhl00"), SubResource("Resource_77vp6"), SubResource("Resource_t7jq2"), SubResource("Resource_ppeod"), SubResource("Resource_xvrq3"), SubResource("Resource_y6y6x"), SubResource("Resource_allg4"), SubResource("Resource_wergy"), SubResource("Resource_m6qpe"), SubResource("Resource_1wk5m"), SubResource("Resource_k10py"), SubResource("Resource_6y161"), SubResource("Resource_bq117"), SubResource("Resource_mx5ge"), SubResource("Resource_p3xe7"), SubResource("Resource_ltwa2")]) +metadata/_custom_type_script = "uid://c8hqd1leg4dfy" [sub_resource type="Gradient" id="Gradient_qgt32"] -colors = PackedColorArray(0, 0, 0, 0.5019608, 1, 1, 1, 0) +colors = PackedColorArray(0.19871575, 0.40338165, 0.829879, 0.5019608, 1, 1, 1, 0) [sub_resource type="GradientTexture2D" id="GradientTexture2D_5qtt2"] gradient = SubResource("Gradient_qgt32") fill_from = Vector2(0, 0.5) fill_to = Vector2(0, 1) +[sub_resource type="Animation" id="Animation_vnjsk"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("TextureRect:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(0, 0, 0, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("TextureRect/LockSreen:size") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(650, 656)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("TextureRect/LockSreen:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(0.6081414, 0.6081414, 0.6081413, 1)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("TextureRect/LockSreen/VBoxContainer/VBoxContainer2/HBoxContainer:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("TextureRect/LockSreen/VBoxContainer/front_spacer:custom_minimum_size") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(40, 0)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("TextureRect/LockSreen/VBoxContainer/RichTextLabel:modulate") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 0)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("TopBarShade:modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Color(1, 1, 1, 1)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("TextureRect:size") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(650, 1024)] +} +tracks/8/type = "value" +tracks/8/imported = false +tracks/8/enabled = true +tracks/8/path = NodePath("TextureRect:position") +tracks/8/interp = 1 +tracks/8/loop_wrap = true +tracks/8/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 0, +"values": [Vector2(0, 0)] +} +tracks/9/type = "value" +tracks/9/imported = false +tracks/9/enabled = true +tracks/9/path = NodePath("TextureRect:visible") +tracks/9/interp = 1 +tracks/9/loop_wrap = true +tracks/9/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [false] +} + +[sub_resource type="Animation" id="Animation_beqs1"] +resource_name = "notification" +length = 6.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("TextureRect:self_modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0.26666668, 2), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(0, 0, 0, 1), Color(1, 1, 1, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("TextureRect/LockSreen:size") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.46666667), +"transitions": PackedFloat32Array(0.4088847, 1), +"update": 0, +"values": [Vector2(650, 670), Vector2(650, 591)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("TextureRect/LockSreen:modulate") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.16666669), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(0.6081414, 0.6081414, 0.6081413, 1), Color(1, 1, 1, 1)] +} +tracks/3/type = "value" +tracks/3/imported = false +tracks/3/enabled = true +tracks/3/path = NodePath("TextureRect/LockSreen/VBoxContainer/VBoxContainer2/HBoxContainer:modulate") +tracks/3/interp = 1 +tracks/3/loop_wrap = true +tracks/3/keys = { +"times": PackedFloat32Array(0, 0.36666667), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/4/type = "value" +tracks/4/imported = false +tracks/4/enabled = true +tracks/4/path = NodePath("TextureRect/LockSreen/VBoxContainer/front_spacer:custom_minimum_size") +tracks/4/interp = 1 +tracks/4/loop_wrap = true +tracks/4/keys = { +"times": PackedFloat32Array(0, 0.48), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Vector2(40, 0), Vector2(40, 60)] +} +tracks/5/type = "value" +tracks/5/imported = false +tracks/5/enabled = true +tracks/5/path = NodePath("TextureRect/LockSreen/VBoxContainer/RichTextLabel:modulate") +tracks/5/interp = 1 +tracks/5/loop_wrap = true +tracks/5/keys = { +"times": PackedFloat32Array(5.733333, 5.9333334), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/6/type = "value" +tracks/6/imported = false +tracks/6/enabled = true +tracks/6/path = NodePath("TopBarShade:modulate") +tracks/6/interp = 1 +tracks/6/loop_wrap = true +tracks/6/keys = { +"times": PackedFloat32Array(0.91, 1.7333333), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)] +} +tracks/7/type = "value" +tracks/7/imported = false +tracks/7/enabled = true +tracks/7/path = NodePath("TextureRect:visible") +tracks/7/interp = 1 +tracks/7/loop_wrap = true +tracks/7/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [true] +} + +[sub_resource type="Animation" id="Animation_fix8u"] +resource_name = "reveal_chat" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("TextureRect:modulate") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.5), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("TextureRect:size") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0.03333333, 0.76666665), +"transitions": PackedFloat32Array(0.34903544, 1), +"update": 0, +"values": [Vector2(650, 1024), Vector2(650, 1305)] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("TextureRect:position") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0.03333333, 0.76666665), +"transitions": PackedFloat32Array(0.43728355, 1), +"update": 0, +"values": [Vector2(0, 0), Vector2(0, -281)] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_vl4x0"] +_data = { +&"RESET": SubResource("Animation_vnjsk"), +&"notification": SubResource("Animation_beqs1"), +&"reveal_chat": SubResource("Animation_fix8u") +} + [node name="PhoneScreen" type="TextureRect" unique_id=422469732] -custom_minimum_size = Vector2(400, 640) +custom_minimum_size = Vector2(650, 1024) anchors_preset = -1 -anchor_right = 0.41666666 -anchor_bottom = 1.1851852 +anchor_right = 0.33900002 +anchor_bottom = 0.9480001 +offset_right = -0.8800049 +offset_bottom = 0.15991211 size_flags_horizontal = 0 size_flags_vertical = 0 -texture = ExtResource("1_vvup7") +texture = ExtResource("1_qw8qg") script = ExtResource("4_myhe7") -conversation = ExtResource("3_5qtt2") +conversation = SubResource("Resource_beqs1") metadata/_edit_use_anchors_ = true [node name="ForegroundApp" type="MarginContainer" parent="." unique_id=1253480453] @@ -54,12 +1163,12 @@ unique_name_in_owner = true layout_mode = 2 size_flags_vertical = 3 horizontal_scroll_mode = 0 -vertical_scroll_mode = 2 +vertical_scroll_mode = 3 [node name="ChatHistory" type="VBoxContainer" parent="ForegroundApp/AppLayout/ChatContainer" unique_id=1303301180] unique_name_in_owner = true +custom_minimum_size = Vector2(650, 650) layout_mode = 2 -size_flags_horizontal = 3 [node name="ChatHeader" type="TextureRect" parent="ForegroundApp/AppLayout/ChatContainer/ChatHistory" unique_id=706531178] custom_minimum_size = Vector2(0, 320) @@ -79,9 +1188,11 @@ custom_minimum_size = Vector2(0, 64) layout_mode = 2 [node name="ContactAvatar" type="TextureRect" parent="ForegroundApp/AppLayout/ChatContainer/ChatHistory/ChatHeader/VBoxContainer" unique_id=1516679922] +custom_minimum_size = Vector2(128, 128) layout_mode = 2 -texture = ExtResource("5_5qtt2") -stretch_mode = 3 +texture = ExtResource("6_0mkgm") +expand_mode = 2 +stretch_mode = 5 [node name="ContactText" type="Label" parent="ForegroundApp/AppLayout/ChatContainer/ChatHistory/ChatHeader/VBoxContainer" unique_id=21415362] layout_mode = 2 @@ -100,61 +1211,6 @@ label_settings = ExtResource("5_qgt32") horizontal_alignment = 1 vertical_alignment = 2 -[node name="Message-Other" parent="ForegroundApp/AppLayout/ChatContainer/ChatHistory" unique_id=102479796 instance=ExtResource("8_wih1b")] -layout_mode = 2 -script = null - -[node name="Message-Self" parent="ForegroundApp/AppLayout/ChatContainer/ChatHistory" unique_id=806983375 instance=ExtResource("13_qw8qg")] -layout_mode = 2 -script = null - -[node name="TopBarShade" type="PanelContainer" parent="." unique_id=18123572] -layout_mode = 1 -anchors_preset = 10 -anchor_right = 1.0 -offset_bottom = 32.0 -grow_horizontal = 2 -size_flags_vertical = 0 -theme_override_styles/panel = ExtResource("3_qbcw0") - -[node name="TopBar" type="HBoxContainer" parent="TopBarShade" unique_id=715115340] -layout_mode = 2 -alignment = 1 - -[node name="Time" type="Label" parent="TopBarShade/TopBar" unique_id=538973152] -layout_mode = 2 -text = "08:12 PM" -label_settings = ExtResource("2_xckgu") -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="Notifcations" type="TextureRect" parent="TopBarShade/TopBar" unique_id=164400921] -layout_mode = 2 -texture = ExtResource("3_myhe7") - -[node name="Dot1" type="TextureRect" parent="TopBarShade/TopBar" unique_id=1306078406] -layout_mode = 2 -texture = ExtResource("4_vvup7") - -[node name="Dot2" type="TextureRect" parent="TopBarShade/TopBar" unique_id=256206201] -layout_mode = 2 -texture = ExtResource("4_vvup7") - -[node name="Control2" type="Control" parent="TopBarShade/TopBar" unique_id=209916177] -layout_mode = 2 -size_flags_horizontal = 3 - -[node name="SignalStrength" type="TextureRect" parent="TopBarShade/TopBar" unique_id=416104296] -layout_mode = 2 -texture = ExtResource("4_xckgu") - -[node name="Carrier" type="Label" parent="TopBarShade/TopBar" unique_id=61022698] -layout_mode = 2 -text = "HRT-Mobile" -label_settings = ExtResource("2_xckgu") -horizontal_alignment = 1 -vertical_alignment = 1 - [node name="NavBarShade" type="PanelContainer" parent="." unique_id=555699836] layout_mode = 1 anchors_preset = 12 @@ -180,3 +1236,146 @@ texture = ExtResource("4_vvup7") [node name="Dot2" type="TextureRect" parent="NavBarShade/NavBar" unique_id=993692065] layout_mode = 2 texture = ExtResource("4_vvup7") + +[node name="TextureRect" type="TextureRect" parent="." unique_id=1406011147] +visible = false +modulate = Color(0, 0, 0, 1) +layout_mode = 0 +offset_right = 650.0 +offset_bottom = 1024.0 +texture = ExtResource("10_5i67h") + +[node name="LockSreen" type="CenterContainer" parent="TextureRect" unique_id=610566544] +modulate = Color(0.6081414, 0.6081414, 0.6081413, 1) +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_bottom = -368.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="TextureRect/LockSreen" unique_id=492884224] +layout_mode = 2 + +[node name="Label" type="Label" parent="TextureRect/LockSreen/VBoxContainer" unique_id=670692589] +layout_mode = 2 +theme_override_colors/font_color = Color(0.877911, 0.6314517, 0.8058583, 1) +theme_override_colors/font_shadow_color = Color(0.22124219, 0.1449326, 0.5055464, 0.54901963) +theme_override_constants/shadow_outline_size = 20 +theme_override_fonts/font = ExtResource("11_plyw6") +theme_override_font_sizes/font_size = 150 +text = "19:47" +horizontal_alignment = 1 + +[node name="front_spacer" type="Control" parent="TextureRect/LockSreen/VBoxContainer" unique_id=1223658256] +custom_minimum_size = Vector2(40, 0) +layout_mode = 2 + +[node name="VBoxContainer2" type="VBoxContainer" parent="TextureRect/LockSreen/VBoxContainer" unique_id=463341794] +custom_minimum_size = Vector2(400, 0) +layout_mode = 2 + +[node name="HBoxContainer" type="HBoxContainer" parent="TextureRect/LockSreen/VBoxContainer/VBoxContainer2" unique_id=1717419424] +modulate = Color(1, 1, 1, 0) +layout_mode = 2 + +[node name="TextureRect" type="TextureRect" parent="TextureRect/LockSreen/VBoxContainer/VBoxContainer2/HBoxContainer" unique_id=467472255] +layout_mode = 2 +texture = ExtResource("6_0mkgm") +expand_mode = 3 +stretch_mode = 4 + +[node name="RichTextLabel" type="RichTextLabel" parent="TextureRect/LockSreen/VBoxContainer/VBoxContainer2/HBoxContainer" unique_id=1625596741] +unique_name_in_owner = true +custom_minimum_size = Vector2(64, 64) +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"message-other" +theme_override_fonts/normal_font = ExtResource("11_plyw6") +theme_override_styles/normal = ExtResource("12_u18yi") +bbcode_enabled = true +text = "chat.fabian.01" +fit_content = true +scroll_active = false +autowrap_mode = 0 +vertical_alignment = 1 +justification_flags = 99 +metadata/_custom_type_script = "uid://dlbwvie007wfx" + +[node name="HBoxContainer2" type="HBoxContainer" parent="TextureRect/LockSreen/VBoxContainer/VBoxContainer2" unique_id=1977157429] +layout_mode = 2 + +[node name="TextureRect" type="TextureRect" parent="TextureRect/LockSreen/VBoxContainer/VBoxContainer2/HBoxContainer2" unique_id=1135715896] +layout_mode = 2 +texture = ExtResource("6_0mkgm") +expand_mode = 3 +stretch_mode = 4 + +[node name="RichTextLabel" type="RichTextLabel" parent="TextureRect/LockSreen/VBoxContainer" unique_id=507901797] +modulate = Color(1, 1, 1, 0) +custom_minimum_size = Vector2(64, 64) +layout_mode = 2 +size_flags_horizontal = 3 +theme_type_variation = &"message-other" +theme_override_fonts/normal_font = ExtResource("11_plyw6") +theme_override_styles/normal = ExtResource("12_u18yi") +bbcode_enabled = true +text = "chat.fabian.02" +fit_content = true +scroll_active = false +autowrap_mode = 2 +vertical_alignment = 1 +justification_flags = 99 +metadata/_custom_type_script = "uid://dlbwvie007wfx" + +[node name="TopBarShade" type="PanelContainer" parent="." unique_id=18123572] +layout_mode = 1 +anchors_preset = 10 +anchor_right = 1.0 +offset_bottom = 32.0 +grow_horizontal = 2 +size_flags_vertical = 0 +theme_override_styles/panel = ExtResource("3_qbcw0") + +[node name="TopBar" type="HBoxContainer" parent="TopBarShade" unique_id=715115340] +layout_mode = 2 +alignment = 1 + +[node name="Time" type="Label" parent="TopBarShade/TopBar" unique_id=538973152] +layout_mode = 2 +text = "19:47" +label_settings = ExtResource("2_xckgu") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Notifcations" type="TextureRect" parent="TopBarShade/TopBar" unique_id=164400921] +layout_mode = 2 +texture = ExtResource("3_myhe7") + +[node name="Dot1" type="TextureRect" parent="TopBarShade/TopBar" unique_id=1306078406] +layout_mode = 2 +texture = ExtResource("4_vvup7") + +[node name="Dot2" type="TextureRect" parent="TopBarShade/TopBar" unique_id=256206201] +layout_mode = 2 +texture = ExtResource("4_vvup7") + +[node name="Control2" type="Control" parent="TopBarShade/TopBar" unique_id=209916177] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="SignalStrength" type="TextureRect" parent="TopBarShade/TopBar" unique_id=416104296] +layout_mode = 2 +texture = ExtResource("4_xckgu") + +[node name="Carrier" type="Label" parent="TopBarShade/TopBar" unique_id=61022698] +layout_mode = 2 +text = "N2" +label_settings = ExtResource("2_xckgu") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=84483567] +libraries/ = SubResource("AnimationLibrary_vl4x0") +autoplay = &"reveal_chat" diff --git a/src/logic-scenes/chat_view/chat_bubble.gd b/src/logic-scenes/chat_view/chat_bubble.gd index 2c92256b..3e926d90 100644 --- a/src/logic-scenes/chat_view/chat_bubble.gd +++ b/src/logic-scenes/chat_view/chat_bubble.gd @@ -3,21 +3,37 @@ class_name ChatBubble extends Container +@export var message: ChatMessage + @export var min_bubble_width: float = 64.0 @export var max_bubble_width: float = 512.0 @onready var label: RichTextLabel = %RichTextLabel @onready var timestamp: Label = %TimeStamp + + var _text := "" +@export var text_override := "": + set(text): + text_override = text + if is_node_ready() and text != "": + label.text = text_override + +@export var timestamp_override := "": + set(text): + timestamp_override = text + if is_node_ready() and text != "": + timestamp.text = timestamp_override + func _ready(): label.resized.connect(_on_label_resized) label.theme_changed.connect(_on_label_resized) label.fit_content = true func _process(_delta: float) -> void: - if (label.text != _text): + if (label.text != _text) and (text_override != "" or text_override == label.text): set_text(label.text, timestamp.text) func set_text(new_text: String, new_time: String) -> void: diff --git a/src/logic-scenes/chat_view/conversation-brother.tres b/src/logic-scenes/chat_view/conversation-brother.tres index ee56f2ea..192e6b01 100644 --- a/src/logic-scenes/chat_view/conversation-brother.tres +++ b/src/logic-scenes/chat_view/conversation-brother.tres @@ -3,26 +3,838 @@ [ext_resource type="Script" uid="uid://be16bo6mf4kqu" path="res://logic-scenes/chat_view/chat-message.gd" id="1_lpye3"] [ext_resource type="Script" uid="uid://c8hqd1leg4dfy" path="res://logic-scenes/chat_view/chat-conversation.gd" id="2_kg6cg"] -[sub_resource type="Resource" id="Resource_iwd5k"] +[sub_resource type="Resource" id="Resource_qgt32"] script = ExtResource("1_lpye3") -text = "Sorry" -time_string = "This is smol." -metadata/_custom_type_script = "uid://be16bo6mf4kqu" +text = "chat.fabian.01" +time_dict = { +"day": 1, +"hour": 16, +"minute": 20, +"month": 0, +"second": 32, +"weekday": 4, +"year": 1970 +} -[sub_resource type="Resource" id="Resource_1hd2w"] +[sub_resource type="Resource" id="Resource_5qtt2"] script = ExtResource("1_lpye3") -text = "I never knew what to say. Can I write instead? " -time_string = "8:12 PM" -metadata/_custom_type_script = "uid://be16bo6mf4kqu" +text = "chat.fabian.02" +time_dict = { +"day": 1, +"hour": 16, +"minute": 21, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} -[sub_resource type="Resource" id="Resource_w8y7q"] +[sub_resource type="Resource" id="Resource_wih1b"] script = ExtResource("1_lpye3") -text = "🙄" -time_string = "7:59 PM" +text = "chat.xavier.03" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} is_own_message = true -metadata/_custom_type_script = "uid://be16bo6mf4kqu" + +[sub_resource type="Resource" id="Resource_qw8qg"] +script = ExtResource("1_lpye3") +text = "chat.fabian.04" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_0mkgm"] +script = ExtResource("1_lpye3") +text = "chat.fabian.05" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_5i67h"] +script = ExtResource("1_lpye3") +text = "chat.xavier.06" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_plyw6"] +script = ExtResource("1_lpye3") +text = "chat.fabian.07" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_u18yi"] +script = ExtResource("1_lpye3") +text = "chat.fabian.08" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_vnjsk"] +script = ExtResource("1_lpye3") +text = "chat.fabian.09" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_fix8u"] +script = ExtResource("1_lpye3") +text = "chat.xavier.10" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_vl4x0"] +script = ExtResource("1_lpye3") +text = "chat.xavier.11" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_q2pe7"] +script = ExtResource("1_lpye3") +text = "chat.fabian.12" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_eawf6"] +script = ExtResource("1_lpye3") +text = "chat.xavier.13" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_868ya"] +script = ExtResource("1_lpye3") +text = "chat.xavier.14" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_w5osj"] +script = ExtResource("1_lpye3") +text = "chat.fabian.15" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_fs54r"] +script = ExtResource("1_lpye3") +text = "chat.xavier.16" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_cvihs"] +script = ExtResource("1_lpye3") +text = "chat.xavier.17" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_v47b6"] +script = ExtResource("1_lpye3") +text = "chat.fabian.18" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_xyr1o"] +script = ExtResource("1_lpye3") +text = "chat.fabian.19" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_mfcdt"] +script = ExtResource("1_lpye3") +text = "chat.xavier.20" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_0fesx"] +script = ExtResource("1_lpye3") +text = "chat.xavier.21" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_85502"] +script = ExtResource("1_lpye3") +text = "chat.fabian.22" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_tn8tu"] +script = ExtResource("1_lpye3") +text = "chat.xavier.23" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_3bd81"] +script = ExtResource("1_lpye3") +text = "chat.fabian.24" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_7ren3"] +script = ExtResource("1_lpye3") +text = "chat.fabian.25" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_jsae4"] +script = ExtResource("1_lpye3") +text = "chat.fabian.26" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_g7pwp"] +script = ExtResource("1_lpye3") +text = "chat.fabian.27" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_jcwwq"] +script = ExtResource("1_lpye3") +text = "chat.xavier.28" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_1gqku"] +script = ExtResource("1_lpye3") +text = "chat.fabian.29" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_ubjev"] +script = ExtResource("1_lpye3") +text = "chat.xavier.30" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_s6rep"] +script = ExtResource("1_lpye3") +text = "chat.xavier.31" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_c4m34"] +script = ExtResource("1_lpye3") +text = "chat.fabian.32" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_hrdwx"] +script = ExtResource("1_lpye3") +text = "chat.fabian.33" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_nqj2k"] +script = ExtResource("1_lpye3") +text = "chat.xavier.34" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_xtqb8"] +script = ExtResource("1_lpye3") +text = "chat.fabian.35" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_i0dry"] +script = ExtResource("1_lpye3") +text = "chat.xavier.36" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_05s62"] +script = ExtResource("1_lpye3") +text = "chat.fabian.37" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_lmhus"] +script = ExtResource("1_lpye3") +text = "chat.xavier.38" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_vn2vy"] +script = ExtResource("1_lpye3") +text = "chat.fabian.39" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_cmiyf"] +script = ExtResource("1_lpye3") +text = "chat.xavier.40" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_medp8"] +script = ExtResource("1_lpye3") +text = "chat.fabian.41" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_rynxv"] +script = ExtResource("1_lpye3") +text = "chat.fabian.42" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_15htn"] +script = ExtResource("1_lpye3") +text = "chat.fabian.43" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_qmc6b"] +script = ExtResource("1_lpye3") +text = "chat.xavier.44" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_3e1sg"] +script = ExtResource("1_lpye3") +text = "chat.fabian.45" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_8e2kt"] +script = ExtResource("1_lpye3") +text = "chat.xavier.46" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_uhl00"] +script = ExtResource("1_lpye3") +text = "chat.fabian.47" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_77vp6"] +script = ExtResource("1_lpye3") +text = "chat.xavier.48" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_t7jq2"] +script = ExtResource("1_lpye3") +text = "chat.fabian.49" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_ppeod"] +script = ExtResource("1_lpye3") +text = "chat.xavier.50" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_xvrq3"] +script = ExtResource("1_lpye3") +text = "chat.fabian.51" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_y6y6x"] +script = ExtResource("1_lpye3") +text = "chat.xavier.52" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_allg4"] +script = ExtResource("1_lpye3") +text = "chat.fabian.53" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_wergy"] +script = ExtResource("1_lpye3") +text = "chat.xavier.54" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_m6qpe"] +script = ExtResource("1_lpye3") +text = "chat.fabian.55" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_1wk5m"] +script = ExtResource("1_lpye3") +text = "chat.fabian.56" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_k10py"] +script = ExtResource("1_lpye3") +text = "chat.xavier.57" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} +is_own_message = true + +[sub_resource type="Resource" id="Resource_6y161"] +script = ExtResource("1_lpye3") +text = "chat.fabian.58" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_bq117"] +script = ExtResource("1_lpye3") +text = "chat.fabian.59" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_mx5ge"] +script = ExtResource("1_lpye3") +text = "chat.fabian.60" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_p3xe7"] +script = ExtResource("1_lpye3") +text = "chat.fabian.61" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} + +[sub_resource type="Resource" id="Resource_ltwa2"] +script = ExtResource("1_lpye3") +text = "chat.fabian.62" +time_dict = { +"day": 1, +"hour": 0, +"minute": 0, +"month": 1, +"second": 0, +"weekday": 4, +"year": 1970 +} [resource] script = ExtResource("2_kg6cg") -messages = Array[ExtResource("1_lpye3")]([SubResource("Resource_iwd5k"), SubResource("Resource_1hd2w"), SubResource("Resource_w8y7q"), SubResource("Resource_w8y7q"), SubResource("Resource_w8y7q"), SubResource("Resource_w8y7q"), SubResource("Resource_w8y7q"), SubResource("Resource_w8y7q"), SubResource("Resource_w8y7q"), SubResource("Resource_w8y7q"), SubResource("Resource_w8y7q"), SubResource("Resource_w8y7q"), SubResource("Resource_w8y7q"), SubResource("Resource_w8y7q"), SubResource("Resource_w8y7q")]) +messages = Array[ExtResource("1_lpye3")]([SubResource("Resource_qgt32"), SubResource("Resource_5qtt2"), SubResource("Resource_wih1b"), SubResource("Resource_qw8qg"), SubResource("Resource_0mkgm"), SubResource("Resource_5i67h"), SubResource("Resource_plyw6"), SubResource("Resource_u18yi"), SubResource("Resource_vnjsk"), SubResource("Resource_fix8u"), SubResource("Resource_vl4x0"), SubResource("Resource_q2pe7"), SubResource("Resource_eawf6"), SubResource("Resource_868ya"), SubResource("Resource_w5osj"), SubResource("Resource_fs54r"), SubResource("Resource_cvihs"), SubResource("Resource_v47b6"), SubResource("Resource_xyr1o"), SubResource("Resource_mfcdt"), SubResource("Resource_0fesx"), SubResource("Resource_85502"), SubResource("Resource_tn8tu"), SubResource("Resource_3bd81"), SubResource("Resource_7ren3"), SubResource("Resource_jsae4"), SubResource("Resource_g7pwp"), SubResource("Resource_jcwwq"), SubResource("Resource_1gqku"), SubResource("Resource_ubjev"), SubResource("Resource_s6rep"), SubResource("Resource_c4m34"), SubResource("Resource_hrdwx"), SubResource("Resource_nqj2k"), SubResource("Resource_xtqb8"), SubResource("Resource_i0dry"), SubResource("Resource_05s62"), SubResource("Resource_lmhus"), SubResource("Resource_vn2vy"), SubResource("Resource_cmiyf"), SubResource("Resource_medp8"), SubResource("Resource_rynxv"), SubResource("Resource_15htn"), SubResource("Resource_qmc6b"), SubResource("Resource_3e1sg"), SubResource("Resource_8e2kt"), SubResource("Resource_uhl00"), SubResource("Resource_77vp6"), SubResource("Resource_t7jq2"), SubResource("Resource_ppeod"), SubResource("Resource_xvrq3"), SubResource("Resource_y6y6x"), SubResource("Resource_allg4"), SubResource("Resource_wergy"), SubResource("Resource_m6qpe"), SubResource("Resource_1wk5m"), SubResource("Resource_k10py"), SubResource("Resource_6y161"), SubResource("Resource_bq117"), SubResource("Resource_mx5ge"), SubResource("Resource_p3xe7"), SubResource("Resource_ltwa2")]) metadata/_custom_type_script = "uid://c8hqd1leg4dfy" diff --git a/src/logic-scenes/chat_view/message_other.tscn b/src/logic-scenes/chat_view/message_other.tscn index e1bc2e73..d06de27c 100644 --- a/src/logic-scenes/chat_view/message_other.tscn +++ b/src/logic-scenes/chat_view/message_other.tscn @@ -11,13 +11,19 @@ size_flags_horizontal = 3 theme = ExtResource("1_0pomh") alignment = 2 script = ExtResource("3_3g7sa") +max_bubble_width = 500.0 [node name="Avatar" type="TextureRect" parent="." unique_id=1077043040] +visible = false layout_mode = 2 size_flags_vertical = 8 texture = ExtResource("1_r4gcv") stretch_mode = 2 +[node name="front_spacer" type="Control" parent="." unique_id=1890929439] +custom_minimum_size = Vector2(20, 0) +layout_mode = 2 + [node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=1636732531] layout_mode = 2 size_flags_horizontal = 2 @@ -46,7 +52,7 @@ layout_mode = 2 size_flags_horizontal = 3 theme_type_variation = &"message-other" bbcode_enabled = true -text = "It is a long established fact" +text = "meep" fit_content = true scroll_active = false autowrap_mode = 0 @@ -62,5 +68,5 @@ label_settings = ExtResource("4_yjo27") horizontal_alignment = 2 [node name="Spacer" type="Control" parent="." unique_id=1047768334] -custom_minimum_size = Vector2(160, 0) +custom_minimum_size = Vector2(130, 0) layout_mode = 2 diff --git a/src/logic-scenes/chat_view/message_self.tscn b/src/logic-scenes/chat_view/message_self.tscn index fd0051d9..87e2cedd 100644 --- a/src/logic-scenes/chat_view/message_self.tscn +++ b/src/logic-scenes/chat_view/message_self.tscn @@ -11,9 +11,10 @@ size_flags_horizontal = 3 theme = ExtResource("1_aitur") alignment = 2 script = ExtResource("2_aitur") +max_bubble_width = 500.0 [node name="Spacer" type="Control" parent="." unique_id=929861663] -custom_minimum_size = Vector2(160, 0) +custom_minimum_size = Vector2(130, 0) layout_mode = 2 [node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=361845079] @@ -59,7 +60,12 @@ label_settings = ExtResource("3_hmjif") horizontal_alignment = 2 [node name="Avatar" type="TextureRect" parent="." unique_id=502320005] +visible = false layout_mode = 2 size_flags_vertical = 8 texture = ExtResource("4_q2b2g") stretch_mode = 2 + +[node name="front_spacer" type="Control" parent="." unique_id=343300847] +custom_minimum_size = Vector2(20, 0) +layout_mode = 2 diff --git a/src/logic-scenes/chat_view/style-chat-bubble-notify.tres b/src/logic-scenes/chat_view/style-chat-bubble-notify.tres new file mode 100644 index 00000000..1179dc0f --- /dev/null +++ b/src/logic-scenes/chat_view/style-chat-bubble-notify.tres @@ -0,0 +1,15 @@ +[gd_resource type="StyleBoxFlat" format=3 uid="uid://bsxtlhruon72f"] + +[resource] +content_margin_left = 20.0 +bg_color = Color(0.50464165, 0.19534153, 0.8099322, 1) +border_width_left = 10 +border_width_top = 10 +border_width_right = 10 +border_width_bottom = 10 +border_color = Color(0.68204504, 0.427549, 0.8153265, 1) +border_blend = true +corner_radius_top_left = 24 +corner_radius_top_right = 24 +corner_radius_bottom_right = 24 +corner_radius_bottom_left = 24 diff --git a/src/logic-scenes/chat_view/style-chat-bubble-self.tres b/src/logic-scenes/chat_view/style-chat-bubble-self.tres index d6f43cf2..5dd468c1 100644 --- a/src/logic-scenes/chat_view/style-chat-bubble-self.tres +++ b/src/logic-scenes/chat_view/style-chat-bubble-self.tres @@ -1,15 +1,16 @@ [gd_resource type="StyleBoxFlat" format=3 uid="uid://dd4xc216ul21m"] [resource] -bg_color = Color(0.21568628, 0.49019608, 0.7607843, 1) +content_margin_right = 10.0 +bg_color = Color(0.23839876, 0.17226708, 0.35750446, 1) border_width_left = 3 border_width_top = 3 border_width_right = 3 border_width_bottom = 3 border_color = Color(1, 1, 1, 0.5019608) -border_blend = true corner_radius_top_left = 24 corner_radius_top_right = 24 corner_radius_bottom_left = 24 -shadow_size = 5 -shadow_offset = Vector2(5, 8) +shadow_color = Color(0.15923437, 0.15004924, 0.30282694, 0.6) +shadow_size = 10 +shadow_offset = Vector2(5, 5) diff --git a/src/logic-scenes/chat_view/style-chat-bubble.tres b/src/logic-scenes/chat_view/style-chat-bubble.tres index bb655345..850033e8 100644 --- a/src/logic-scenes/chat_view/style-chat-bubble.tres +++ b/src/logic-scenes/chat_view/style-chat-bubble.tres @@ -1,15 +1,13 @@ [gd_resource type="StyleBoxFlat" format=3 uid="uid://dj1fuvcy0sw7k"] [resource] -bg_color = Color(0, 0.5529412, 0.5137255, 1) -border_width_left = 3 -border_width_top = 3 -border_width_right = 3 -border_width_bottom = 3 -border_color = Color(1, 1, 1, 0.5019608) -border_blend = true +content_margin_left = 10.0 +content_margin_right = 5.0 +bg_color = Color(0.2207577, 0.54749006, 0.4288175, 1) +border_color = Color(0.8, 0.8, 0.8, 0) corner_radius_top_left = 24 corner_radius_top_right = 24 corner_radius_bottom_right = 24 -shadow_size = 5 -shadow_offset = Vector2(5, 8) +shadow_color = Color(0.030907283, 0.118160434, 0.21609408, 0.6) +shadow_size = 10 +shadow_offset = Vector2(4, 4)