From 72fadf868ae9a9f8722f5a6a76527a594649bf99 Mon Sep 17 00:00:00 2001 From: Dominic Masters Date: Mon, 10 Jul 2023 12:04:34 -0700 Subject: [PATCH] Pre-subnode update. --- .../liminal/prefabs/VNTextboxMonologue.xml | 2 +- .../liminal/scenes/prologue/CMakeLists.txt | 3 +- .../scenes/prologue/ScenePrologue0.xml | 519 +++++++++++++++++- .../scenes/prologue/ScenePrologue1.xml | 8 - src/dawn/scene/components/ui/text/UILabel.cpp | 2 +- src/dawnshared/util/Xml.cpp | 18 +- .../vnscenetool/events/VNTextEventParser.cpp | 3 + 7 files changed, 530 insertions(+), 25 deletions(-) delete mode 100644 assets/games/liminal/scenes/prologue/ScenePrologue1.xml diff --git a/assets/games/liminal/prefabs/VNTextboxMonologue.xml b/assets/games/liminal/prefabs/VNTextboxMonologue.xml index a7560480..729dcd39 100644 --- a/assets/games/liminal/prefabs/VNTextboxMonologue.xml +++ b/assets/games/liminal/prefabs/VNTextboxMonologue.xml @@ -18,7 +18,7 @@ alignX="UI_COMPONENT_ALIGN_STRETCH" alignY="UI_COMPONENT_ALIGN_MIDDLE" ref="uiLabel" - lineHeight="2" + lineHeight="1.5" > diff --git a/assets/games/liminal/scenes/prologue/CMakeLists.txt b/assets/games/liminal/scenes/prologue/CMakeLists.txt index 57c6379e..04cf484c 100644 --- a/assets/games/liminal/scenes/prologue/CMakeLists.txt +++ b/assets/games/liminal/scenes/prologue/CMakeLists.txt @@ -3,5 +3,4 @@ # This software is released under the MIT License. # https://opensource.org/licenses/MIT -tool_vnscene(${CMAKE_CURRENT_LIST_DIR}/ScenePrologue0.xml) -tool_vnscene(${CMAKE_CURRENT_LIST_DIR}/ScenePrologue1.xml) \ No newline at end of file +tool_vnscene(${CMAKE_CURRENT_LIST_DIR}/ScenePrologue0.xml) \ No newline at end of file diff --git a/assets/games/liminal/scenes/prologue/ScenePrologue0.xml b/assets/games/liminal/scenes/prologue/ScenePrologue0.xml index effedd4d..2163328f 100644 --- a/assets/games/liminal/scenes/prologue/ScenePrologue0.xml +++ b/assets/games/liminal/scenes/prologue/ScenePrologue0.xml @@ -1,7 +1,8 @@ - + + There is a bucket. @@ -34,14 +35,16 @@ Is their eyes. + + I wake. - I gasp. I close my eyes — I'm fine, I'm fine. I'm still here. Breathing. + I gasp. I close my eyes - I'm fine, I'm fine. I'm still here. Breathing. - + That bucket was a dream. My death was a dream. I'm not dead. @@ -87,11 +90,11 @@ - (Real.) + (Real.) - I tidy the bedsheets. Pull the corners over the bed's edges, fluff up the pillows, pat away the sweat and the residue of a scream: my parents want it pretty. + I tidy the bed sheets. Pull the corners over the bed's edges, fluff up the pillows, pat away the sweat and the residue of a scream: my parents want it pretty. @@ -145,6 +148,8 @@ I exhale. The town is stirring awake. + + I get dressed. @@ -158,8 +163,6 @@ A pink tulle, a kind of prettier dress. - - On the morning of May 29th, my mother is proud of me. She had been Angelwood's Queen in her eighteens. I am carrying her legacy on my shoulders, and today she finally believes I will be victorious. @@ -208,5 +211,507 @@ I smile. I leave. + + + + + + + This is my world. + + + + I stroll through the corridors and they worship me. Starry-eyed whispers; flushed faces as I pass; gazes sloshing with so much awe. They love me. + + + + + + They would die for me if I called for it. + + + + (They didn't, though, when a bucket tethered above my head. They watched the thunk. They gasped when I hit the stage, when guts made a laurel around my neck, when the blood pulsated and drip, drip, dripped...) + + + + No. + They would die. + For me. + If I called for it. + + + + \ No newline at end of file diff --git a/assets/games/liminal/scenes/prologue/ScenePrologue1.xml b/assets/games/liminal/scenes/prologue/ScenePrologue1.xml deleted file mode 100644 index 772a24d1..00000000 --- a/assets/games/liminal/scenes/prologue/ScenePrologue1.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/src/dawn/scene/components/ui/text/UILabel.cpp b/src/dawn/scene/components/ui/text/UILabel.cpp index 214b4533..881705de 100644 --- a/src/dawn/scene/components/ui/text/UILabel.cpp +++ b/src/dawn/scene/components/ui/text/UILabel.cpp @@ -126,7 +126,7 @@ void UILabel::rebufferQuads(const std::vector newTexts) { // Determine font dimensions. auto itText = newTexts.begin(); while(itText != newTexts.end()) { - position.y = mathMax(position.y, itText->style.size * this->lineHeight); + position.y = mathMax(position.y, itText->style.size/* this->lineHeight - THIS PART WOULD TAKE THE LINE HEIGHT INTO CONSIDERATION ON THE FIRST/INITIAL LINE */); ++itText; } diff --git a/src/dawnshared/util/Xml.cpp b/src/dawnshared/util/Xml.cpp index 22d1dcc7..9dd94886 100644 --- a/src/dawnshared/util/Xml.cpp +++ b/src/dawnshared/util/Xml.cpp @@ -149,12 +149,18 @@ void Xml::load(Xml *xml, std::string data, size_t *j) { case XML_PARSE_STATE_PARSING_VALUE: // Keep parsing child until we find a < for an opening/closing tag. if(c == '<' && !(data[i] == '<' || data[i-2] == '<')) { - // In HTML Spec there could be a child here but not in XML spec. - doing = XML_PARSE_STATE_PARSING_CLOSE; - xml->value = buffer; - buffer.clear(); - valueIsInWhitespace = false; - bufferWhitespaces.clear(); + if(data[i] == '/') { + // In HTML Spec there could be a child here but not in XML spec. + doing = XML_PARSE_STATE_PARSING_CLOSE; + xml->value = buffer; + buffer.clear(); + valueIsInWhitespace = false; + bufferWhitespaces.clear(); + continue; + } + + std::cout << "Detected unsupported use of a child within a node value, e.g.
Hello world how are you?
" << std::endl; + throw "Test"; continue; } diff --git a/src/dawntools/vnscenetool/events/VNTextEventParser.cpp b/src/dawntools/vnscenetool/events/VNTextEventParser.cpp index e97efe2a..f1d05a2e 100644 --- a/src/dawntools/vnscenetool/events/VNTextEventParser.cpp +++ b/src/dawntools/vnscenetool/events/VNTextEventParser.cpp @@ -22,6 +22,9 @@ int32_t VNTextParser::onParse( struct VNText *out, std::string *error ) { + + std::cout << "TEST" << node->innerXml << std::endl; + out->language = values["lang"]; out->text = stringParser(node->innerXml, error); return error->length() == 0 ? 0 : -1;