poem1 sing-a-long

This commit is contained in:
Zack Buhman 2026-05-30 20:12:53 -05:00
parent a518ff9c4a
commit 29f28b2453
14 changed files with 742 additions and 505 deletions

View File

@ -74,7 +74,8 @@ OBJS = \
src/renpy/script.o \
src/renpy/interpreter.o \
src/renpy/interact.o \
src/audio.o
src/audio.o \
src/poem1.o
ZLIB = ../zlib-1.3.2
CFLAGS += -I$(ZLIB)

View File

@ -208,7 +208,10 @@ label start:
e "Sure"
a "..."
play music "poem/Poem1.ogg" noloop
pause 40
# rawr 1.375
#pause 39.275
#pause 37.9
pause 38.8875
"I am too tired" :
voice "eily/e16.ogg"
e "Serves you right for scaring those elephant-dogs"
@ -256,8 +259,10 @@ label start:
show ei at centerleft:
xzoom -1
#voice "placeholdermeow.mp3"
voice "leona/c1.ogg"
#voice "leona/c1.ogg"
c "Rawrrrr"
play music "leona/c1.ogg"
pause 0.7
hide catw
show cat at right
play ScaredMice "music/ScaredMice.ogg"
@ -893,22 +898,32 @@ label start:
scene bgcastle2
with Dissolve(7.0)
pause 0.0
scene bgcastle3
with Dissolve(7.0)
pause 0.0
scene bgcastle4
with Dissolve(7.0)
pause 0.0
scene bgcastle3
with Dissolve(7.0)
pause 0.0
scene bgcastle2
with Dissolve(7.0)
pause 0.0
scene bgcastle3
with Dissolve(7.0)
pause 0.0
scene bgcastle2
with Dissolve(7.0)
pause 0.0
scene bgcastle1
with Dissolve(10.0)

View File

@ -3,10 +3,16 @@
#include "renpy/language.h"
namespace audio {
extern int poem_timestamp_index;
extern int poem_line_index;
extern bool poem1_playing;
void init();
void load(renpy::language::audio const * const audio, int count);
void update();
void play(int audio_index);
void stop(int audio_index, double fadeout);
void stop_all();
bool exists(int audio_index);
}

18
include/poem1.h Normal file
View File

@ -0,0 +1,18 @@
namespace poem1 {
struct line {
int start;
int length;
};
struct timestamp {
double time;
int wordIndex;
};
extern char const * const words[];
extern int const words_length;
extern line const lines[];
extern int const lines_length;
extern timestamp const timestamps[];
extern int const timestamps_length;
}

View File

