diff --git a/assets/games/pokergame/locale/locale.xml b/assets/games/pokergame/locale/locale.xml deleted file mode 100644 index 8498383e..00000000 --- a/assets/games/pokergame/locale/locale.xml +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - ...Huh? Where am I? - - - - This scene has you waking in the new world - - - This is the scene to prep you for the first game - - - First Poker Game with friendlies - - - After first game, wind up maybe shop instructions or something - - - Talk with death probably, check in on you, etc. - - - Pre-Orc Battle - - - Orc Battle - - - Immediately Post Orc Battle - - - Morning after orc battle and some foreshadowing - - - Pre battle with theif - - - Battle with theif - - - There needs to be the big bad here. - - - After battle with theif, things cool off a bit. - - - Harem times maybe - - - Harem times interrupted by some chaos - - - I'm putting chaos here but this scene is probably redundant. - - - Chaos battle - - - Post Chaos Battle, things are still gloomy - - - Another big bad here probably. - - - Pre King Arrival, rumours - - - King Arrival, Everyone's annoyed - - - King in the bar, running his mouth - - - King Fight - - - Post King Fight, angry he leaves, town rallies around you - - - Go to one of the kingsmen who's working with the big bad, he's worried that the townspeople know more than they let on. - - - Something here has to bring the big bad to town. - - - It's revealed that death knows the big bad - - - \ No newline at end of file diff --git a/assets/games/pokergame/vn/Scene_1.xml b/assets/games/pokergame/vn/Scene_1.xml index 27814e6e..deb80cd5 100644 --- a/assets/games/pokergame/vn/Scene_1.xml +++ b/assets/games/pokergame/vn/Scene_1.xml @@ -5,39 +5,237 @@ - + + + - - - - - - - - + + + + + + AAAAH! + + + What is this sharp pain in my chest! I've never felt anything like this before! + + + + No... this can't be happening... I think-I think I was stabbed! N-No... I-I'm going cold now + + + - Hello World English - - - Hello Japanese + Ok, Ok, calm down, let me think this through... + I was sitting at the table, I was playing another game of poker, I think it was at least the 20th deal of the night... When... - - + + + Yes that's right, I had got a winning hand! A straight flush! I can't believe I won, I was playing against that one man, he had just gone all in! I must have beat him. Then something happened... + + + + + I saw the man get up and point to someone behind me... After that... I can't remember anything else... + + + + + What the hell? Where am I? + + + + You are awaken to find yourself in a strange place. It is neither hot, nor cold, there is no smell in the air at all, and you are surrounded by a thick fog, but it does not feel humid. + + + + + Under your feet sits a dark floor, similar in appearance to granite that has not been polished, with a gritty texture. There are no other distinct features around you. + + + + + + + I can hear a noise! It sounds like... footsteps? Who is that approaching? + + + + + Who are you? + + + Please, relax child, your time has come, you've passed on to this other plane. + + + Passed on? + + + + As you close your focus you can begin to make out the female figure in front of you. She is wearing a hood and carrying something sharp with a chain dangling off the end. As you cast your gaze towards her your chest tightens and your breathing becomes more difficult. + + + + + Y-You... You're the Grim Reaper! Aren't you?! + + + I suppose you probably know me by that name. I have been known by many names over my time. Death, Santa Muerte, I have been called so many things. + + + You, however, may call me Nami if you wish. I am the reaper assigned to guide you to the afterlife. + + + No... No, No! This can't be happening. I'm too young to die! + + + I read your information, it says you had been killed during a large poker match with a particularly nasty opponent. It seems he has been responsible for bringing several other lost souls here to me. + + + So, I really was killed? I am actually dead now?! + + + I'm afraid you've played your last hand, and now you must pay your debt. There are no do-overs for life. + + + I can't believe this is happening... + + + Do you have to take me? Will you force me to go on to the other side? + + + I do not like to think of me being forceful, I prefer to think of myself as a guide. My role is to help those who have passed on to make a smooth transition to the afterlife. + + + Ultimately it is not up to me what happens to you. I am sorry, I would normally give you a bit more time to adjust, but my schedule is quite full so we must send you to the other side quickly. Come, let us walk and talk along the way. + + + She has a schedule? I'd hate to see how many people are on that list... + + + + Where are you taking me? + + + I am taking you to the afterlife, starting at the River Styx. My role is to guide you on your journey and ensure a smooth transition to the other side. + + + The River Styx? + + + The River Styx is the boundary between the world of the living and the dead. It is a mystical river that must be crossed to reach the afterlife. It's a journey that every soul must make and I am here to guide you across, a journey through the underworld. It's said to be so powerful that even the gods fear its currents. + + + To journey you will need to pay a coin to the ferryman, Charon, it is a tradition that has been passed down for centuries. + + + + I'm sure he will take some of those chips you won in your last hand instead. + + + ... + + + Don't mind me having a bit of a joke. Once you have crossed the river, you will enter the underworld, the realm of the dead. There, you will face judgement from Cerberus and Persephone. If you are judged favourably you will be allowed to enter the Fields of Elysium. If you aren't well... + + + Let's just say those bets that you have made may come back to bite you. + + + That seems about my luck. + + + I must say, you're taking this better than most, usually lost souls like yourself are a bit more upset. + + + Well, I've always been pretty good at keeping a poker face. Guess I just didn't know it would come in handy in this situation. + + + I guess it's good she doesn't realise how much I'm freaking out right now. + + + It's nice to be able to be able to talk to someone for a change. Normally I have to drag people who cannot accept their fates. + + + I never knew that death could enjoy such things, Nami. + + + It's been a non-stop ride lately, I haven't had much time to myself to enjoy anything. All of us grim reapers have been busy due to an unexpected influx of lost souls transitioning over. + + + What do you mean? + + + + I actually manage a few worlds, not just the one that you come from. + + + In your world, people rely on technology and their own ability to progress civilisation for the betterment of everyone. In another world, I manage people who raise and tame small pocket sized creatures with different abilities to achieve the same goal. + + + However, one world I manage has been having some real troubles lately. This world contains humans alongside other intelligent creatures and species. They would be analogous to the medieval times in your world. + + + So far they have managed to keep a good balance by having some creatures wield weapons, and some use magical powers. + + + But lately there has been more cases of stronger creatures killing off the human population. + + + These problems have caused me to work overtime just to make sure I can get everyone where they need to go. + + + I never knew the grim reaper would have to deal with so much, at least she is making my simple life seem less complex by comparison. I wonder if I can lighten the mood with some classic ice breakers. I only really know Poker puns though, unless... + + + Guess you could say you've had full deck lately. + + + + She looked up! I think it's working + + + Perhaps you've had your hands full? + + + I think she smiled. + + + Good to see you're somehow dealing still. + + + That's the spirit, I appreciate the poker puns. + + + Good to see I picked up something useful over the years. + + + Thank you for that, I appreciate it. + + + I wish I could help with your issue somehow, but I don't think I can do much beyond play my cards well. + + + + Huh? Nami suddenly stopped. She seems to just be standing there staring off in to the distance. + + + Hmm… Actually, you may be able to help me. + + + + \ No newline at end of file diff --git a/src/dawn/visualnovel/events/CMakeLists.txt b/src/dawn/visualnovel/events/CMakeLists.txt index a4129f27..5666e626 100644 --- a/src/dawn/visualnovel/events/CMakeLists.txt +++ b/src/dawn/visualnovel/events/CMakeLists.txt @@ -9,6 +9,7 @@ target_sources(${DAWN_TARGET_NAME} VisualNovelFadeEvent.cpp VisualNovelTextboxEvent.cpp VisualNovelChangeSimpleBackgroundEvent.cpp + VisualNovelEmptyEvent.cpp ) # Subdirs diff --git a/src/dawn/visualnovel/events/VisualNovelEmptyEvent.cpp b/src/dawn/visualnovel/events/VisualNovelEmptyEvent.cpp new file mode 100644 index 00000000..43a80d32 --- /dev/null +++ b/src/dawn/visualnovel/events/VisualNovelEmptyEvent.cpp @@ -0,0 +1,25 @@ +// Copyright (c) 2023 Dominic Masters +// +// This software is released under the MIT License. +// https://opensource.org/licenses/MIT + +#include "VisualNovelEmptyEvent.hpp" + +using namespace Dawn; + +VisualNovelEmptyEvent::VisualNovelEmptyEvent(VisualNovelManager *man) : + IVisualNovelEvent(man) +{ + +} + +void VisualNovelEmptyEvent::onStart(IVisualNovelEvent *prev) { + +} + +bool_t VisualNovelEmptyEvent::onUpdate() { + return false; +} + +void VisualNovelEmptyEvent::onEnd() { +} \ No newline at end of file diff --git a/src/dawn/visualnovel/events/VisualNovelEmptyEvent.hpp b/src/dawn/visualnovel/events/VisualNovelEmptyEvent.hpp new file mode 100644 index 00000000..a111fe6b --- /dev/null +++ b/src/dawn/visualnovel/events/VisualNovelEmptyEvent.hpp @@ -0,0 +1,19 @@ +// Copyright (c) 2023 Dominic Masters +// +// This software is released under the MIT License. +// https://opensource.org/licenses/MIT + +#pragma once +#include "visualnovel/VisualNovelManager.hpp" + +namespace Dawn { + class VisualNovelEmptyEvent : public IVisualNovelEvent { + protected: + void onStart(IVisualNovelEvent *previous) override; + bool_t onUpdate() override; + void onEnd() override; + + public: + VisualNovelEmptyEvent(VisualNovelManager *manager); + }; +} \ No newline at end of file diff --git a/src/dawnpokergame/prefabs/characters/DeathPrefab.hpp b/src/dawnpokergame/prefabs/characters/DeathPrefab.hpp index ed099ea4..73394164 100644 --- a/src/dawnpokergame/prefabs/characters/DeathPrefab.hpp +++ b/src/dawnpokergame/prefabs/characters/DeathPrefab.hpp @@ -1,28 +1,29 @@ -// Copyright (c) 2023 Dominic Masters -// -// This software is released under the MIT License. -// https://opensource.org/licenses/MIT - -#pragma once -#include "prefabs/characters/CharacterPrefab.hpp" - -namespace Dawn { - class DeathPrefab : public CharacterPrefab { - protected: - - struct VisualNovelCharacterEmotion defineAndGetInitialEmotion( - AssetManager *man - ) override; - - public: - static std::string getCharacterTexture(); - static std::string getCharacterTileset(); - static std::string getLanguagePrefix(); - - struct VisualNovelCharacterEmotion emotionHappy; - struct VisualNovelCharacterEmotion emotionConcerned; - struct VisualNovelCharacterEmotion emotionSurprised; - - DeathPrefab(Scene *s, sceneitemid_t i) : CharacterPrefab(s,i) {} - }; +// Copyright (c) 2023 Dominic Masters +// +// This software is released under the MIT License. +// https://opensource.org/licenses/MIT + +#pragma once +#include "prefabs/characters/CharacterPrefab.hpp" + +namespace Dawn { + class DeathPrefab : public CharacterPrefab { + protected: + + struct VisualNovelCharacterEmotion defineAndGetInitialEmotion( + AssetManager *man + ) override; + + public: + static std::string getCharacterTexture(); + static std::string getCharacterTileset(); + static std::string getLanguagePrefix(); + + struct VisualNovelCharacterEmotion emotionHappy; + struct VisualNovelCharacterEmotion emotionConcerned; + struct VisualNovelCharacterEmotion emotionSurprised; + struct VisualNovelCharacterEmotion emotionUnset; + + DeathPrefab(Scene *s, sceneitemid_t i) : CharacterPrefab(s,i) {} + }; } \ No newline at end of file diff --git a/src/dawntools/tools/vnscenegen/parse/root.hpp b/src/dawntools/tools/vnscenegen/parse/root.hpp index 46afdf35..c94e27b4 100644 --- a/src/dawntools/tools/vnscenegen/parse/root.hpp +++ b/src/dawntools/tools/vnscenegen/parse/root.hpp @@ -48,6 +48,8 @@ namespace Dawn { if(ret != 0) return ret; ++itChildren; } + + out->header.includes.push_back("visualnovel/events/VisualNovelEmptyEvent.hpp"); return ret; } @@ -83,7 +85,7 @@ namespace Dawn { getVNEvent.name = "getVNEvent"; getVNEvent.type = "IVisualNovelEvent *"; getVNEvent.isOverride = true; - line(&getVNEvent.body, "auto start = new VisualNovelPauseEvent(vnManager, 1.0f);", ""); + line(&getVNEvent.body, "auto start = new VisualNovelEmptyEvent(vnManager);", ""); IncludeGen::generate(&c.includes, info->header.includes, ""); IncludeGen::generate(&c.includes, info->events.includes, "");