222 lines
15 KiB
C++
222 lines
15 KiB
C++
#include "renpy/language.h"
|
|
|
|
namespace renpy::script {
|
|
using namespace renpy::language;
|
|
|
|
char const * const strings[] = {
|
|
"Far over the mountains of Almystice", // 0
|
|
"Beyond the tumultuous waters of the Lilac Bay", // 1
|
|
"And across the vast fields of Alysen", // 2
|
|
"Tiny minstrels can be heard amongst the trees", // 3
|
|
"Are we almost there?", // 4
|
|
"Hmmm... Not really", // 5
|
|
"How much further have we to go?", // 6
|
|
"About a day or two of walking", // 7
|
|
"We are still sooo far awayyy", // 8
|
|
"And it will be even further if we dont stop taking breaks", // 9
|
|
"Easy for you to say, all you have to carry is a little memory pipe!", // 10
|
|
"I'm tired ><", // 11
|
|
"Don't start whining now!", // 12
|
|
"You need to remember why we have come all this way", // 13
|
|
"I understand... I suppose it is for an important purpose", // 14
|
|
"We're almost out of the forest, we can take a little break once we clear the tree line", // 15
|
|
"Is that where the flora field is?", // 16
|
|
"Why yes, If I remember correctly, it should be just up ahead", // 17
|
|
"As the minstrel mice girls continue along the path, the forest opens up into a beautiful field of flowers", // 18
|
|
"Look at all the butterflies! They are all so pretty!", // 19
|
|
"This place is like a dream...", // 20
|
|
"There are so many flowers this time of year", // 21
|
|
"I told you it would be worth the journey!", // 22
|
|
"Can we stop for a bit now?", // 23
|
|
"Of course", // 24
|
|
"Ya know, Its a shame we didnt save some of those giant strawberries you found", // 25
|
|
"I told you not to eat them all!", // 26
|
|
"Yah yah", // 27
|
|
"Anyways, shall I recite a tale?", // 28
|
|
"Why dont you sing the story of Eleanor the Hero!", // 29
|
|
"Let us sing of the Hero Eleanor", // 30
|
|
"...", // 31
|
|
"Serves you right for scaring those elephant-dogs", // 32
|
|
"They were asking for it, you know", // 33
|
|
"Rawrrrr", // 34
|
|
"AHHHHHHHHHH!!!!!", // 35
|
|
"Nyanyanyanya", // 36
|
|
"Well, what do we have here? If it isnt 2 little meowse girls, all alone in the flowers", // 37
|
|
"Please dont eat us!!!", // 38
|
|
"Alice dont run, our only chance is through pleading!", // 39
|
|
"Please dont eat us, miss kitty cat!!! ><", // 40
|
|
"I'm not gonna eat you nyanyanya", // 41
|
|
"I just want to know what two little meowses are doing so very far away from home", // 42
|
|
"Also, are you minstrels?", // 43
|
|
"Y-Yes", // 44
|
|
"W-We are on a quest to Castle Alysen...", // 45
|
|
"Shh dont tell her that", // 46
|
|
"The Castle of Alysen you say?!?", // 47
|
|
"Why, that's where I am headed!", // 48
|
|
"You dont say...", // 49
|
|
"Yah I do actually", // 50
|
|
"So... Why might you be traveling to the castle?", // 51
|
|
"nya", // 52
|
|
"Look, your right, the castle is just up ahead!", // 53
|
|
};
|
|
|
|
constexpr int strings_length = (sizeof (strings)) / (sizeof (strings[0]));
|
|
|
|
const character characters[] = {
|
|
{ .characterName = "Alice" }, // 0
|
|
{ .characterName = "Cat" }, // 1
|
|
{ .characterName = "Eily" }, // 2
|
|
{ .characterName = "Mouse Girls" }, // 3
|
|
{ .characterName = "Narrator" }, // 4
|
|
};
|
|
|
|
constexpr int characters_length = (sizeof (characters)) / (sizeof (characters[0]));
|
|
|
|
const audio audio[] = {
|
|
{ .path = "sfx/Chime.opus" }, // 0 sfx/Chime.ogg
|
|
{ .path = "sfx/MistAmbience.opus" }, // 1 sfx/MistAmbience.ogg
|
|
{ .path = "n1test.opus" }, // 2 n1test.mp3
|
|
{ .path = "n2test.opus" }, // 3 n2test.mp3
|
|
{ .path = "n3test.opus" }, // 4 n3test.mp3
|
|
{ .path = "n4test.opus" }, // 5 n4test.mp3
|
|
{ .path = "music/TinyForestMinstrels.opus" }, // 6 music/TinyForestMinstrels.ogg
|
|
{ .path = "n5test.opus" }, // 7 n5test.ogg
|
|
{ .path = "music/PhrygianButterflies.opus" }, // 8 music/PhrygianButterflies.ogg
|
|
{ .path = "music/Poem1.opus" }, // 9 music/Poem1.ogg
|
|
{ .path = "placeholdermeow.opus" }, // 10 placeholdermeow.mp3
|
|
{ .path = "music/ScaredMice.opus" }, // 11 music/ScaredMice.ogg
|
|
};
|
|
|
|
constexpr int audio_length = (sizeof (audio)) / (sizeof (audio[0]));
|
|
|
|
const image images[] = {
|
|
{ .path = "data/renpy/images/bg/white.dds" }, // 0 bg/white.png
|
|
{ .path = "data/renpy/images/bg/forest1.dds" }, // 1 bg/forest1.png
|
|
{ .path = "data/renpy/images/bg/flowerfield1.dds" }, // 2 bg/flowerfield1.png
|
|
{ .path = "data/renpy/images/bg/wheatfield1.dds" }, // 3 bg/wheatfield1.png
|
|
{ .path = "data/renpy/images/ch/cat.dds" }, // 4 ch/cat.png
|
|
{ .path = "data/renpy/images/ch/catw.dds" }, // 5 ch/catw.png
|
|
{ .path = "data/renpy/images/ch/Eily.dds" }, // 6 ch/Eily.png
|
|
{ .path = "data/renpy/images/ch/Alice.dds" }, // 7 ch/Alice.png
|
|
};
|
|
|
|
constexpr int images_length = (sizeof (images)) / (sizeof (images[0]));
|
|
|
|
const option options[] = {
|
|
{ .string = "Complain", .statementIndex = 22 }, // 0
|
|
{ .string = "Rationalize", .statementIndex = 30 }, // 1
|
|
{ .string = "Good idea", .statementIndex = 57 }, // 2
|
|
{ .string = "I am too tired", .statementIndex = 64 }, // 3
|
|
{ .string = "Beg for mercy", .statementIndex = 80 }, // 4
|
|
{ .string = "Run", .statementIndex = 82 }, // 5
|
|
};
|
|
|
|
constexpr int options_length = (sizeof (options)) / (sizeof (options[0]));
|
|
|
|
const statement statements[] = {
|
|
{ .type = type::play, .play = { .audioIndex = 0, /* FIXME channel */ } }, // 0 sfx/Chime.ogg
|
|
{ .type = type::play, .play = { .audioIndex = 1, /* FIXME channel */ } }, // 1 sfx/MistAmbience.ogg
|
|
{ .type = type::scene, .scene = { .imageIndex = 0 } }, // 2 bgwhite
|
|
{ .type = type::voice, .voice = { .audioIndex = 2 } }, // 4 n1test.mp3
|
|
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 0 } }, // 5 n "Far over the mountains of Almystice"
|
|
{ .type = type::voice, .voice = { .audioIndex = 3 } }, // 6 n2test.mp3
|
|
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 1 } }, // 7 n "Beyond the tumultuous waters of the Lilac Bay"
|
|
{ .type = type::voice, .voice = { .audioIndex = 4 } }, // 8 n3test.mp3
|
|
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 2 } }, // 9 n "And across the vast fields of Alysen"
|
|
{ .type = type::voice, .voice = { .audioIndex = 5 } }, // 10 n4test.mp3
|
|
{ .type = type::play, .play = { .audioIndex = 6, /* FIXME channel */ } }, // 11 music/TinyForestMinstrels.ogg
|
|
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 3 } }, // 12 n "Tiny minstrels can be heard amongst the trees"
|
|
{ .type = type::scene, .scene = { .imageIndex = 1 } }, // 13 bgforest1
|
|
{ .type = type::show, .show = { .imageIndex = 7 } }, // 15 al
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 4 } }, // 16 a "Are we almost there?"
|
|
{ .type = type::show, .show = { .imageIndex = 6 } }, // 17 ei
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 5 } }, // 18 e "Hmmm... Not really"
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 6 } }, // 19 a "How much further have we to go?"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 7 } }, // 20 e "About a day or two of walking"
|
|
{ .type = type::menu, .menu = { .count = 2, .optionIndex = 0 } }, // 21 "Complain", "Rationalize"
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 8 } }, // 22 a "We are still sooo far awayyy"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 9 } }, // 23 e "And it will be even further if we dont stop taking breaks"
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 10 } }, // 24 a "Easy for you to say, all you have to carry is a little memory pipe!"
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 11 } }, // 25 a "I'm tired ><"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 12 } }, // 26 e "Don't start whining now!"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 13 } }, // 27 e "You need to remember why we have come all this way"
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 14 } }, // 28 a "I understand... I suppose it is for an important purpose"
|
|
{ .type = type::jump, .jump = { .statementIndex = 32 } }, // 29 internal jump (b'__menu_end', 0)
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 14 } }, // 30 a "I understand... I suppose it is for an important purpose"
|
|
{ .type = type::jump, .jump = { .statementIndex = 32 } }, // 31 internal jump (b'__menu_end', 0)
|
|
{ .type = type::jump, .jump = { .statementIndex = 33 } }, // 32 mainbranch1
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 15 } }, // 33 e "We're almost out of the forest, we can take a little break once we clear the tree line"
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 16 } }, // 34 a "Is that where the flora field is?"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 17 } }, // 35 e "Why yes, If I remember correctly, it should be just up ahead"
|
|
{ .type = type::stop, .stop = { /* FIXME channel */ } }, // 36
|
|
{ .type = type::scene, .scene = { .imageIndex = 0 } }, // 37 bgwhite
|
|
{ .type = type::voice, .voice = { .audioIndex = 7 } }, // 39 n5test.ogg
|
|
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 18 } }, // 40 n "As the minstrel mice girls continue along the path, the forest opens up into a beautiful field of flowers"
|
|
{ .type = type::play, .play = { .audioIndex = 8, /* FIXME channel */ } }, // 41 music/PhrygianButterflies.ogg
|
|
{ .type = type::scene, .scene = { .imageIndex = 2 } }, // 42 bgflower1
|
|
{ .type = type::show, .show = { .imageIndex = 6 } }, // 44 ei
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 19 } }, // 45 e "Look at all the butterflies! They are all so pretty!"
|
|
{ .type = type::show, .show = { .imageIndex = 7 } }, // 46 al
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 20 } }, // 47 a "This place is like a dream..."
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 21 } }, // 48 e "There are so many flowers this time of year"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 22 } }, // 49 e "I told you it would be worth the journey!"
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 23 } }, // 50 a "Can we stop for a bit now?"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 24 } }, // 51 e "Of course"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 25 } }, // 52 e "Ya know, Its a shame we didnt save some of those giant strawberries you found"
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 26 } }, // 53 a "I told you not to eat them all!"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 27 } }, // 54 e "Yah yah"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 28 } }, // 55 e "Anyways, shall I recite a tale?"
|
|
{ .type = type::menu, .menu = { .count = 2, .optionIndex = 2 } }, // 56 "Good idea", "I am too tired"
|
|
{ .type = type::stop, .stop = { /* FIXME channel */ } }, // 57
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 29 } }, // 58 a "Why dont you sing the story of Eleanor the Hero!"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 30 } }, // 59 e "Let us sing of the Hero Eleanor"
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 31 } }, // 60 a "..."
|
|
{ .type = type::play, .play = { .audioIndex = 9, /* FIXME channel */ } }, // 61 music/Poem1.ogg
|
|
{ .type = type::pause, .pause = { .duration = 40 } }, // 62
|
|
{ .type = type::jump, .jump = { .statementIndex = 67 } }, // 63 internal jump (b'__menu_end', 1)
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 32 } }, // 64 e "Serves you right for scaring those elephant-dogs"
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 33 } }, // 65 a "They were asking for it, you know"
|
|
{ .type = type::jump, .jump = { .statementIndex = 67 } }, // 66 internal jump (b'__menu_end', 1)
|
|
{ .type = type::jump, .jump = { .statementIndex = 68 } }, // 67 mainbranch2
|
|
{ .type = type::hide, .hide = { .imageIndex = 6 } }, // 68 ei
|
|
{ .type = type::show, .show = { .imageIndex = 5 } }, // 69 catw
|
|
{ .type = type::show, .show = { .imageIndex = 6 } }, // 70 ei
|
|
{ .type = type::voice, .voice = { .audioIndex = 10 } }, // 71 placeholdermeow.mp3
|
|
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 34 } }, // 72 c "Rawrrrr"
|
|
{ .type = type::hide, .hide = { .imageIndex = 5 } }, // 73 catw
|
|
{ .type = type::show, .show = { .imageIndex = 4 } }, // 74 cat
|
|
{ .type = type::play, .play = { .audioIndex = 11, /* FIXME channel */ } }, // 75 music/ScaredMice.ogg
|
|
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 35 } }, // 76 mg "AHHHHHHHHHH!!!!!"
|
|
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 36 } }, // 77 c "Nyanyanyanya"
|
|
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 37 } }, // 78 c "Well, what do we have here? If it isnt 2 little meowse girls, all alone in the flowers"
|
|
{ .type = type::menu, .menu = { .count = 2, .optionIndex = 4 } }, // 79 "Beg for mercy", "Run"
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 38 } }, // 80 a "Please dont eat us!!!"
|
|
{ .type = type::jump, .jump = { .statementIndex = 85 } }, // 81 internal jump (b'__menu_end', 2)
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 39 } }, // 82 e "Alice dont run, our only chance is through pleading!"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 40 } }, // 83 e "Please dont eat us, miss kitty cat!!! ><"
|
|
{ .type = type::jump, .jump = { .statementIndex = 85 } }, // 84 internal jump (b'__menu_end', 2)
|
|
{ .type = type::jump, .jump = { .statementIndex = 86 } }, // 85 mainbranch3
|
|
{ .type = type::stop, .stop = { /* FIXME channel */ } }, // 86
|
|
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 41 } }, // 87 c "I'm not gonna eat you nyanyanya"
|
|
{ .type = type::play, .play = { .audioIndex = 6, /* FIXME channel */ } }, // 88 music/TinyForestMinstrels.ogg
|
|
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 42 } }, // 89 c "I just want to know what two little meowses are doing so very far away from home"
|
|
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 43 } }, // 90 c "Also, are you minstrels?"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 44 } }, // 91 e "Y-Yes"
|
|
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 45 } }, // 92 a "W-We are on a quest to Castle Alysen..."
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 46 } }, // 93 e "Shh dont tell her that"
|
|
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 47 } }, // 94 c "The Castle of Alysen you say?!?"
|
|
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 48 } }, // 95 c "Why, that's where I am headed!"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 49 } }, // 96 e "You dont say..."
|
|
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 50 } }, // 97 c "Yah I do actually"
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 51 } }, // 98 e "So... Why might you be traveling to the castle?"
|
|
{ .type = type::scene, .scene = { .imageIndex = 0 } }, // 99 bgwhite
|
|
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 52 } }, // 100 n "nya"
|
|
{ .type = type::scene, .scene = { .imageIndex = 3 } }, // 101 bgwheatfield1
|
|
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 53 } }, // 102 e "Look, your right, the castle is just up ahead!"
|
|
{ .type = type::_return }, // 103
|
|
};
|
|
|
|
constexpr int statements_length = (sizeof (statements)) / (sizeof (statements[0]));
|
|
|
|
}
|