@ -15,6 +15,7 @@ namespace renpy {
extern int lastGamepadItem;
extern bool lastUseGamepad;
void jumpToMenuItem(interpreter & state, int i);
bool overlap(int menuWidth, int menuHeight,
int x, int y,
int mx, int my,

View File

@ -3,6 +3,7 @@
namespace renpy::script {
extern char const * const strings[];
extern const int strings_length;
extern const int strings_say_poem_index;
extern const language::character characters[];
extern const int characters_length;

View File

@ -73,7 +73,7 @@ attenuations = {
"MistAmbience": 1.0,
"TinyForestMinstrels": 0.45,
"WheatFields": 1.0,
"Preludium": 1.0,
"Preludium": 0.45,
}
character_images = {
@ -294,6 +294,7 @@ def pass2_strings(state):
yield f"\"{string.decode('utf-8')}\", // {i}"
yield "};"
yield "const int strings_length = (sizeof (strings)) / (sizeof (strings[0]));"
yield f"const int strings_say_poem_index = {state.string_lookup[b'...']};"
def pass2_characters(state):
yield "const language::character characters[] = {"

View File

@ -10,6 +10,7 @@
#include "new.h"
#include "minmax.h"
#include "renpy/language.h"
#include "poem1.h"
namespace audio {
@ -24,13 +25,6 @@ namespace audio {
static int const half_period_samples = sample_rate / 30;
static int const half_period_size = half_period_samples * sample_size * channels;
//
static SDL_AudioStream * audio_stream;
static SDL_AudioSpec audio_spec;
static OpusDecoder * opus_decoder;
struct AudioBuffer {
renpy::language::audio const * audio;
int16_t * buf;
@ -44,8 +38,16 @@ namespace audio {
uint32_t tail_index;
uint32_t fadeout_end;
uint32_t fadeout_index;
bool is_poem1;
};
//
static SDL_AudioStream * audio_stream;
static SDL_AudioSpec audio_spec;
static OpusDecoder * opus_decoder;
static AudioBuffer * audio_buffers;
static int audio_buffers_count;
@ -137,6 +139,7 @@ namespace audio {
void play(int audio_index)
{
fprintf(stderr, "%d %d\n", audio_index, audio_buffers_count);
assert(audio_index >= 0 && audio_index < audio_buffers_count);
assert(audio_instances_count < max_audio_instances);
@ -148,6 +151,11 @@ namespace audio {
instance.tail_index = audio_buffers[audio_index].sample_count;
instance.fadeout_end = 0;
instance.fadeout_index = 0;
instance.is_poem1 = (strcmp(instance.audio_buffer->audio->path, "audio/poem/Poem1.opus.bin") == 0);
if (instance.is_poem1) {
poem_timestamp_index = 0;
poem_line_index = 0;
}
}
bool exists(int audio_index)
@ -178,6 +186,11 @@ namespace audio {
}
}
void stop_all()
{
audio_instances_count = 0;
}
static inline void saturation_add(int16_t * mix_buffer, int32_t value)
{
int32_t mix_value = *mix_buffer;
@ -204,8 +217,6 @@ namespace audio {
int16_t const * const buf = instance.audio_buffer->buf;
uint32_t const sample_count = instance.audio_buffer->sample_count;
uint32_t const loop_end = instance.audio_buffer->audio->loop_end * (double)sample_rate;
bool is_music = (instance.audio_buffer->audio->audio_flags & renpy::language::audio::music) != 0;
uint32_t mix_index = 0;
for (int i = 0; i < half_period_samples; i++) {
if (loop_end != 0.0) {
@ -225,10 +236,10 @@ namespace audio {
assert(instance.sample_index < sample_count);
assert(instance.tail_index <= sample_count);
double fadeout = 1.0;
double attenuation = instance.audio_buffer->audio->attenuation;
assert(attenuation != 0.0);
//bool is_music = (instance.audio_buffer->audio->audio_flags & renpy::language::audio::music) != 0;
//if (is_music)
//fprintf(stderr, "attenuation %f\n", attenuation);
if (instance.fadeout_end != 0) {
@ -263,6 +274,32 @@ namespace audio {
return false;
}
int poem_timestamp_index = 0;
int poem_line_index = 0;
bool poem1_playing = false;
void update_poem(AudioInstance & instance)
{
if (!instance.is_poem1) {
return;
}
poem1_playing = true;
if (poem_timestamp_index < (poem1::timestamps_length - 1)) {
double time = (double)instance.sample_index / (double)sample_rate;
while (poem1::timestamps[poem_timestamp_index + 1].time <= time) {
poem_timestamp_index += 1;
}
}
if (poem_line_index < (poem1::lines_length - 1)) {
while (poem1::timestamps[poem_timestamp_index].wordIndex >= poem1::lines[poem_line_index].start + poem1::lines[poem_line_index].length) {
poem_line_index += 1;
}
}
}
void update()
{
if (SDL_GetAudioStreamQueued(audio_stream) >= half_period_size)
@ -271,8 +308,11 @@ namespace audio {
int16_t mix_buffer[half_period_samples * channels];
memset(mix_buffer, 0, (sizeof (mix_buffer)));
poem1_playing = false;
for (int i = 0; i < audio_instances_count; i++) {
update_instance(mix_buffer, audio_instances[i]);
update_poem(audio_instances[i]);
}
bool culled = true;

View File

@ -1,6 +1,7 @@
#include <assert.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#ifdef __APPLE__
#include "vulkan/vulkan.h"
@ -19,6 +20,9 @@
#include "font/outline_types.h"
#include "renpy/script.h"
#include "audio.h"
#include "poem1.h"
namespace font::outline {
static const _Float16 vertexData[] = {
// x y u v
@ -625,7 +629,8 @@ namespace font::outline {
uint32_t color) const
{
for (int i = startIndex; i < endIndex; i++) {
char c = string[i];
bool highlight = string[i] < 0;
char c = abs(string[i]);
types::glyph const& glyph = loadedFont.glyphs[c - 32];
if (c != ' ' && c != '\n') {
@ -633,7 +638,7 @@ namespace font::outline {
(uint16_t)((x + glyph.metrics.horiBearingX) >> 6),
(uint16_t)((y - glyph.metrics.horiBearingY) >> 6),
(uint32_t)(c - 32),
color,
highlight ? 0xa81524: color,
};
}
@ -653,7 +658,7 @@ namespace font::outline {
uint32_t leftOffset = 0;
while (true) {
char c = string[stringIndex++];
char c = abs(string[stringIndex++]);
if (c == 0)
break;
@ -670,15 +675,15 @@ namespace font::outline {
lineWidth += glyph.metrics.horiAdvance;
if ((lineWidth - leftOffset) + loadedFont.font->face_metrics.max_advance > (maxWidth << 6)) {
while (string[stringIndex] != ' ') {
char c = string[--stringIndex];
while (abs(string[stringIndex]) != ' ') {
char c = abs(string[--stringIndex]);
types::glyph const& glyph = loadedFont.glyphs[c - 32];
lineWidth -= glyph.metrics.horiAdvance;
}
uint32_t center = (minX + (maxWidth / 2)) << 6;
uint32_t left = center - (lineWidth / 2);
emit_line(frameIndex, string, left - leftOffset, y, outputIndex, lineStart, stringIndex, color);
while (string[stringIndex] == ' ') stringIndex++;
while (abs(string[stringIndex]) == ' ') stringIndex++;
lineStart = stringIndex;
lineWidth = 0;
y += loadedFont.font->face_metrics.height * 1.2;
@ -694,6 +699,28 @@ namespace font::outline {
}
}
static char line_buffer[1024];
char const * combine_words(char const * const * const words, int start, int count,
int word_index)
{
assert(count > 0);
int index = 0;
for (int i = start; i < start + count; i++) {
char const * word = words[i];
int sign = (word_index == i) ? -1 : 1;
while (true) {
int c = *word++;
if (c == 0)
break;
line_buffer[index++] = (char)(c * sign);
}
line_buffer[index++] = ' ';
}
assert(index > 0);
line_buffer[index - 1] = 0;
return line_buffer;
}
//////////////////////////////////////////////////////////////////////
// draw
//////////////////////////////////////////////////////////////////////
@ -705,8 +732,49 @@ namespace font::outline {
// transfer
int outputIndex = 0;
if (!state.pause.menu) {
if (state.say.stringIndex != -1u) {
if (state.pause.menu) {
assert(state.menu.count != 0);
for (uint32_t i = 0; i < state.menu.count; i++) {
uint32_t x = 400 << 6;
uint32_t y = (100 * i + 130) << 6;
centered(frameIndex, renpy::script::options[state.menu.optionIndex + i].string,
x, y,
400, 480,
outputIndex,
0x000000);
}
} else {
bool say_poem = state.say.stringIndex == (uint32_t)renpy::script::strings_say_poem_index;
if (audio::poem1_playing && say_poem) {
int word_index = poem1::timestamps[audio::poem_timestamp_index].wordIndex;
char const * const string = combine_words(poem1::words,
poem1::lines[audio::poem_line_index].start,
poem1::lines[audio::poem_line_index].length,
word_index);
uint32_t x = textboxLeft << 6;
uint32_t y = (600 + 20) << 6;
centered(frameIndex, string,
x, y,
textboxLeft, textboxWidth,
outputIndex,
0x000000);
if ((audio::poem_line_index + 1) < poem1::lines_length) {
char const * const string = combine_words(poem1::words,
poem1::lines[audio::poem_line_index + 1].start,
poem1::lines[audio::poem_line_index + 1].length,
-1);
uint32_t x = textboxLeft << 6;
//uint32_t y = (600 + 20) << 6;
y += (20 << 6);
centered(frameIndex, string,
x, y,
textboxLeft, textboxWidth,
outputIndex,
0x808080);
}
} else if (state.say.stringIndex != -1u) {
char const * const string = renpy::script::strings[state.say.stringIndex];
uint32_t x = textboxLeft << 6;
uint32_t y = 600 << 6;
@ -728,17 +796,6 @@ namespace font::outline {
outputIndex,
character.color);
}
} else {
assert(state.menu.count != 0);
for (uint32_t i = 0; i < state.menu.count; i++) {
uint32_t x = 400 << 6;
uint32_t y = (100 * i + 130) << 6;
centered(frameIndex, renpy::script::options[state.menu.optionIndex + i].string,
x, y,
400, 480,
outputIndex,
0x000000);
}
}
// flush

View File

@ -952,12 +952,30 @@ int main()
textureSamplers[2]);
renpy_state.init();
//////////////////////////////////////////////////////////////////////
// audio
//////////////////////////////////////////////////////////////////////
audio::init();
audio::load(renpy::script::audio, renpy::script::audio_length);
//////////////////////////////////////////////////////////////////////
// interpreter
//////////////////////////////////////////////////////////////////////
renpy::interpreter interpreter_state;
interpreter_state.reset(12);
//interpreter_state.reset(88);
interpreter_state.reset(59);
while (interpreter_state.pc < 88) {
if (interpreter_state.pause.menu) {
renpy::jumpToMenuItem(interpreter_state, 0);
}
interpreter_state.pause.voice = false;
interpreter_state.pause.pause = false;
interpreter_state.pause.dissolve = false;
interpreter_state.interpret();
}
audio::stop_all();
//////////////////////////////////////////////////////////////////////
// renpy composite
@ -1020,9 +1038,6 @@ int main()
//collada_state.update(0);
audio::init();
audio::load(renpy::script::audio, renpy::script::audio_length);
bool useGamepad = false;
uint32_t whichGamepad = 0;

72
src/poem1.cpp Normal file
View File

@ -0,0 +1,72 @@
#include "poem1.h"
namespace poem1 {
char const * const words[] = {
"Windless", "misty", "nights",
"I've", "seen", "along", "my", "way",
"Long", "ago",
"With", "my", "sword", "in", "hand", "I", "traveled",
"Through", "the", "wastes",
"Clad", "in", "cloud", "and", "rain",
"Through", "the", "night", "and", "the", "day",
};
int const words_length = (sizeof (words)) / (sizeof (words[0]));
line const lines[] = {
{ 0, 3 },
{ 3, 5 },
{ 8, 2 },
{ 10, 7 },
{ 17, 3 },
{ 20, 5 },
{ 25, 6 }
};
int const lines_length = (sizeof (lines)) / (sizeof (lines[0]));
timestamp const timestamps[] = {
{ 0.0, -1 }, // [instrumental]
{ 4.985, 0 }, // windless
{ 6.24, 1 }, // misty
{ 7.43, 2 }, // nights
{ 9.42, 3 }, // I've
{ 9.875, 4 }, // seen
{ 10.665, 5 }, // along
{ 11.64, 6 }, // my
{ 12.31, 7 }, // way
{ 14.275, 8 }, // Long
{ 14.60, 9 }, // ago
{ 16.65, 10 }, // with
{ 17.00, 11 }, // my
{ 17.12, 12 }, // sword
{ 17.58, 13 }, // in
{ 17.725, 14 }, // hand
{ 18.18, 15 }, // I
{ 18.36, 16 }, // traveled
{ 19.255, 17 }, // through
{ 19.41, 18 }, // the
{ 19.54, 19 }, // wastes
{ 22.62, -1 }, // [instrumental]
{ 24.80, 20 }, // clad
{ 25.35, 21 }, // in
{ 25.80, 22 }, // cloud
{ 26.65, 23 }, // and
{ 27.00, 24 }, // rain
{ 28.025, 25 }, // through
{ 28.225, 26 }, // the
{ 28.28, 27 }, // night
{ 28.835, 28 }, // and
{ 29.15, 29 }, // the
{ 29.65, 30 }, // day
{ 33.00, -1 }, // [instrumental]
};
int const timestamps_length = (sizeof (timestamps)) / (sizeof (timestamps[0]));
}

View File

@ -39,7 +39,7 @@ namespace renpy {
static bool lastgDown = false;
static bool lastgAccept = false;
static void jumpToMenuItem(interpreter & state, int i)
void jumpToMenuItem(interpreter & state, int i)
{
// jump to menu item
uint32_t optionIndex = state.menu.optionIndex + i;

View File

@ -229,6 +229,8 @@ char const * const strings[] = {
const int strings_length = (sizeof (strings)) / (sizeof (strings[0]));
const int strings_say_poem_index = 31;
// b'a'
static const uint32_t character_images_0[] = { 13, 15, 16 };
@ -463,7 +465,7 @@ const language::audio audio[] = {
{ .path = "audio/nara/n9.opus.bin", .loop_end = 0.0, .audio_flags = 0, .attenuation = 1.0 }, // 177 nara/n9.ogg
{ .path = "audio/nara/n10.opus.bin", .loop_end = 0.0, .audio_flags = 0, .attenuation = 1.0 }, // 178 nara/n10.ogg
{ .path = "audio/hera/h1.opus.bin", .loop_end = 0.0, .audio_flags = 0, .attenuation = 1.0 }, // 179 hera/h1.ogg
{ .path = "audio/music/Preludium.opus.bin", .loop_end = 58.2, .audio_flags = audio::music, .attenuation = 1.0 }, // 180 music/Preludium.ogg
{ .path = "audio/music/Preludium.opus.bin", .loop_end = 58.2, .audio_flags = audio::music, .attenuation = 0.45 }, // 180 music/Preludium.ogg
{ .path = "audio/hera/h2.opus.bin", .loop_end = 0.0, .audio_flags = 0, .attenuation = 1.0 }, // 181 hera/h2.ogg
{ .path = "audio/leona/c57.opus.bin", .loop_end = 0.0, .audio_flags = 0, .attenuation = 1.0 }, // 182 leona/c57.ogg
{ .path = "audio/hera/h3.opus.bin", .loop_end = 0.0, .audio_flags = 0, .attenuation = 1.0 }, // 183 hera/h3.ogg
@ -548,8 +550,8 @@ const language::option options[] = {
{ .string = "Rationalize", .statementIndex = 43 }, // 1
{ .string = "Good idea", .statementIndex = 83 }, // 2
{ .string = "I am too tired", .statementIndex = 92 }, // 3
{ .string = "Beg for mercy", .statementIndex = 118 }, // 4
{ .string = "Run", .statementIndex = 121 }, // 5
{ .string = "Beg for mercy", .statementIndex = 119 }, // 4
{ .string = "Run", .statementIndex = 122 }, // 5
};
const int options_length = (sizeof (options)) / (sizeof (options[0]));
@ -559,21 +561,21 @@ const language::dissolve dissolves[] = {
{ .duration = 3.0, .first_statement = 15, .count = 2 },
{ .duration = 1.0, .first_statement = 54, .count = 2 },
{ .duration = 1.0, .first_statement = 59, .count = 1 },
{ .duration = 3.0, .first_statement = 192, .count = 2 },
{ .duration = 3.0, .first_statement = 196, .count = 1 },
{ .duration = 2.0, .first_statement = 332, .count = 2 },
{ .duration = 1.3, .first_statement = 336, .count = 3 },
{ .duration = 3.0, .first_statement = 418, .count = 1 },
{ .duration = 2.0, .first_statement = 427, .count = 2 },
{ .duration = 7.0, .first_statement = 535, .count = 1 },
{ .duration = 3.0, .first_statement = 193, .count = 2 },
{ .duration = 3.0, .first_statement = 197, .count = 1 },
{ .duration = 2.0, .first_statement = 333, .count = 2 },
{ .duration = 1.3, .first_statement = 337, .count = 3 },
{ .duration = 3.0, .first_statement = 419, .count = 1 },
{ .duration = 2.0, .first_statement = 428, .count = 2 },
{ .duration = 7.0, .first_statement = 536, .count = 1 },
{ .duration = 7.0, .first_statement = 537, .count = 1 },
{ .duration = 7.0, .first_statement = 538, .count = 1 },
{ .duration = 7.0, .first_statement = 539, .count = 1 },
{ .duration = 7.0, .first_statement = 540, .count = 1 },
{ .duration = 7.0, .first_statement = 541, .count = 1 },
{ .duration = 10.0, .first_statement = 542, .count = 1 },
{ .duration = 13.0, .first_statement = 544, .count = 1 },
{ .duration = 7.0, .first_statement = 542, .count = 1 },
{ .duration = 7.0, .first_statement = 544, .count = 1 },
{ .duration = 7.0, .first_statement = 546, .count = 1 },
{ .duration = 7.0, .first_statement = 548, .count = 1 },
{ .duration = 10.0, .first_statement = 550, .count = 1 },
{ .duration = 13.0, .first_statement = 552, .count = 1 },
};
const int dissolves_length = (sizeof (dissolves)) / (sizeof (dissolves[0]));
@ -669,7 +671,7 @@ const language::statement statements[] = {
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 30 } }, // 87 e "Sure"
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 31 } }, // 88 a "..."
{ .type = type::play, .play = { .audioIndex = 35 } }, // 89 poem/Poem1.ogg
{ .type = type::pause, .pause = { .duration = 40 } }, // 90
{ .type = type::pause, .pause = { .duration = 38.8875 } }, // 90
{ .type = type::jump, .jump = { .statementIndex = 98 } }, // 91 internal jump (b'__menu_end', 1)
{ .type = type::voice, .voice = { .audioIndex = 36 } }, // 92 eily/e16.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 32 } }, // 93 e "Serves you right for scaring those elephant-dogs"
@ -681,457 +683,465 @@ const language::statement statements[] = {
{ .type = type::hide, .hide = { .imageIndex = 12 } }, // 99 ei
{ .type = type::show, .show = { .imageIndex = 11, .transformIndex = transform::right, } }, // 100 catw
{ .type = type::show, .show = { .imageIndex = 12, .transformIndex = xflip | transform::centerleft, } }, // 101 ei
{ .type = type::voice, .voice = { .audioIndex = 38 } }, // 102 leona/c1.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 34 } }, // 103 c "Rawrrrr"
{ .type = type::hide, .hide = { .imageIndex = 11 } }, // 104 catw
{ .type = type::show, .show = { .imageIndex = 10, .transformIndex = transform::right, } }, // 105 cat
{ .type = type::play, .play = { .audioIndex = 39 } }, // 106 music/ScaredMice.ogg
{ .type = type::hide, .hide = { .imageIndex = 12 } }, // 107 ei
{ .type = type::hide, .hide = { .imageIndex = 13 } }, // 108 al
{ .type = type::show, .show = { .imageIndex = 14, .transformIndex = xflip | transform::centerleft, } }, // 109 sei
{ .type = type::show, .show = { .imageIndex = 15, .transformIndex = transform::left, } }, // 110 sal
{ .type = type::voice, .voice = { .audioIndex = 40 } }, // 111 mousegirls/mg1.ogg
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 35 } }, // 112 mg "AHHHHHHHHHH!!!!!"
{ .type = type::voice, .voice = { .audioIndex = 41 } }, // 113 leona/c2.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 36 } }, // 114 c "Nyanyanyanya"
{ .type = type::voice, .voice = { .audioIndex = 42 } }, // 115 leona/c3.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 37 } }, // 116 c "Well, what do we have here? If it isn't two little meowse girls, all alone amongst the flowers"
{ .type = type::menu, .menu = { .count = 2, .optionIndex = 4 } }, // 117 "Beg for mercy", "Run"
{ .type = type::voice, .voice = { .audioIndex = 43 } }, // 118 alice/a14.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 38 } }, // 119 a "Please don't eat us!!!"
{ .type = type::jump, .jump = { .statementIndex = 126 } }, // 120 internal jump (b'__menu_end', 2)
{ .type = type::voice, .voice = { .audioIndex = 44 } }, // 121 eily/e18.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 39 } }, // 122 e "Alice don't run, our only chance is through pleading!"
{ .type = type::voice, .voice = { .audioIndex = 45 } }, // 123 eily/e19.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 40 } }, // 124 e "Please don't eat us, miss kitty cat!!! ><"
{ .type = type::jump, .jump = { .statementIndex = 126 } }, // 125 internal jump (b'__menu_end', 2)
{ .type = type::jump, .jump = { .statementIndex = 127 } }, // 126 mainbranch3
{ .type = type::stop, .stop = { .audioIndex = 39, .fadeout = 2.0 } }, // 127 ScaredMice
{ .type = type::voice, .voice = { .audioIndex = 46 } }, // 128 leona/c4.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 41 } }, // 129 c "I'm not gonna eat you nyanyanya"
{ .type = type::hide, .hide = { .imageIndex = 15 } }, // 130 sal
{ .type = type::show, .show = { .imageIndex = 13, .transformIndex = transform::left, } }, // 131 al
{ .type = type::play, .play = { .audioIndex = 5 } }, // 132 music/TinyForestMinstrels.ogg
{ .type = type::voice, .voice = { .audioIndex = 47 } }, // 133 leona/c5.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 42 } }, // 134 c "I just want to know what two little meowses are doing so very far away from home"
{ .type = type::hide, .hide = { .imageIndex = 14 } }, // 135 sei
{ .type = type::show, .show = { .imageIndex = 12, .transformIndex = xflip | transform::centerleft, } }, // 136 ei
{ .type = type::voice, .voice = { .audioIndex = 48 } }, // 137 leona/c6.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 43 } }, // 138 c "Also, are you minstrels?"
{ .type = type::voice, .voice = { .audioIndex = 49 } }, // 139 eily/e20.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 44 } }, // 140 e "Y-Yes"
{ .type = type::voice, .voice = { .audioIndex = 50 } }, // 141 alice/a15.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 45 } }, // 142 a "W-We are on a quest to Castle Alysen..."
{ .type = type::voice, .voice = { .audioIndex = 51 } }, // 143 eily/e21.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 46 } }, // 144 e "Shh don't tell her that"
{ .type = type::voice, .voice = { .audioIndex = 52 } }, // 145 leona/c7.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 47 } }, // 146 c "The Castle of Alysen you say?!?"
{ .type = type::voice, .voice = { .audioIndex = 53 } }, // 147 leona/c8.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 48 } }, // 148 c "Why, that's where I am headed!"
{ .type = type::voice, .voice = { .audioIndex = 54 } }, // 149 eily/e22.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 49 } }, // 150 e "You don't say..."
{ .type = type::voice, .voice = { .audioIndex = 55 } }, // 151 leona/c9.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 50 } }, // 152 c "Yah, I do actually"
{ .type = type::voice, .voice = { .audioIndex = 56 } }, // 153 eily/e23.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 51 } }, // 154 e "So... Why might you be traveling to the castle?"
{ .type = type::voice, .voice = { .audioIndex = 57 } }, // 155 leona/c10.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 52 } }, // 156 c "I belong to the lineage of Agrepen"
{ .type = type::voice, .voice = { .audioIndex = 58 } }, // 157 eily/e24.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 53 } }, // 158 e "And what might that mean?"
{ .type = type::voice, .voice = { .audioIndex = 59 } }, // 159 leona/c11.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 54 } }, // 160 c "The Agrepens are a long line of felines loyal to the crown of corvidae"
{ .type = type::voice, .voice = { .audioIndex = 60 } }, // 161 eily/e25.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 55 } }, // 162 e "Really? That must mean you are a noble?"
{ .type = type::voice, .voice = { .audioIndex = 61 } }, // 163 leona/c12.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 56 } }, // 164 c "Well, not really..."
{ .type = type::voice, .voice = { .audioIndex = 62 } }, // 165 leona/c13.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 57 } }, // 166 c "My father was one of the queens knights many years ago"
{ .type = type::voice, .voice = { .audioIndex = 63 } }, // 167 eily/e26.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 58 } }, // 168 e "Ah I see"
{ .type = type::voice, .voice = { .audioIndex = 64 } }, // 169 eily/e27.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 59 } }, // 170 e "So do you live at the castle or something?"
{ .type = type::voice, .voice = { .audioIndex = 65 } }, // 171 leona/c14.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 60 } }, // 172 c "Well, no..."
{ .type = type::voice, .voice = { .audioIndex = 66 } }, // 173 alice/a16.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 61 } }, // 174 a "Then why are you traveling to The Castle Alysen?"
{ .type = type::voice, .voice = { .audioIndex = 67 } }, // 175 leona/c15.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 62 } }, // 176 c "uhhh"
{ .type = type::play, .play = { .audioIndex = 0 } }, // 177 music/MistAmbience.ogg
{ .type = type::stop, .stop = { .audioIndex = 5, .fadeout = 2.0 } }, // 178 TinyForestMinstrels
{ .type = type::voice, .voice = { .audioIndex = 68 } }, // 179 leona/c16.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 63 } }, // 180 c "I DONT NEED TO BE PRESSURED BY LITTLE MICE TO SAY ANYTHING!!!!"
{ .type = type::voice, .voice = { .audioIndex = 69 } }, // 181 leona/c17.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 64 } }, // 182 c "GOOD DAY!"
{ .type = type::hide, .hide = { .imageIndex = 10 } }, // 183 cat
{ .type = type::voice, .voice = { .audioIndex = 70 } }, // 184 alice/a17.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 65 } }, // 185 a "Wha..."
{ .type = type::voice, .voice = { .audioIndex = 71 } }, // 186 eily/e28.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 66 } }, // 187 e "Phew, I was scared she was gonna follow us the whole way"
{ .type = type::voice, .voice = { .audioIndex = 72 } }, // 188 alice/a18.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 67 } }, // 189 a "She didn't seem so bad"
{ .type = type::voice, .voice = { .audioIndex = 73 } }, // 190 eily/e29.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 68 } }, // 191 e "Are you kidding? She's a crazy kitty!"
{ .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 192 bgwhite
{ .type = type::play, .play = { .audioIndex = 1 } }, // 193 sfx/Chime.ogg
{ .type = type::voice, .voice = { .audioIndex = 74 } }, // 194 nara/n6.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 69 } }, // 195 n "After their encounter with the weird cat, the mice scurry out of the flower field and into the nearby meadow"
{ .type = type::scene, .scene = { .imageIndex = 2 } }, // 196 bgforest2
{ .type = type::show, .show = { .imageIndex = 12, .transformIndex = transform::right, } }, // 197 ei
{ .type = type::voice, .voice = { .audioIndex = 75 } }, // 198 eily/e30.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 70 } }, // 199 e "I think this is the right way..."
{ .type = type::show, .show = { .imageIndex = 13, .transformIndex = transform::left, } }, // 200 al
{ .type = type::voice, .voice = { .audioIndex = 76 } }, // 201 alice/a19.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 71 } }, // 202 a "Then where did the path go?"
{ .type = type::voice, .voice = { .audioIndex = 77 } }, // 203 eily/e31.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 72 } }, // 204 e "How am I supposed to know?"
{ .type = type::voice, .voice = { .audioIndex = 78 } }, // 205 alice/a20.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 73 } }, // 206 a "Did you hear that?!?!"
{ .type = type::show, .show = { .imageIndex = 12, .transformIndex = xflip | transform::centerleft, } }, // 207 ei
{ .type = type::show, .show = { .imageIndex = 10, .transformIndex = transform::right, } }, // 208 cat
{ .type = type::play, .play = { .audioIndex = 22 } }, // 209 music/PhrygianButterflies.ogg
{ .type = type::voice, .voice = { .audioIndex = 79 } }, // 210 leona/c18.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 74 } }, // 211 c "Hey there... I apologize, I didn't mean to storm off like that"
{ .type = type::voice, .voice = { .audioIndex = 80 } }, // 212 eily/e32.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 75 } }, // 213 e "Ha ha, no problem..."
{ .type = type::voice, .voice = { .audioIndex = 81 } }, // 214 alice/a21.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 76 } }, // 215 a "So... Why are you traveling to Castle Alysen?"
{ .type = type::voice, .voice = { .audioIndex = 82 } }, // 216 eily/e33.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 77 } }, // 217 e "Alice!!!"
{ .type = type::voice, .voice = { .audioIndex = 83 } }, // 218 leona/c19.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 78 } }, // 219 c "If you must know, I have been summoned by the queen"
{ .type = type::voice, .voice = { .audioIndex = 84 } }, // 220 leona/c20.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 79 } }, // 221 c "I suspect that my poor reputation amongst the locals of Eastern Nidus has come back to haunt me"
{ .type = type::voice, .voice = { .audioIndex = 85 } }, // 222 leona/c21.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 80 } }, // 223 c "Though I know not what what she has summoned me for"
{ .type = type::voice, .voice = { .audioIndex = 86 } }, // 224 alice/a22.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 81 } }, // 225 a "Ahhhhhh"
{ .type = type::voice, .voice = { .audioIndex = 87 } }, // 226 leona/c22.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 82 } }, // 227 c "So then..."
{ .type = type::voice, .voice = { .audioIndex = 88 } }, // 228 leona/c23.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 83 } }, // 229 c "Why are YOU traveling to the Castle?"
{ .type = type::voice, .voice = { .audioIndex = 89 } }, // 230 alice/a23.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 84 } }, // 231 a "We are delivering a feather!!!"
{ .type = type::voice, .voice = { .audioIndex = 90 } }, // 232 eily/e34.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 85 } }, // 233 e "Alice no!"
{ .type = type::voice, .voice = { .audioIndex = 91 } }, // 234 alice/a24.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 86 } }, // 235 a "A feather that belonged to the queen herself!!!"
{ .type = type::voice, .voice = { .audioIndex = 92 } }, // 236 eily/e35.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 87 } }, // 237 e "Why you little..."
{ .type = type::voice, .voice = { .audioIndex = 93 } }, // 238 leona/c24.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 88 } }, // 239 c "A feather you say? One of the queens?"
{ .type = type::voice, .voice = { .audioIndex = 94 } }, // 240 leona/c25.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 89 } }, // 241 c "How on the face of Al Mot might you have aquired such a thing?"
{ .type = type::voice, .voice = { .audioIndex = 95 } }, // 242 leona/c26.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 90 } }, // 243 c "If it is authentic"
{ .type = type::voice, .voice = { .audioIndex = 96 } }, // 244 eily/e36.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 91 } }, // 245 e "Since Alice cannot keep a secret, I shall tell you"
{ .type = type::voice, .voice = { .audioIndex = 97 } }, // 246 eily/e37.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 92 } }, // 247 e "Seven moons ago, our town was attacked by three owls and a band of mice from the northern principalities"
{ .type = type::voice, .voice = { .audioIndex = 98 } }, // 248 eily/e38.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 93 } }, // 249 e "Eventually word spread to greater nearby settlements, and so"
{ .type = type::voice, .voice = { .audioIndex = 99 } }, // 250 eily/e39.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 94 } }, // 251 e "Messengers from the keep in Musia sent for aid from the Ravens"
{ .type = type::voice, .voice = { .audioIndex = 100 } }, // 252 eily/e40.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 95 } }, // 253 e "Four moons ago, the request was answered"
{ .type = type::voice, .voice = { .audioIndex = 101 } }, // 254 eily/e41.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 96 } }, // 255 e "And a small group of mice accompanied by two ravens a fox, and three squirrels set out to the northern principalities"
{ .type = type::voice, .voice = { .audioIndex = 102 } }, // 256 eily/e42.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 97 } }, // 257 e "Anyways, long story short, we drove those barbaric rats out of their home"
{ .type = type::voice, .voice = { .audioIndex = 103 } }, // 258 alice/a25.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 98 } }, // 259 a "They arent actual rats you know"
{ .type = type::voice, .voice = { .audioIndex = 104 } }, // 260 eily/e43.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 99 } }, // 261 e "Obviously, but you wont catch me speaking kindly of them"
{ .type = type::voice, .voice = { .audioIndex = 105 } }, // 262 alice/a26.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 100 } }, // 263 a "And you forgot the most important part"
{ .type = type::voice, .voice = { .audioIndex = 106 } }, // 264 eily/e44.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 101 } }, // 265 e "Yah yah, I am getting there"
{ .type = type::voice, .voice = { .audioIndex = 107 } }, // 266 eily/e45.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 102 } }, // 267 e "So, essentially, my brother is trained in archery, and..."
{ .type = type::voice, .voice = { .audioIndex = 108 } }, // 268 alice/a27.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 103 } }, // 269 a "Speed it up already"
{ .type = type::voice, .voice = { .audioIndex = 109 } }, // 270 eily/e46.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 104 } }, // 271 e "You tell it then!"
{ .type = type::voice, .voice = { .audioIndex = 110 } }, // 272 alice/a28.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 105 } }, // 273 a "My cousin found this feather in one of the highest towers of a castle far to the north"
{ .type = type::voice, .voice = { .audioIndex = 111 } }, // 274 leona/c27.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 106 } }, // 275 c "How do you know it belongs to the queen?"
{ .type = type::voice, .voice = { .audioIndex = 112 } }, // 276 eily/e47.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 107 } }, // 277 e "It said so itself above the display on the wall"
{ .type = type::voice, .voice = { .audioIndex = 113 } }, // 278 alice/a29.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 108 } }, // 279 a "Supposedly, it was in a room filled with treasures!"
{ .type = type::voice, .voice = { .audioIndex = 114 } }, // 280 leona/c28.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 109 } }, // 281 c "That is very nice and all, but what are the two of you doing out here all alone?"
{ .type = type::voice, .voice = { .audioIndex = 115 } }, // 282 leona/c29.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 110 } }, // 283 c "Do you expect every bird in Avia to respect your alliance with Castle Alysen?"
{ .type = type::voice, .voice = { .audioIndex = 116 } }, // 284 eily/e48.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 111 } }, // 285 e "What do you mean?"
{ .type = type::voice, .voice = { .audioIndex = 117 } }, // 286 leona/c30.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 112 } }, // 287 c "I mean, the two of you probably look like walking dinner to most creatures"
{ .type = type::voice, .voice = { .audioIndex = 118 } }, // 288 alice/a30.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 113 } }, // 289 a "I could go for some dinner..."
{ .type = type::voice, .voice = { .audioIndex = 119 } }, // 290 eily/e49.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 114 } }, // 291 e "Anyways..."
{ .type = type::voice, .voice = { .audioIndex = 120 } }, // 292 eily/e50.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 115 } }, // 293 e "To answer your question, upon returning to the village, the feather was taken from my brother by the needle guild"
{ .type = type::voice, .voice = { .audioIndex = 121 } }, // 294 eily/e51.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 116 } }, // 295 e "So... Yesterday, after sundown"
{ .type = type::voice, .voice = { .audioIndex = 122 } }, // 296 eily/e52.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 117 } }, // 297 e "We stole the feather from the guild hall before vanishing into the night"
{ .type = type::voice, .voice = { .audioIndex = 123 } }, // 298 eily/e53.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 118 } }, // 299 e "Can you imagine the look on their stupid faces, when they woke up, and not only is the feather missing"
{ .type = type::voice, .voice = { .audioIndex = 124 } }, // 300 eily/e54.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 119 } }, // 301 e "But so are we!"
{ .type = type::voice, .voice = { .audioIndex = 125 } }, // 302 alice/a31.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 120 } }, // 303 a "Hahahaha"
{ .type = type::voice, .voice = { .audioIndex = 126 } }, // 304 leona/c31.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 121 } }, // 305 c "Are the two of you mad?"
{ .type = type::voice, .voice = { .audioIndex = 127 } }, // 306 leona/c32.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 122 } }, // 307 c "I assume you are attempting to return the Queens feather?"
{ .type = type::voice, .voice = { .audioIndex = 128 } }, // 308 alice/a32.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 123 } }, // 309 a "Yes, we intend to deliver the feather to its rightful owner"
{ .type = type::voice, .voice = { .audioIndex = 129 } }, // 310 leona/c33.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 124 } }, // 311 c "Absolute madness!"
{ .type = type::voice, .voice = { .audioIndex = 130 } }, // 312 mousegirls/mg2.ogg
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 31 } }, // 313 mg "..."
{ .type = type::voice, .voice = { .audioIndex = 131 } }, // 314 leona/c34.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 125 } }, // 315 c "I will follow the two of you"
{ .type = type::voice, .voice = { .audioIndex = 132 } }, // 316 leona/c35.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 126 } }, // 317 c "To keep you safe, that is"
{ .type = type::voice, .voice = { .audioIndex = 133 } }, // 318 alice/a33.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 127 } }, // 319 a "Alright!"
{ .type = type::voice, .voice = { .audioIndex = 134 } }, // 320 eily/e55.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 128 } }, // 321 e "Ha ha... Okay..."
{ .type = type::voice, .voice = { .audioIndex = 135 } }, // 322 leona/c36.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 129 } }, // 323 c "Great! Follow me, I know a shortcut! :3"
{ .type = type::hide, .hide = { .imageIndex = 10 } }, // 324 cat
{ .type = type::voice, .voice = { .audioIndex = 136 } }, // 325 alice/a34.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 130 } }, // 326 a "Sounds good!"
{ .type = type::hide, .hide = { .imageIndex = 13 } }, // 327 al
{ .type = type::stop, .stop = { .audioIndex = 22, .fadeout = 2.0 } }, // 328 PhrygianButterflies
{ .type = type::voice, .voice = { .audioIndex = 137 } }, // 329 eily/e56.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 131 } }, // 330 e "Oh dear!"
{ .type = type::hide, .hide = { .imageIndex = 12 } }, // 331 ei
{ .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 332 bgwhite
{ .type = type::play, .play = { .audioIndex = 1 } }, // 333 sfx/Chime.ogg
{ .type = type::voice, .voice = { .audioIndex = 138 } }, // 334 nara/n7.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 132 } }, // 335 n "And so the mice girls follow the noble cat further towards their destination"
{ .type = type::scene, .scene = { .imageIndex = 4 } }, // 336 bgwheatfield1
{ .type = type::play, .play = { .audioIndex = 139 } }, // 337 music/WheatFields.ogg
{ .type = type::show, .show = { .imageIndex = 10, .transformIndex = transform::right, } }, // 338 cat
{ .type = type::voice, .voice = { .audioIndex = 140 } }, // 339 leona/c37.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 133 } }, // 340 c "Nya"
{ .type = type::show, .show = { .imageIndex = 16, .transformIndex = transform::left, } }, // 341 wal
{ .type = type::voice, .voice = { .audioIndex = 141 } }, // 342 alice/a35.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 134 } }, // 343 a "Look, your right, the castle is just up ahead!"
{ .type = type::show, .show = { .imageIndex = 12, .transformIndex = xflip | transform::centerleft, } }, // 344 ei
{ .type = type::voice, .voice = { .audioIndex = 142 } }, // 345 eily/e57.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 135 } }, // 346 e "Wait up"
{ .type = type::voice, .voice = { .audioIndex = 143 } }, // 347 leona/c38.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 136 } }, // 348 c "I told you I knew a shortcut!"
{ .type = type::voice, .voice = { .audioIndex = 144 } }, // 349 leona/c39.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 137 } }, // 350 c "Most people take the long way around"
{ .type = type::voice, .voice = { .audioIndex = 145 } }, // 351 eily/e58.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 138 } }, // 352 e "Yah because those are royal wheatfields!"
{ .type = type::voice, .voice = { .audioIndex = 146 } }, // 353 alice/a36.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 139 } }, // 354 a "Who cares?"
{ .type = type::voice, .voice = { .audioIndex = 147 } }, // 355 eily/e59.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 140 } }, // 356 e "Are you trying to get us killed?"
{ .type = type::voice, .voice = { .audioIndex = 148 } }, // 357 eily/e60.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 141 } }, // 358 e "Its trespassing on royal land!"
{ .type = type::voice, .voice = { .audioIndex = 149 } }, // 359 leona/c40.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 142 } }, // 360 c "Calm down, I have done this like a million times"
{ .type = type::voice, .voice = { .audioIndex = 150 } }, // 361 eily/e61.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 143 } }, // 362 e "That doesnt make me calm!"
{ .type = type::voice, .voice = { .audioIndex = 151 } }, // 363 leona/c41.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 144 } }, // 364 c "How can the rolling fields of wheat not calm your spirit?"
{ .type = type::voice, .voice = { .audioIndex = 152 } }, // 365 leona/c42.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 145 } }, // 366 c "You little mice truly are mad!"
{ .type = type::voice, .voice = { .audioIndex = 153 } }, // 367 alice/a37.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 146 } }, // 368 a "I like the wheat!"
{ .type = type::voice, .voice = { .audioIndex = 154 } }, // 369 eily/e62.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 147 } }, // 370 e "Shut up!"
{ .type = type::voice, .voice = { .audioIndex = 155 } }, // 371 leona/c43.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 148 } }, // 372 c "Sounds like someone needs a nap!"
{ .type = type::voice, .voice = { .audioIndex = 156 } }, // 373 eily/e63.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 149 } }, // 374 e "Why? because I'm not insane like you?"
{ .type = type::voice, .voice = { .audioIndex = 157 } }, // 375 leona/c44.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 150 } }, // 376 c "Yah, your so sane, that you decided to steal from your town and then run off alone to the country of birds"
{ .type = type::voice, .voice = { .audioIndex = 158 } }, // 377 leona/c45.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 151 } }, // 378 c "The power of friendship wont protect the two of you from becoming dinner"
{ .type = type::voice, .voice = { .audioIndex = 159 } }, // 379 leona/c46.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 152 } }, // 380 c "And that, is why I feel obligated to accompany you!"
{ .type = type::voice, .voice = { .audioIndex = 160 } }, // 381 eily/e64.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 153 } }, // 382 e "Hey, we have a good reason!"
{ .type = type::voice, .voice = { .audioIndex = 161 } }, // 383 leona/c47.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 154 } }, // 384 c "And what might that be?"
{ .type = type::voice, .voice = { .audioIndex = 162 } }, // 385 eily/e65.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 155 } }, // 386 e "My brother found the feather, not the town guild, its a matter of family pride!"
{ .type = type::voice, .voice = { .audioIndex = 163 } }, // 387 leona/c48.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 156 } }, // 388 c "Pride has touched the chosen meouse"
{ .type = type::voice, .voice = { .audioIndex = 164 } }, // 389 leona/c49.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 157 } }, // 390 c "Flies she towards the Castle"
{ .type = type::voice, .voice = { .audioIndex = 165 } }, // 391 leona/c50.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 158 } }, // 392 c "But her ambition burns far too bright, and silly mice dont have any wings to melt"
{ .type = type::voice, .voice = { .audioIndex = 166 } }, // 393 mousegirls/mg3.ogg
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 159 } }, // 394 mg "What?"
{ .type = type::voice, .voice = { .audioIndex = 167 } }, // 395 leona/c51.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 160 } }, // 396 c "Nyanyanya"
{ .type = type::voice, .voice = { .audioIndex = 168 } }, // 397 leona/c52.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 161 } }, // 398 c "Nyevermind"
{ .type = type::stop, .stop = { .audioIndex = 139, .fadeout = 3.0 } }, // 399 WheatFields
{ .type = type::voice, .voice = { .audioIndex = 169 } }, // 400 leona/c53.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 162 } }, // 401 c "Sing me a song little minstrels!"
{ .type = type::voice, .voice = { .audioIndex = 130 } }, // 402 mousegirls/mg2.ogg
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 31 } }, // 403 mg "..."
{ .type = type::play, .play = { .audioIndex = 35 } }, // 404 poem/Poem1.ogg
{ .type = type::pause, .pause = { .duration = 40 } }, // 405
{ .type = type::voice, .voice = { .audioIndex = 170 } }, // 406 leona/c54.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 163 } }, // 407 c "Very Nyice!"
{ .type = type::voice, .voice = { .audioIndex = 171 } }, // 408 leona/c55.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 164 } }, // 409 c "Now tell me little minstrels, what are your names?"
{ .type = type::voice, .voice = { .audioIndex = 172 } }, // 410 alice/a39.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 165 } }, // 411 a "My name is Alice"
{ .type = type::voice, .voice = { .audioIndex = 173 } }, // 412 eily/e67.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 166 } }, // 413 e "And my name is Eily"
{ .type = type::voice, .voice = { .audioIndex = 174 } }, // 414 eily/e68.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 167 } }, // 415 e "What is your name?"
{ .type = type::voice, .voice = { .audioIndex = 175 } }, // 416 leona/c56.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 168 } }, // 417 l "My name is Leona!"
{ .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 418 bgwhite
{ .type = type::voice, .voice = { .audioIndex = 176 } }, // 419 nara/n8.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 169 } }, // 420 n "And so, the odd trio walked through the wheatfields and towards the castle"
{ .type = type::voice, .voice = { .audioIndex = 177 } }, // 421 nara/n9.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 170 } }, // 422 n "Upon approaching the gates, the three were escorted to a large room"
{ .type = type::voice, .voice = { .audioIndex = 178 } }, // 423 nara/n10.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 171 } }, // 424 n "They were then instructed to wait for an audience with the Queen"
{ .type = type::voice, .voice = { .audioIndex = 179 } }, // 425 hera/h1.ogg
{ .type = type::say, .say = { .characterIndex = 7, .stringIndex = 172 } }, // 426 h "You may now present yourselves before her Majesty, Queen Alary of Alysen"
{ .type = type::scene, .scene = { .imageIndex = 5 } }, // 427 bgcastle1
{ .type = type::play, .play = { .audioIndex = 180 } }, // 428 music/Preludium.ogg
{ .type = type::show, .show = { .imageIndex = 9, .transformIndex = transform::right, } }, // 429 bi
{ .type = type::pause, .pause = { .duration = 1.0 } }, // 430
{ .type = type::voice, .voice = { .audioIndex = 181 } }, // 431 hera/h2.ogg
{ .type = type::say, .say = { .characterIndex = 7, .stringIndex = 173 } }, // 432 h "Leona Agrepen of Elmindeer"
{ .type = type::show, .show = { .imageIndex = 10, .transformIndex = xflip | transform::center, } }, // 433 cat
{ .type = type::voice, .voice = { .audioIndex = 182 } }, // 434 leona/c57.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 174 } }, // 435 l "Hail, your Majesty"
{ .type = type::voice, .voice = { .audioIndex = 183 } }, // 436 hera/h3.ogg
{ .type = type::say, .say = { .characterIndex = 7, .stringIndex = 175 } }, // 437 h "Eily VeraWheat of the Western Principalities"
{ .type = type::show, .show = { .imageIndex = 12, .transformIndex = transform::centerleft, } }, // 438 ei
{ .type = type::voice, .voice = { .audioIndex = 184 } }, // 439 eily/e69.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 174 } }, // 440 e "Hail, your Majesty"
{ .type = type::voice, .voice = { .audioIndex = 185 } }, // 441 hera/h4.ogg
{ .type = type::say, .say = { .characterIndex = 7, .stringIndex = 176 } }, // 442 h "Alice SeraWheat of the Western Principalities"
{ .type = type::play, .play = { .audioIndex = 186 } }, // 443 sfx/Glass.ogg
{ .type = type::pause, .pause = { .duration = 1.0 } }, // 444
{ .type = type::voice, .voice = { .audioIndex = 187 } }, // 445 alice/a40.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 177 } }, // 446 a "I'm alright!"
{ .type = type::show, .show = { .imageIndex = 16, .transformIndex = transform::left, } }, // 447 wal
{ .type = type::voice, .voice = { .audioIndex = 188 } }, // 448 alice/a41.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 178 } }, // 449 a "H-Hail, your majesty"
{ .type = type::voice, .voice = { .audioIndex = 189 } }, // 450 leona/c58.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 160 } }, // 451 l "Nyanyanya"
{ .type = type::voice, .voice = { .audioIndex = 190 } }, // 452 bird/b1.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 179 } }, // 453 b "And what is this?"
{ .type = type::voice, .voice = { .audioIndex = 191 } }, // 454 bird/b2.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 180 } }, // 455 b "A cat and two mice in my court?"
{ .type = type::voice, .voice = { .audioIndex = 192 } }, // 456 bird/b3.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 181 } }, // 457 b "Is this some kind of joke?"
{ .type = type::voice, .voice = { .audioIndex = 193 } }, // 458 leona/c59.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 182 } }, // 459 l "Not a joke Your Majesty, these are my friends"
{ .type = type::voice, .voice = { .audioIndex = 194 } }, // 460 eily/e70.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 183 } }, // 461 e "Friends?"
{ .type = type::voice, .voice = { .audioIndex = 195 } }, // 462 bird/b4.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 184 } }, // 463 b "Miss Agrepen, your reputation is far from acceptable"
{ .type = type::voice, .voice = { .audioIndex = 196 } }, // 464 bird/b5.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 185 } }, // 465 b "And I can imagine, you already know why I have summoned you here today"
{ .type = type::voice, .voice = { .audioIndex = 197 } }, // 466 leona/c60.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 186 } }, // 467 l "Uhhmmmm...."
{ .type = type::voice, .voice = { .audioIndex = 198 } }, // 468 leona/c61.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 187 } }, // 469 l "Does it have anything to do with Eastern Nidus?"
{ .type = type::voice, .voice = { .audioIndex = 199 } }, // 470 bird/b6.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 188 } }, // 471 b "I think you already know the answer to that"
{ .type = type::voice, .voice = { .audioIndex = 200 } }, // 472 bird/b7.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 189 } }, // 473 b "Your father would be rather dissapointed if he were still alive"
{ .type = type::voice, .voice = { .audioIndex = 201 } }, // 474 leona/c0.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 31 } }, // 475 l "..."
{ .type = type::voice, .voice = { .audioIndex = 202 } }, // 476 bird/b8.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 190 } }, // 477 b "Leona Agrepen, the court has found you guilty of two cases of larceny and seven cases of petty pilfering"
{ .type = type::voice, .voice = { .audioIndex = 203 } }, // 478 bird/b9.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 191 } }, // 479 b "Miss Agrepen, you are hereby banned from stepping foot in Eastern Nidus"
{ .type = type::voice, .voice = { .audioIndex = 204 } }, // 480 bird/b10.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 192 } }, // 481 b "From here on out, you shall be restricted to the central principalities of Avia"
{ .type = type::voice, .voice = { .audioIndex = 205 } }, // 482 leona/c62.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 193 } }, // 483 l "Owww c'mon! There is nothing to do around here!"
{ .type = type::voice, .voice = { .audioIndex = 206 } }, // 484 bird/b11.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 194 } }, // 485 b "Silence!"
{ .type = type::voice, .voice = { .audioIndex = 207 } }, // 486 bird/b12.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 195 } }, // 487 b "It is here, in the Central city of Alysen that you shall remain, where I can keep a watchful eye on you"
{ .type = type::voice, .voice = { .audioIndex = 208 } }, // 488 bird/b13.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 196 } }, // 489 b "Or would you prefer that I permit the request of the lesser courts to have you declawed?"
{ .type = type::voice, .voice = { .audioIndex = 209 } }, // 490 leona/c63.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 197 } }, // 491 l "No ><"
{ .type = type::voice, .voice = { .audioIndex = 210 } }, // 492 bird/b14.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 198 } }, // 493 b "Take my leniency as a display of gratitude for the services rendered by your father"
{ .type = type::voice, .voice = { .audioIndex = 211 } }, // 494 leona/c64.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 199 } }, // 495 l "Yes Your Majesty... Forgive me for speaking out of turn"
{ .type = type::voice, .voice = { .audioIndex = 212 } }, // 496 bird/b15.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 200 } }, // 497 b "Now, why have you brought these little mice before me?"
{ .type = type::voice, .voice = { .audioIndex = 213 } }, // 498 leona/c65.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 201 } }, // 499 l "Alary, Your Majesty, these are minstrels I met on the road to Alysen"
{ .type = type::voice, .voice = { .audioIndex = 214 } }, // 500 leona/c66.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 202 } }, // 501 l "They lay claim to a feather, said to be one of Your Majesty's own"
{ .type = type::voice, .voice = { .audioIndex = 215 } }, // 502 bird/b16.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 203 } }, // 503 b "Really?"
{ .type = type::voice, .voice = { .audioIndex = 216 } }, // 504 bird/b17.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 204 } }, // 505 b "And what else might the two of you claim? Alice and Eily of the West"
{ .type = type::voice, .voice = { .audioIndex = 217 } }, // 506 alice/a42.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 205 } }, // 507 a "I u-uhh..."
{ .type = type::voice, .voice = { .audioIndex = 218 } }, // 508 eily/e71.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 206 } }, // 509 e "Your Majesty, this feather was found by my brother in a castle to the north"
{ .type = type::voice, .voice = { .audioIndex = 219 } }, // 510 eily/e72.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 207 } }, // 511 e "So very far my cousin and I have journeyed"
{ .type = type::voice, .voice = { .audioIndex = 220 } }, // 512 eily/e73.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 208 } }, // 513 e "Over the mountains of Almystice"
{ .type = type::voice, .voice = { .audioIndex = 221 } }, // 514 eily/e74.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 209 } }, // 515 e "Beyond the deep blue waters of the Lilac bay"
{ .type = type::voice, .voice = { .audioIndex = 222 } }, // 516 eily/e75.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 2 } }, // 517 e "And across the vast fields of Alysen"
{ .type = type::voice, .voice = { .audioIndex = 223 } }, // 518 eily/e76.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 210 } }, // 519 e "All in hopes that we might return Your Majesty's feather"
{ .type = type::voice, .voice = { .audioIndex = 224 } }, // 520 bird/b18.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 211 } }, // 521 b "What splendid and courageous little mice the two of you are"
{ .type = type::voice, .voice = { .audioIndex = 225 } }, // 522 leona/c67.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 212 } }, // 523 l "Nyanyanyanyanya"
{ .type = type::voice, .voice = { .audioIndex = 226 } }, // 524 alice/a43.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 213 } }, // 525 a "We also wanted to show our profound gratitude for the aid provided by Your Majesty just four moons ago"
{ .type = type::voice, .voice = { .audioIndex = 227 } }, // 526 eily/e77.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 214 } }, // 527 e "Please allow us to perform a song for Your Majesty and Your Majesty's court"
{ .type = type::stop, .stop = { .audioIndex = 180, .fadeout = 4.2 } }, // 528 Preludium
{ .type = type::voice, .voice = { .audioIndex = 228 } }, // 529 bird/b19.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 215 } }, // 530 b "I appreciate your loyalty to the crown of Corvidae little mice"
{ .type = type::stop, .stop = { .audioIndex = 0, .fadeout = 4.2 } }, // 531 MistAmbience
{ .type = type::voice, .voice = { .audioIndex = 229 } }, // 532 bird/b20.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 216 } }, // 533 b "You are most welcome to proceed with your little song"
{ .type = type::play, .play = { .audioIndex = 230 } }, // 534 poem/Poem3.ogg
{ .type = type::scene, .scene = { .imageIndex = 6 } }, // 535 bgcastle2
{ .type = type::scene, .scene = { .imageIndex = 7 } }, // 536 bgcastle3
{ .type = type::scene, .scene = { .imageIndex = 8 } }, // 537 bgcastle4
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 34 } }, // 102 c "Rawrrrr"
{ .type = type::play, .play = { .audioIndex = 38 } }, // 103 leona/c1.ogg
{ .type = type::pause, .pause = { .duration = 0.7 } }, // 104
{ .type = type::hide, .hide = { .imageIndex = 11 } }, // 105 catw
{ .type = type::show, .show = { .imageIndex = 10, .transformIndex = transform::right, } }, // 106 cat
{ .type = type::play, .play = { .audioIndex = 39 } }, // 107 music/ScaredMice.ogg
{ .type = type::hide, .hide = { .imageIndex = 12 } }, // 108 ei
{ .type = type::hide, .hide = { .imageIndex = 13 } }, // 109 al
{ .type = type::show, .show = { .imageIndex = 14, .transformIndex = xflip | transform::centerleft, } }, // 110 sei
{ .type = type::show, .show = { .imageIndex = 15, .transformIndex = transform::left, } }, // 111 sal
{ .type = type::voice, .voice = { .audioIndex = 40 } }, // 112 mousegirls/mg1.ogg
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 35 } }, // 113 mg "AHHHHHHHHHH!!!!!"
{ .type = type::voice, .voice = { .audioIndex = 41 } }, // 114 leona/c2.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 36 } }, // 115 c "Nyanyanyanya"
{ .type = type::voice, .voice = { .audioIndex = 42 } }, // 116 leona/c3.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 37 } }, // 117 c "Well, what do we have here? If it isn't two little meowse girls, all alone amongst the flowers"
{ .type = type::menu, .menu = { .count = 2, .optionIndex = 4 } }, // 118 "Beg for mercy", "Run"
{ .type = type::voice, .voice = { .audioIndex = 43 } }, // 119 alice/a14.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 38 } }, // 120 a "Please don't eat us!!!"
{ .type = type::jump, .jump = { .statementIndex = 127 } }, // 121 internal jump (b'__menu_end', 2)
{ .type = type::voice, .voice = { .audioIndex = 44 } }, // 122 eily/e18.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 39 } }, // 123 e "Alice don't run, our only chance is through pleading!"
{ .type = type::voice, .voice = { .audioIndex = 45 } }, // 124 eily/e19.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 40 } }, // 125 e "Please don't eat us, miss kitty cat!!! ><"
{ .type = type::jump, .jump = { .statementIndex = 127 } }, // 126 internal jump (b'__menu_end', 2)
{ .type = type::jump, .jump = { .statementIndex = 128 } }, // 127 mainbranch3
{ .type = type::stop, .stop = { .audioIndex = 39, .fadeout = 2.0 } }, // 128 ScaredMice
{ .type = type::voice, .voice = { .audioIndex = 46 } }, // 129 leona/c4.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 41 } }, // 130 c "I'm not gonna eat you nyanyanya"
{ .type = type::hide, .hide = { .imageIndex = 15 } }, // 131 sal
{ .type = type::show, .show = { .imageIndex = 13, .transformIndex = transform::left, } }, // 132 al
{ .type = type::play, .play = { .audioIndex = 5 } }, // 133 music/TinyForestMinstrels.ogg
{ .type = type::voice, .voice = { .audioIndex = 47 } }, // 134 leona/c5.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 42 } }, // 135 c "I just want to know what two little meowses are doing so very far away from home"
{ .type = type::hide, .hide = { .imageIndex = 14 } }, // 136 sei
{ .type = type::show, .show = { .imageIndex = 12, .transformIndex = xflip | transform::centerleft, } }, // 137 ei
{ .type = type::voice, .voice = { .audioIndex = 48 } }, // 138 leona/c6.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 43 } }, // 139 c "Also, are you minstrels?"
{ .type = type::voice, .voice = { .audioIndex = 49 } }, // 140 eily/e20.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 44 } }, // 141 e "Y-Yes"
{ .type = type::voice, .voice = { .audioIndex = 50 } }, // 142 alice/a15.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 45 } }, // 143 a "W-We are on a quest to Castle Alysen..."
{ .type = type::voice, .voice = { .audioIndex = 51 } }, // 144 eily/e21.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 46 } }, // 145 e "Shh don't tell her that"
{ .type = type::voice, .voice = { .audioIndex = 52 } }, // 146 leona/c7.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 47 } }, // 147 c "The Castle of Alysen you say?!?"
{ .type = type::voice, .voice = { .audioIndex = 53 } }, // 148 leona/c8.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 48 } }, // 149 c "Why, that's where I am headed!"
{ .type = type::voice, .voice = { .audioIndex = 54 } }, // 150 eily/e22.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 49 } }, // 151 e "You don't say..."
{ .type = type::voice, .voice = { .audioIndex = 55 } }, // 152 leona/c9.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 50 } }, // 153 c "Yah, I do actually"
{ .type = type::voice, .voice = { .audioIndex = 56 } }, // 154 eily/e23.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 51 } }, // 155 e "So... Why might you be traveling to the castle?"
{ .type = type::voice, .voice = { .audioIndex = 57 } }, // 156 leona/c10.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 52 } }, // 157 c "I belong to the lineage of Agrepen"
{ .type = type::voice, .voice = { .audioIndex = 58 } }, // 158 eily/e24.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 53 } }, // 159 e "And what might that mean?"
{ .type = type::voice, .voice = { .audioIndex = 59 } }, // 160 leona/c11.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 54 } }, // 161 c "The Agrepens are a long line of felines loyal to the crown of corvidae"
{ .type = type::voice, .voice = { .audioIndex = 60 } }, // 162 eily/e25.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 55 } }, // 163 e "Really? That must mean you are a noble?"
{ .type = type::voice, .voice = { .audioIndex = 61 } }, // 164 leona/c12.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 56 } }, // 165 c "Well, not really..."
{ .type = type::voice, .voice = { .audioIndex = 62 } }, // 166 leona/c13.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 57 } }, // 167 c "My father was one of the queens knights many years ago"
{ .type = type::voice, .voice = { .audioIndex = 63 } }, // 168 eily/e26.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 58 } }, // 169 e "Ah I see"
{ .type = type::voice, .voice = { .audioIndex = 64 } }, // 170 eily/e27.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 59 } }, // 171 e "So do you live at the castle or something?"
{ .type = type::voice, .voice = { .audioIndex = 65 } }, // 172 leona/c14.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 60 } }, // 173 c "Well, no..."
{ .type = type::voice, .voice = { .audioIndex = 66 } }, // 174 alice/a16.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 61 } }, // 175 a "Then why are you traveling to The Castle Alysen?"
{ .type = type::voice, .voice = { .audioIndex = 67 } }, // 176 leona/c15.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 62 } }, // 177 c "uhhh"
{ .type = type::play, .play = { .audioIndex = 0 } }, // 178 music/MistAmbience.ogg
{ .type = type::stop, .stop = { .audioIndex = 5, .fadeout = 2.0 } }, // 179 TinyForestMinstrels
{ .type = type::voice, .voice = { .audioIndex = 68 } }, // 180 leona/c16.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 63 } }, // 181 c "I DONT NEED TO BE PRESSURED BY LITTLE MICE TO SAY ANYTHING!!!!"
{ .type = type::voice, .voice = { .audioIndex = 69 } }, // 182 leona/c17.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 64 } }, // 183 c "GOOD DAY!"
{ .type = type::hide, .hide = { .imageIndex = 10 } }, // 184 cat
{ .type = type::voice, .voice = { .audioIndex = 70 } }, // 185 alice/a17.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 65 } }, // 186 a "Wha..."
{ .type = type::voice, .voice = { .audioIndex = 71 } }, // 187 eily/e28.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 66 } }, // 188 e "Phew, I was scared she was gonna follow us the whole way"
{ .type = type::voice, .voice = { .audioIndex = 72 } }, // 189 alice/a18.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 67 } }, // 190 a "She didn't seem so bad"
{ .type = type::voice, .voice = { .audioIndex = 73 } }, // 191 eily/e29.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 68 } }, // 192 e "Are you kidding? She's a crazy kitty!"
{ .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 193 bgwhite
{ .type = type::play, .play = { .audioIndex = 1 } }, // 194 sfx/Chime.ogg
{ .type = type::voice, .voice = { .audioIndex = 74 } }, // 195 nara/n6.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 69 } }, // 196 n "After their encounter with the weird cat, the mice scurry out of the flower field and into the nearby meadow"
{ .type = type::scene, .scene = { .imageIndex = 2 } }, // 197 bgforest2
{ .type = type::show, .show = { .imageIndex = 12, .transformIndex = transform::right, } }, // 198 ei
{ .type = type::voice, .voice = { .audioIndex = 75 } }, // 199 eily/e30.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 70 } }, // 200 e "I think this is the right way..."
{ .type = type::show, .show = { .imageIndex = 13, .transformIndex = transform::left, } }, // 201 al
{ .type = type::voice, .voice = { .audioIndex = 76 } }, // 202 alice/a19.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 71 } }, // 203 a "Then where did the path go?"
{ .type = type::voice, .voice = { .audioIndex = 77 } }, // 204 eily/e31.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 72 } }, // 205 e "How am I supposed to know?"
{ .type = type::voice, .voice = { .audioIndex = 78 } }, // 206 alice/a20.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 73 } }, // 207 a "Did you hear that?!?!"
{ .type = type::show, .show = { .imageIndex = 12, .transformIndex = xflip | transform::centerleft, } }, // 208 ei
{ .type = type::show, .show = { .imageIndex = 10, .transformIndex = transform::right, } }, // 209 cat
{ .type = type::play, .play = { .audioIndex = 22 } }, // 210 music/PhrygianButterflies.ogg
{ .type = type::voice, .voice = { .audioIndex = 79 } }, // 211 leona/c18.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 74 } }, // 212 c "Hey there... I apologize, I didn't mean to storm off like that"
{ .type = type::voice, .voice = { .audioIndex = 80 } }, // 213 eily/e32.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 75 } }, // 214 e "Ha ha, no problem..."
{ .type = type::voice, .voice = { .audioIndex = 81 } }, // 215 alice/a21.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 76 } }, // 216 a "So... Why are you traveling to Castle Alysen?"
{ .type = type::voice, .voice = { .audioIndex = 82 } }, // 217 eily/e33.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 77 } }, // 218 e "Alice!!!"
{ .type = type::voice, .voice = { .audioIndex = 83 } }, // 219 leona/c19.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 78 } }, // 220 c "If you must know, I have been summoned by the queen"
{ .type = type::voice, .voice = { .audioIndex = 84 } }, // 221 leona/c20.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 79 } }, // 222 c "I suspect that my poor reputation amongst the locals of Eastern Nidus has come back to haunt me"
{ .type = type::voice, .voice = { .audioIndex = 85 } }, // 223 leona/c21.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 80 } }, // 224 c "Though I know not what what she has summoned me for"
{ .type = type::voice, .voice = { .audioIndex = 86 } }, // 225 alice/a22.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 81 } }, // 226 a "Ahhhhhh"
{ .type = type::voice, .voice = { .audioIndex = 87 } }, // 227 leona/c22.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 82 } }, // 228 c "So then..."
{ .type = type::voice, .voice = { .audioIndex = 88 } }, // 229 leona/c23.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 83 } }, // 230 c "Why are YOU traveling to the Castle?"
{ .type = type::voice, .voice = { .audioIndex = 89 } }, // 231 alice/a23.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 84 } }, // 232 a "We are delivering a feather!!!"
{ .type = type::voice, .voice = { .audioIndex = 90 } }, // 233 eily/e34.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 85 } }, // 234 e "Alice no!"
{ .type = type::voice, .voice = { .audioIndex = 91 } }, // 235 alice/a24.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 86 } }, // 236 a "A feather that belonged to the queen herself!!!"
{ .type = type::voice, .voice = { .audioIndex = 92 } }, // 237 eily/e35.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 87 } }, // 238 e "Why you little..."
{ .type = type::voice, .voice = { .audioIndex = 93 } }, // 239 leona/c24.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 88 } }, // 240 c "A feather you say? One of the queens?"
{ .type = type::voice, .voice = { .audioIndex = 94 } }, // 241 leona/c25.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 89 } }, // 242 c "How on the face of Al Mot might you have aquired such a thing?"
{ .type = type::voice, .voice = { .audioIndex = 95 } }, // 243 leona/c26.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 90 } }, // 244 c "If it is authentic"
{ .type = type::voice, .voice = { .audioIndex = 96 } }, // 245 eily/e36.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 91 } }, // 246 e "Since Alice cannot keep a secret, I shall tell you"
{ .type = type::voice, .voice = { .audioIndex = 97 } }, // 247 eily/e37.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 92 } }, // 248 e "Seven moons ago, our town was attacked by three owls and a band of mice from the northern principalities"
{ .type = type::voice, .voice = { .audioIndex = 98 } }, // 249 eily/e38.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 93 } }, // 250 e "Eventually word spread to greater nearby settlements, and so"
{ .type = type::voice, .voice = { .audioIndex = 99 } }, // 251 eily/e39.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 94 } }, // 252 e "Messengers from the keep in Musia sent for aid from the Ravens"
{ .type = type::voice, .voice = { .audioIndex = 100 } }, // 253 eily/e40.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 95 } }, // 254 e "Four moons ago, the request was answered"
{ .type = type::voice, .voice = { .audioIndex = 101 } }, // 255 eily/e41.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 96 } }, // 256 e "And a small group of mice accompanied by two ravens a fox, and three squirrels set out to the northern principalities"
{ .type = type::voice, .voice = { .audioIndex = 102 } }, // 257 eily/e42.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 97 } }, // 258 e "Anyways, long story short, we drove those barbaric rats out of their home"
{ .type = type::voice, .voice = { .audioIndex = 103 } }, // 259 alice/a25.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 98 } }, // 260 a "They arent actual rats you know"
{ .type = type::voice, .voice = { .audioIndex = 104 } }, // 261 eily/e43.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 99 } }, // 262 e "Obviously, but you wont catch me speaking kindly of them"
{ .type = type::voice, .voice = { .audioIndex = 105 } }, // 263 alice/a26.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 100 } }, // 264 a "And you forgot the most important part"
{ .type = type::voice, .voice = { .audioIndex = 106 } }, // 265 eily/e44.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 101 } }, // 266 e "Yah yah, I am getting there"
{ .type = type::voice, .voice = { .audioIndex = 107 } }, // 267 eily/e45.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 102 } }, // 268 e "So, essentially, my brother is trained in archery, and..."
{ .type = type::voice, .voice = { .audioIndex = 108 } }, // 269 alice/a27.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 103 } }, // 270 a "Speed it up already"
{ .type = type::voice, .voice = { .audioIndex = 109 } }, // 271 eily/e46.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 104 } }, // 272 e "You tell it then!"
{ .type = type::voice, .voice = { .audioIndex = 110 } }, // 273 alice/a28.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 105 } }, // 274 a "My cousin found this feather in one of the highest towers of a castle far to the north"
{ .type = type::voice, .voice = { .audioIndex = 111 } }, // 275 leona/c27.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 106 } }, // 276 c "How do you know it belongs to the queen?"
{ .type = type::voice, .voice = { .audioIndex = 112 } }, // 277 eily/e47.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 107 } }, // 278 e "It said so itself above the display on the wall"
{ .type = type::voice, .voice = { .audioIndex = 113 } }, // 279 alice/a29.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 108 } }, // 280 a "Supposedly, it was in a room filled with treasures!"
{ .type = type::voice, .voice = { .audioIndex = 114 } }, // 281 leona/c28.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 109 } }, // 282 c "That is very nice and all, but what are the two of you doing out here all alone?"
{ .type = type::voice, .voice = { .audioIndex = 115 } }, // 283 leona/c29.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 110 } }, // 284 c "Do you expect every bird in Avia to respect your alliance with Castle Alysen?"
{ .type = type::voice, .voice = { .audioIndex = 116 } }, // 285 eily/e48.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 111 } }, // 286 e "What do you mean?"
{ .type = type::voice, .voice = { .audioIndex = 117 } }, // 287 leona/c30.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 112 } }, // 288 c "I mean, the two of you probably look like walking dinner to most creatures"
{ .type = type::voice, .voice = { .audioIndex = 118 } }, // 289 alice/a30.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 113 } }, // 290 a "I could go for some dinner..."
{ .type = type::voice, .voice = { .audioIndex = 119 } }, // 291 eily/e49.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 114 } }, // 292 e "Anyways..."
{ .type = type::voice, .voice = { .audioIndex = 120 } }, // 293 eily/e50.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 115 } }, // 294 e "To answer your question, upon returning to the village, the feather was taken from my brother by the needle guild"
{ .type = type::voice, .voice = { .audioIndex = 121 } }, // 295 eily/e51.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 116 } }, // 296 e "So... Yesterday, after sundown"
{ .type = type::voice, .voice = { .audioIndex = 122 } }, // 297 eily/e52.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 117 } }, // 298 e "We stole the feather from the guild hall before vanishing into the night"
{ .type = type::voice, .voice = { .audioIndex = 123 } }, // 299 eily/e53.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 118 } }, // 300 e "Can you imagine the look on their stupid faces, when they woke up, and not only is the feather missing"
{ .type = type::voice, .voice = { .audioIndex = 124 } }, // 301 eily/e54.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 119 } }, // 302 e "But so are we!"
{ .type = type::voice, .voice = { .audioIndex = 125 } }, // 303 alice/a31.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 120 } }, // 304 a "Hahahaha"
{ .type = type::voice, .voice = { .audioIndex = 126 } }, // 305 leona/c31.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 121 } }, // 306 c "Are the two of you mad?"
{ .type = type::voice, .voice = { .audioIndex = 127 } }, // 307 leona/c32.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 122 } }, // 308 c "I assume you are attempting to return the Queens feather?"
{ .type = type::voice, .voice = { .audioIndex = 128 } }, // 309 alice/a32.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 123 } }, // 310 a "Yes, we intend to deliver the feather to its rightful owner"
{ .type = type::voice, .voice = { .audioIndex = 129 } }, // 311 leona/c33.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 124 } }, // 312 c "Absolute madness!"
{ .type = type::voice, .voice = { .audioIndex = 130 } }, // 313 mousegirls/mg2.ogg
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 31 } }, // 314 mg "..."
{ .type = type::voice, .voice = { .audioIndex = 131 } }, // 315 leona/c34.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 125 } }, // 316 c "I will follow the two of you"
{ .type = type::voice, .voice = { .audioIndex = 132 } }, // 317 leona/c35.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 126 } }, // 318 c "To keep you safe, that is"
{ .type = type::voice, .voice = { .audioIndex = 133 } }, // 319 alice/a33.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 127 } }, // 320 a "Alright!"
{ .type = type::voice, .voice = { .audioIndex = 134 } }, // 321 eily/e55.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 128 } }, // 322 e "Ha ha... Okay..."
{ .type = type::voice, .voice = { .audioIndex = 135 } }, // 323 leona/c36.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 129 } }, // 324 c "Great! Follow me, I know a shortcut! :3"
{ .type = type::hide, .hide = { .imageIndex = 10 } }, // 325 cat
{ .type = type::voice, .voice = { .audioIndex = 136 } }, // 326 alice/a34.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 130 } }, // 327 a "Sounds good!"
{ .type = type::hide, .hide = { .imageIndex = 13 } }, // 328 al
{ .type = type::stop, .stop = { .audioIndex = 22, .fadeout = 2.0 } }, // 329 PhrygianButterflies
{ .type = type::voice, .voice = { .audioIndex = 137 } }, // 330 eily/e56.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 131 } }, // 331 e "Oh dear!"
{ .type = type::hide, .hide = { .imageIndex = 12 } }, // 332 ei
{ .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 333 bgwhite
{ .type = type::play, .play = { .audioIndex = 1 } }, // 334 sfx/Chime.ogg
{ .type = type::voice, .voice = { .audioIndex = 138 } }, // 335 nara/n7.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 132 } }, // 336 n "And so the mice girls follow the noble cat further towards their destination"
{ .type = type::scene, .scene = { .imageIndex = 4 } }, // 337 bgwheatfield1
{ .type = type::play, .play = { .audioIndex = 139 } }, // 338 music/WheatFields.ogg
{ .type = type::show, .show = { .imageIndex = 10, .transformIndex = transform::right, } }, // 339 cat
{ .type = type::voice, .voice = { .audioIndex = 140 } }, // 340 leona/c37.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 133 } }, // 341 c "Nya"
{ .type = type::show, .show = { .imageIndex = 16, .transformIndex = transform::left, } }, // 342 wal
{ .type = type::voice, .voice = { .audioIndex = 141 } }, // 343 alice/a35.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 134 } }, // 344 a "Look, your right, the castle is just up ahead!"
{ .type = type::show, .show = { .imageIndex = 12, .transformIndex = xflip | transform::centerleft, } }, // 345 ei
{ .type = type::voice, .voice = { .audioIndex = 142 } }, // 346 eily/e57.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 135 } }, // 347 e "Wait up"
{ .type = type::voice, .voice = { .audioIndex = 143 } }, // 348 leona/c38.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 136 } }, // 349 c "I told you I knew a shortcut!"
{ .type = type::voice, .voice = { .audioIndex = 144 } }, // 350 leona/c39.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 137 } }, // 351 c "Most people take the long way around"
{ .type = type::voice, .voice = { .audioIndex = 145 } }, // 352 eily/e58.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 138 } }, // 353 e "Yah because those are royal wheatfields!"
{ .type = type::voice, .voice = { .audioIndex = 146 } }, // 354 alice/a36.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 139 } }, // 355 a "Who cares?"
{ .type = type::voice, .voice = { .audioIndex = 147 } }, // 356 eily/e59.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 140 } }, // 357 e "Are you trying to get us killed?"
{ .type = type::voice, .voice = { .audioIndex = 148 } }, // 358 eily/e60.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 141 } }, // 359 e "Its trespassing on royal land!"
{ .type = type::voice, .voice = { .audioIndex = 149 } }, // 360 leona/c40.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 142 } }, // 361 c "Calm down, I have done this like a million times"
{ .type = type::voice, .voice = { .audioIndex = 150 } }, // 362 eily/e61.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 143 } }, // 363 e "That doesnt make me calm!"
{ .type = type::voice, .voice = { .audioIndex = 151 } }, // 364 leona/c41.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 144 } }, // 365 c "How can the rolling fields of wheat not calm your spirit?"
{ .type = type::voice, .voice = { .audioIndex = 152 } }, // 366 leona/c42.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 145 } }, // 367 c "You little mice truly are mad!"
{ .type = type::voice, .voice = { .audioIndex = 153 } }, // 368 alice/a37.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 146 } }, // 369 a "I like the wheat!"
{ .type = type::voice, .voice = { .audioIndex = 154 } }, // 370 eily/e62.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 147 } }, // 371 e "Shut up!"
{ .type = type::voice, .voice = { .audioIndex = 155 } }, // 372 leona/c43.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 148 } }, // 373 c "Sounds like someone needs a nap!"
{ .type = type::voice, .voice = { .audioIndex = 156 } }, // 374 eily/e63.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 149 } }, // 375 e "Why? because I'm not insane like you?"
{ .type = type::voice, .voice = { .audioIndex = 157 } }, // 376 leona/c44.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 150 } }, // 377 c "Yah, your so sane, that you decided to steal from your town and then run off alone to the country of birds"
{ .type = type::voice, .voice = { .audioIndex = 158 } }, // 378 leona/c45.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 151 } }, // 379 c "The power of friendship wont protect the two of you from becoming dinner"
{ .type = type::voice, .voice = { .audioIndex = 159 } }, // 380 leona/c46.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 152 } }, // 381 c "And that, is why I feel obligated to accompany you!"
{ .type = type::voice, .voice = { .audioIndex = 160 } }, // 382 eily/e64.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 153 } }, // 383 e "Hey, we have a good reason!"
{ .type = type::voice, .voice = { .audioIndex = 161 } }, // 384 leona/c47.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 154 } }, // 385 c "And what might that be?"
{ .type = type::voice, .voice = { .audioIndex = 162 } }, // 386 eily/e65.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 155 } }, // 387 e "My brother found the feather, not the town guild, its a matter of family pride!"
{ .type = type::voice, .voice = { .audioIndex = 163 } }, // 388 leona/c48.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 156 } }, // 389 c "Pride has touched the chosen meouse"
{ .type = type::voice, .voice = { .audioIndex = 164 } }, // 390 leona/c49.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 157 } }, // 391 c "Flies she towards the Castle"
{ .type = type::voice, .voice = { .audioIndex = 165 } }, // 392 leona/c50.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 158 } }, // 393 c "But her ambition burns far too bright, and silly mice dont have any wings to melt"
{ .type = type::voice, .voice = { .audioIndex = 166 } }, // 394 mousegirls/mg3.ogg
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 159 } }, // 395 mg "What?"
{ .type = type::voice, .voice = { .audioIndex = 167 } }, // 396 leona/c51.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 160 } }, // 397 c "Nyanyanya"
{ .type = type::voice, .voice = { .audioIndex = 168 } }, // 398 leona/c52.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 161 } }, // 399 c "Nyevermind"
{ .type = type::stop, .stop = { .audioIndex = 139, .fadeout = 3.0 } }, // 400 WheatFields
{ .type = type::voice, .voice = { .audioIndex = 169 } }, // 401 leona/c53.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 162 } }, // 402 c "Sing me a song little minstrels!"
{ .type = type::voice, .voice = { .audioIndex = 130 } }, // 403 mousegirls/mg2.ogg
{ .type = type::say, .say = { .characterIndex = 4, .stringIndex = 31 } }, // 404 mg "..."
{ .type = type::play, .play = { .audioIndex = 35 } }, // 405 poem/Poem1.ogg
{ .type = type::pause, .pause = { .duration = 40 } }, // 406
{ .type = type::voice, .voice = { .audioIndex = 170 } }, // 407 leona/c54.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 163 } }, // 408 c "Very Nyice!"
{ .type = type::voice, .voice = { .audioIndex = 171 } }, // 409 leona/c55.ogg
{ .type = type::say, .say = { .characterIndex = 2, .stringIndex = 164 } }, // 410 c "Now tell me little minstrels, what are your names?"
{ .type = type::voice, .voice = { .audioIndex = 172 } }, // 411 alice/a39.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 165 } }, // 412 a "My name is Alice"
{ .type = type::voice, .voice = { .audioIndex = 173 } }, // 413 eily/e67.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 166 } }, // 414 e "And my name is Eily"
{ .type = type::voice, .voice = { .audioIndex = 174 } }, // 415 eily/e68.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 167 } }, // 416 e "What is your name?"
{ .type = type::voice, .voice = { .audioIndex = 175 } }, // 417 leona/c56.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 168 } }, // 418 l "My name is Leona!"
{ .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 419 bgwhite
{ .type = type::voice, .voice = { .audioIndex = 176 } }, // 420 nara/n8.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 169 } }, // 421 n "And so, the odd trio walked through the wheatfields and towards the castle"
{ .type = type::voice, .voice = { .audioIndex = 177 } }, // 422 nara/n9.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 170 } }, // 423 n "Upon approaching the gates, the three were escorted to a large room"
{ .type = type::voice, .voice = { .audioIndex = 178 } }, // 424 nara/n10.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 171 } }, // 425 n "They were then instructed to wait for an audience with the Queen"
{ .type = type::voice, .voice = { .audioIndex = 179 } }, // 426 hera/h1.ogg
{ .type = type::say, .say = { .characterIndex = 7, .stringIndex = 172 } }, // 427 h "You may now present yourselves before her Majesty, Queen Alary of Alysen"
{ .type = type::scene, .scene = { .imageIndex = 5 } }, // 428 bgcastle1
{ .type = type::play, .play = { .audioIndex = 180 } }, // 429 music/Preludium.ogg
{ .type = type::show, .show = { .imageIndex = 9, .transformIndex = transform::right, } }, // 430 bi
{ .type = type::pause, .pause = { .duration = 1.0 } }, // 431
{ .type = type::voice, .voice = { .audioIndex = 181 } }, // 432 hera/h2.ogg
{ .type = type::say, .say = { .characterIndex = 7, .stringIndex = 173 } }, // 433 h "Leona Agrepen of Elmindeer"
{ .type = type::show, .show = { .imageIndex = 10, .transformIndex = xflip | transform::center, } }, // 434 cat
{ .type = type::voice, .voice = { .audioIndex = 182 } }, // 435 leona/c57.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 174 } }, // 436 l "Hail, your Majesty"
{ .type = type::voice, .voice = { .audioIndex = 183 } }, // 437 hera/h3.ogg
{ .type = type::say, .say = { .characterIndex = 7, .stringIndex = 175 } }, // 438 h "Eily VeraWheat of the Western Principalities"
{ .type = type::show, .show = { .imageIndex = 12, .transformIndex = transform::centerleft, } }, // 439 ei
{ .type = type::voice, .voice = { .audioIndex = 184 } }, // 440 eily/e69.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 174 } }, // 441 e "Hail, your Majesty"
{ .type = type::voice, .voice = { .audioIndex = 185 } }, // 442 hera/h4.ogg
{ .type = type::say, .say = { .characterIndex = 7, .stringIndex = 176 } }, // 443 h "Alice SeraWheat of the Western Principalities"
{ .type = type::play, .play = { .audioIndex = 186 } }, // 444 sfx/Glass.ogg
{ .type = type::pause, .pause = { .duration = 1.0 } }, // 445
{ .type = type::voice, .voice = { .audioIndex = 187 } }, // 446 alice/a40.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 177 } }, // 447 a "I'm alright!"
{ .type = type::show, .show = { .imageIndex = 16, .transformIndex = transform::left, } }, // 448 wal
{ .type = type::voice, .voice = { .audioIndex = 188 } }, // 449 alice/a41.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 178 } }, // 450 a "H-Hail, your majesty"
{ .type = type::voice, .voice = { .audioIndex = 189 } }, // 451 leona/c58.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 160 } }, // 452 l "Nyanyanya"
{ .type = type::voice, .voice = { .audioIndex = 190 } }, // 453 bird/b1.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 179 } }, // 454 b "And what is this?"
{ .type = type::voice, .voice = { .audioIndex = 191 } }, // 455 bird/b2.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 180 } }, // 456 b "A cat and two mice in my court?"
{ .type = type::voice, .voice = { .audioIndex = 192 } }, // 457 bird/b3.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 181 } }, // 458 b "Is this some kind of joke?"
{ .type = type::voice, .voice = { .audioIndex = 193 } }, // 459 leona/c59.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 182 } }, // 460 l "Not a joke Your Majesty, these are my friends"
{ .type = type::voice, .voice = { .audioIndex = 194 } }, // 461 eily/e70.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 183 } }, // 462 e "Friends?"
{ .type = type::voice, .voice = { .audioIndex = 195 } }, // 463 bird/b4.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 184 } }, // 464 b "Miss Agrepen, your reputation is far from acceptable"
{ .type = type::voice, .voice = { .audioIndex = 196 } }, // 465 bird/b5.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 185 } }, // 466 b "And I can imagine, you already know why I have summoned you here today"
{ .type = type::voice, .voice = { .audioIndex = 197 } }, // 467 leona/c60.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 186 } }, // 468 l "Uhhmmmm...."
{ .type = type::voice, .voice = { .audioIndex = 198 } }, // 469 leona/c61.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 187 } }, // 470 l "Does it have anything to do with Eastern Nidus?"
{ .type = type::voice, .voice = { .audioIndex = 199 } }, // 471 bird/b6.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 188 } }, // 472 b "I think you already know the answer to that"
{ .type = type::voice, .voice = { .audioIndex = 200 } }, // 473 bird/b7.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 189 } }, // 474 b "Your father would be rather dissapointed if he were still alive"
{ .type = type::voice, .voice = { .audioIndex = 201 } }, // 475 leona/c0.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 31 } }, // 476 l "..."
{ .type = type::voice, .voice = { .audioIndex = 202 } }, // 477 bird/b8.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 190 } }, // 478 b "Leona Agrepen, the court has found you guilty of two cases of larceny and seven cases of petty pilfering"
{ .type = type::voice, .voice = { .audioIndex = 203 } }, // 479 bird/b9.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 191 } }, // 480 b "Miss Agrepen, you are hereby banned from stepping foot in Eastern Nidus"
{ .type = type::voice, .voice = { .audioIndex = 204 } }, // 481 bird/b10.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 192 } }, // 482 b "From here on out, you shall be restricted to the central principalities of Avia"
{ .type = type::voice, .voice = { .audioIndex = 205 } }, // 483 leona/c62.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 193 } }, // 484 l "Owww c'mon! There is nothing to do around here!"
{ .type = type::voice, .voice = { .audioIndex = 206 } }, // 485 bird/b11.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 194 } }, // 486 b "Silence!"
{ .type = type::voice, .voice = { .audioIndex = 207 } }, // 487 bird/b12.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 195 } }, // 488 b "It is here, in the Central city of Alysen that you shall remain, where I can keep a watchful eye on you"
{ .type = type::voice, .voice = { .audioIndex = 208 } }, // 489 bird/b13.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 196 } }, // 490 b "Or would you prefer that I permit the request of the lesser courts to have you declawed?"
{ .type = type::voice, .voice = { .audioIndex = 209 } }, // 491 leona/c63.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 197 } }, // 492 l "No ><"
{ .type = type::voice, .voice = { .audioIndex = 210 } }, // 493 bird/b14.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 198 } }, // 494 b "Take my leniency as a display of gratitude for the services rendered by your father"
{ .type = type::voice, .voice = { .audioIndex = 211 } }, // 495 leona/c64.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 199 } }, // 496 l "Yes Your Majesty... Forgive me for speaking out of turn"
{ .type = type::voice, .voice = { .audioIndex = 212 } }, // 497 bird/b15.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 200 } }, // 498 b "Now, why have you brought these little mice before me?"
{ .type = type::voice, .voice = { .audioIndex = 213 } }, // 499 leona/c65.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 201 } }, // 500 l "Alary, Your Majesty, these are minstrels I met on the road to Alysen"
{ .type = type::voice, .voice = { .audioIndex = 214 } }, // 501 leona/c66.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 202 } }, // 502 l "They lay claim to a feather, said to be one of Your Majesty's own"
{ .type = type::voice, .voice = { .audioIndex = 215 } }, // 503 bird/b16.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 203 } }, // 504 b "Really?"
{ .type = type::voice, .voice = { .audioIndex = 216 } }, // 505 bird/b17.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 204 } }, // 506 b "And what else might the two of you claim? Alice and Eily of the West"
{ .type = type::voice, .voice = { .audioIndex = 217 } }, // 507 alice/a42.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 205 } }, // 508 a "I u-uhh..."
{ .type = type::voice, .voice = { .audioIndex = 218 } }, // 509 eily/e71.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 206 } }, // 510 e "Your Majesty, this feather was found by my brother in a castle to the north"
{ .type = type::voice, .voice = { .audioIndex = 219 } }, // 511 eily/e72.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 207 } }, // 512 e "So very far my cousin and I have journeyed"
{ .type = type::voice, .voice = { .audioIndex = 220 } }, // 513 eily/e73.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 208 } }, // 514 e "Over the mountains of Almystice"
{ .type = type::voice, .voice = { .audioIndex = 221 } }, // 515 eily/e74.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 209 } }, // 516 e "Beyond the deep blue waters of the Lilac bay"
{ .type = type::voice, .voice = { .audioIndex = 222 } }, // 517 eily/e75.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 2 } }, // 518 e "And across the vast fields of Alysen"
{ .type = type::voice, .voice = { .audioIndex = 223 } }, // 519 eily/e76.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 210 } }, // 520 e "All in hopes that we might return Your Majesty's feather"
{ .type = type::voice, .voice = { .audioIndex = 224 } }, // 521 bird/b18.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 211 } }, // 522 b "What splendid and courageous little mice the two of you are"
{ .type = type::voice, .voice = { .audioIndex = 225 } }, // 523 leona/c67.ogg
{ .type = type::say, .say = { .characterIndex = 6, .stringIndex = 212 } }, // 524 l "Nyanyanyanyanya"
{ .type = type::voice, .voice = { .audioIndex = 226 } }, // 525 alice/a43.ogg
{ .type = type::say, .say = { .characterIndex = 0, .stringIndex = 213 } }, // 526 a "We also wanted to show our profound gratitude for the aid provided by Your Majesty just four moons ago"
{ .type = type::voice, .voice = { .audioIndex = 227 } }, // 527 eily/e77.ogg
{ .type = type::say, .say = { .characterIndex = 3, .stringIndex = 214 } }, // 528 e "Please allow us to perform a song for Your Majesty and Your Majesty's court"
{ .type = type::stop, .stop = { .audioIndex = 180, .fadeout = 4.2 } }, // 529 Preludium
{ .type = type::voice, .voice = { .audioIndex = 228 } }, // 530 bird/b19.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 215 } }, // 531 b "I appreciate your loyalty to the crown of Corvidae little mice"
{ .type = type::stop, .stop = { .audioIndex = 0, .fadeout = 4.2 } }, // 532 MistAmbience
{ .type = type::voice, .voice = { .audioIndex = 229 } }, // 533 bird/b20.ogg
{ .type = type::say, .say = { .characterIndex = 1, .stringIndex = 216 } }, // 534 b "You are most welcome to proceed with your little song"
{ .type = type::play, .play = { .audioIndex = 230 } }, // 535 poem/Poem3.ogg
{ .type = type::scene, .scene = { .imageIndex = 6 } }, // 536 bgcastle2
{ .type = type::pause, .pause = { .duration = 0.0 } }, // 537
{ .type = type::scene, .scene = { .imageIndex = 7 } }, // 538 bgcastle3
{ .type = type::scene, .scene = { .imageIndex = 6 } }, // 539 bgcastle2
{ .type = type::scene, .scene = { .imageIndex = 7 } }, // 540 bgcastle3
{ .type = type::scene, .scene = { .imageIndex = 6 } }, // 541 bgcastle2
{ .type = type::scene, .scene = { .imageIndex = 5 } }, // 542 bgcastle1
{ .type = type::pause, .pause = { .duration = 3 } }, // 543
{ .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 544 bgwhite
{ .type = type::pause, .pause = { .duration = 33 } }, // 545
{ .type = type::voice, .voice = { .audioIndex = 231 } }, // 546 nara/n11.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 217 } }, // 547 n "In the end, Leona managed to stay out of the dungeon"
{ .type = type::voice, .voice = { .audioIndex = 232 } }, // 548 nara/n12.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 218 } }, // 549 n "Eily and Alice both stayed in service of the queen for 7 harvests"
{ .type = type::voice, .voice = { .audioIndex = 233 } }, // 550 nara/n13.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 219 } }, // 551 n "before returning to their small nameless town, near the Keep of Musia"
{ .type = type::_return }, // 552
{ .type = type::pause, .pause = { .duration = 0.0 } }, // 539
{ .type = type::scene, .scene = { .imageIndex = 8 } }, // 540 bgcastle4
{ .type = type::pause, .pause = { .duration = 0.0 } }, // 541
{ .type = type::scene, .scene = { .imageIndex = 7 } }, // 542 bgcastle3
{ .type = type::pause, .pause = { .duration = 0.0 } }, // 543
{ .type = type::scene, .scene = { .imageIndex = 6 } }, // 544 bgcastle2
{ .type = type::pause, .pause = { .duration = 0.0 } }, // 545
{ .type = type::scene, .scene = { .imageIndex = 7 } }, // 546 bgcastle3
{ .type = type::pause, .pause = { .duration = 0.0 } }, // 547
{ .type = type::scene, .scene = { .imageIndex = 6 } }, // 548 bgcastle2
{ .type = type::pause, .pause = { .duration = 0.0 } }, // 549
{ .type = type::scene, .scene = { .imageIndex = 5 } }, // 550 bgcastle1
{ .type = type::pause, .pause = { .duration = 3 } }, // 551
{ .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 552 bgwhite
{ .type = type::pause, .pause = { .duration = 33 } }, // 553
{ .type = type::voice, .voice = { .audioIndex = 231 } }, // 554 nara/n11.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 217 } }, // 555 n "In the end, Leona managed to stay out of the dungeon"
{ .type = type::voice, .voice = { .audioIndex = 232 } }, // 556 nara/n12.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 218 } }, // 557 n "Eily and Alice both stayed in service of the queen for 7 harvests"
{ .type = type::voice, .voice = { .audioIndex = 233 } }, // 558 nara/n13.ogg
{ .type = type::say, .say = { .characterIndex = 5, .stringIndex = 219 } }, // 559 n "before returning to their small nameless town, near the Keep of Musia"
{ .type = type::_return }, // 560
};
const int statements_length = (sizeof (statements)) / (sizeof (statements[0]));

View File

@ -557,7 +557,7 @@ namespace renpy {
instanceMappedData[maximumImageCount * frameIndex + outputIndex++] = {
.size = {708, 200},
.topLeft = {286, 720 - 200},
.color = 0x80ffffffu,
.color = 0xc0ffffffu,
.imageIndex = -2, // white gradient 1
};
instanceMappedData[maximumImageCount * frameIndex + outputIndex++] = {