diff --git a/Makefile b/Makefile index fa996e3..0b21383 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,7 @@ OBJARCH = elf64-x86-64 UNAME := $(shell uname -s) -OPT += -Os +OPT += -O0 OPT += -march=core-avx2 DEBUG = -g @@ -113,20 +113,20 @@ all: main %.o: %.s $(AS) $< -o $@ -%.dds: %.png - WINEDEBUG=-all wine $(HOME)/Texconv.exe -y -nogpu -nowic -dx10 --format BC7_UNORM_SRGB -m 1 $< -o $(dir $@) +#%.dds: %.png +# WINEDEBUG=-all wine $(HOME)/Texconv.exe -y -nogpu -nowic -dx10 --format BC7_UNORM_SRGB -m 1 $< -o $(dir $@) -%.pcm: %.wav - ffmpeg -loglevel quiet -y -i $< -c:a pcm_s16le -ar 48000 -ac 2 -f s16le $@ +#%.pcm: %.wav +# ffmpeg -loglevel quiet -y -i $< -c:a pcm_s16le -ar 48000 -ac 2 -f s16le $@ -%.pcm: %.ogg - ffmpeg -loglevel quiet -y -i $< -c:a pcm_s16le -ar 48000 -ac 2 -f s16le $@ +#%.pcm: %.ogg +# ffmpeg -loglevel quiet -y -i $< -c:a pcm_s16le -ar 48000 -ac 2 -f s16le $@ -%.pcm: %.mp3 - ffmpeg -loglevel quiet -y -i $< -c:a pcm_s16le -ar 48000 -ac 2 -f s16le $@ +#%.pcm: %.mp3 +# ffmpeg -loglevel quiet -y -i $< -c:a pcm_s16le -ar 48000 -ac 2 -f s16le $@ -%.opus.bin: %.pcm - ./tools/opus_encode $< $@ +#%.opus.bin: %.pcm +# ./tools/opus_encode $< $@ main: $(OBJS) $(LIBS) $(CC) $(ARCH) $(LDFLAGS) $(FLAGS) $(OPT) $(DEBUG) $^ -o $@ @@ -142,8 +142,8 @@ tool/pack_file: tool/pack_file.cpp src/pack.o: files.pack.zlib -#src/renpy/script.cpp: data/renpy/script.rpy -# PYTHONPATH=renpy-parser python -m transform $< > $@ +src/renpy/script.cpp: data/renpy/script.rpy + PYTHONPATH=renpy-parser python -m transform $< > $@ PACK_FILENAMES = $(shell cat filenames.txt) files.pack: tool/pack_file $(PACK_FILENAMES) filenames.txt diff --git a/audio/alice/a1.opus.bin b/audio/alice/a1.opus.bin new file mode 100644 index 0000000..d2f627e Binary files /dev/null and b/audio/alice/a1.opus.bin differ diff --git a/audio/alice/a1.wav b/audio/alice/a1.wav new file mode 100644 index 0000000..1ca3c74 Binary files /dev/null and b/audio/alice/a1.wav differ diff --git a/audio/alice/a10.opus.bin b/audio/alice/a10.opus.bin new file mode 100644 index 0000000..7c99565 Binary files /dev/null and b/audio/alice/a10.opus.bin differ diff --git a/audio/alice/a10.wav b/audio/alice/a10.wav new file mode 100644 index 0000000..f0ff965 Binary files /dev/null and b/audio/alice/a10.wav differ diff --git a/audio/alice/a11.opus.bin b/audio/alice/a11.opus.bin new file mode 100644 index 0000000..aa2c991 Binary files /dev/null and b/audio/alice/a11.opus.bin differ diff --git a/audio/alice/a11.wav b/audio/alice/a11.wav new file mode 100644 index 0000000..c65981d Binary files /dev/null and b/audio/alice/a11.wav differ diff --git a/audio/alice/a12.opus.bin b/audio/alice/a12.opus.bin new file mode 100644 index 0000000..a909e5b Binary files /dev/null and b/audio/alice/a12.opus.bin differ diff --git a/audio/alice/a12.wav b/audio/alice/a12.wav new file mode 100644 index 0000000..433d94a Binary files /dev/null and b/audio/alice/a12.wav differ diff --git a/audio/alice/a13.wav b/audio/alice/a13.wav new file mode 100644 index 0000000..7041585 Binary files /dev/null and b/audio/alice/a13.wav differ diff --git a/audio/alice/a14.opus.bin b/audio/alice/a14.opus.bin new file mode 100644 index 0000000..4aa3ece Binary files /dev/null and b/audio/alice/a14.opus.bin differ diff --git a/audio/alice/a14.wav b/audio/alice/a14.wav new file mode 100644 index 0000000..288a819 Binary files /dev/null and b/audio/alice/a14.wav differ diff --git a/audio/alice/a15.opus.bin b/audio/alice/a15.opus.bin new file mode 100644 index 0000000..8c72675 Binary files /dev/null and b/audio/alice/a15.opus.bin differ diff --git a/audio/alice/a15.wav b/audio/alice/a15.wav new file mode 100644 index 0000000..2fbb45e Binary files /dev/null and b/audio/alice/a15.wav differ diff --git a/audio/alice/a16.opus.bin b/audio/alice/a16.opus.bin new file mode 100644 index 0000000..ac381a0 Binary files /dev/null and b/audio/alice/a16.opus.bin differ diff --git a/audio/alice/a16.wav b/audio/alice/a16.wav new file mode 100644 index 0000000..7e8f8f7 Binary files /dev/null and b/audio/alice/a16.wav differ diff --git a/audio/alice/a17.opus.bin b/audio/alice/a17.opus.bin new file mode 100644 index 0000000..15fe167 Binary files /dev/null and b/audio/alice/a17.opus.bin differ diff --git a/audio/alice/a17.wav b/audio/alice/a17.wav new file mode 100644 index 0000000..775bc43 Binary files /dev/null and b/audio/alice/a17.wav differ diff --git a/audio/alice/a18.opus.bin b/audio/alice/a18.opus.bin new file mode 100644 index 0000000..71a8165 Binary files /dev/null and b/audio/alice/a18.opus.bin differ diff --git a/audio/alice/a18.wav b/audio/alice/a18.wav new file mode 100644 index 0000000..8b69d43 Binary files /dev/null and b/audio/alice/a18.wav differ diff --git a/audio/alice/a19.opus.bin b/audio/alice/a19.opus.bin new file mode 100644 index 0000000..a5e0283 Binary files /dev/null and b/audio/alice/a19.opus.bin differ diff --git a/audio/alice/a19.wav b/audio/alice/a19.wav new file mode 100644 index 0000000..4c671b9 Binary files /dev/null and b/audio/alice/a19.wav differ diff --git a/audio/alice/a2.opus.bin b/audio/alice/a2.opus.bin new file mode 100644 index 0000000..bcd3612 Binary files /dev/null and b/audio/alice/a2.opus.bin differ diff --git a/audio/alice/a2.wav b/audio/alice/a2.wav new file mode 100644 index 0000000..d4caf47 Binary files /dev/null and b/audio/alice/a2.wav differ diff --git a/audio/alice/a20.opus.bin b/audio/alice/a20.opus.bin new file mode 100644 index 0000000..4553b7a Binary files /dev/null and b/audio/alice/a20.opus.bin differ diff --git a/audio/alice/a20.wav b/audio/alice/a20.wav new file mode 100644 index 0000000..a15b286 Binary files /dev/null and b/audio/alice/a20.wav differ diff --git a/audio/alice/a21.opus.bin b/audio/alice/a21.opus.bin new file mode 100644 index 0000000..01f5cfa Binary files /dev/null and b/audio/alice/a21.opus.bin differ diff --git a/audio/alice/a21.wav b/audio/alice/a21.wav new file mode 100644 index 0000000..b583386 Binary files /dev/null and b/audio/alice/a21.wav differ diff --git a/audio/alice/a22.opus.bin b/audio/alice/a22.opus.bin new file mode 100644 index 0000000..1ac3d54 Binary files /dev/null and b/audio/alice/a22.opus.bin differ diff --git a/audio/alice/a22.wav b/audio/alice/a22.wav new file mode 100644 index 0000000..bfbe1ec Binary files /dev/null and b/audio/alice/a22.wav differ diff --git a/audio/alice/a23.opus.bin b/audio/alice/a23.opus.bin new file mode 100644 index 0000000..f0603e0 Binary files /dev/null and b/audio/alice/a23.opus.bin differ diff --git a/audio/alice/a23.wav b/audio/alice/a23.wav new file mode 100644 index 0000000..f3f372f Binary files /dev/null and b/audio/alice/a23.wav differ diff --git a/audio/alice/a24.opus.bin b/audio/alice/a24.opus.bin new file mode 100644 index 0000000..6e9564e Binary files /dev/null and b/audio/alice/a24.opus.bin differ diff --git a/audio/alice/a24.wav b/audio/alice/a24.wav new file mode 100644 index 0000000..092aac4 Binary files /dev/null and b/audio/alice/a24.wav differ diff --git a/audio/alice/a25.opus.bin b/audio/alice/a25.opus.bin new file mode 100644 index 0000000..8802875 Binary files /dev/null and b/audio/alice/a25.opus.bin differ diff --git a/audio/alice/a25.wav b/audio/alice/a25.wav new file mode 100644 index 0000000..40e618c Binary files /dev/null and b/audio/alice/a25.wav differ diff --git a/audio/alice/a26.opus.bin b/audio/alice/a26.opus.bin new file mode 100644 index 0000000..9c7f9dc Binary files /dev/null and b/audio/alice/a26.opus.bin differ diff --git a/audio/alice/a26.wav b/audio/alice/a26.wav new file mode 100644 index 0000000..e6dab1f Binary files /dev/null and b/audio/alice/a26.wav differ diff --git a/audio/alice/a27.opus.bin b/audio/alice/a27.opus.bin new file mode 100644 index 0000000..66c2a56 Binary files /dev/null and b/audio/alice/a27.opus.bin differ diff --git a/audio/alice/a27.wav b/audio/alice/a27.wav new file mode 100644 index 0000000..1b6cce0 Binary files /dev/null and b/audio/alice/a27.wav differ diff --git a/audio/alice/a28.opus.bin b/audio/alice/a28.opus.bin new file mode 100644 index 0000000..6b54923 Binary files /dev/null and b/audio/alice/a28.opus.bin differ diff --git a/audio/alice/a28.wav b/audio/alice/a28.wav new file mode 100644 index 0000000..23e6874 Binary files /dev/null and b/audio/alice/a28.wav differ diff --git a/audio/alice/a29.opus.bin b/audio/alice/a29.opus.bin new file mode 100644 index 0000000..78ffbd2 Binary files /dev/null and b/audio/alice/a29.opus.bin differ diff --git a/audio/alice/a29.wav b/audio/alice/a29.wav new file mode 100644 index 0000000..bb7ecae Binary files /dev/null and b/audio/alice/a29.wav differ diff --git a/audio/alice/a3.opus.bin b/audio/alice/a3.opus.bin new file mode 100644 index 0000000..dcf9e57 Binary files /dev/null and b/audio/alice/a3.opus.bin differ diff --git a/audio/alice/a3.wav b/audio/alice/a3.wav new file mode 100644 index 0000000..ca0b1c7 Binary files /dev/null and b/audio/alice/a3.wav differ diff --git a/audio/alice/a30.opus.bin b/audio/alice/a30.opus.bin new file mode 100644 index 0000000..04ade65 Binary files /dev/null and b/audio/alice/a30.opus.bin differ diff --git a/audio/alice/a30.wav b/audio/alice/a30.wav new file mode 100644 index 0000000..6fe45a5 Binary files /dev/null and b/audio/alice/a30.wav differ diff --git a/audio/alice/a31.opus.bin b/audio/alice/a31.opus.bin new file mode 100644 index 0000000..213b8fc Binary files /dev/null and b/audio/alice/a31.opus.bin differ diff --git a/audio/alice/a31.wav b/audio/alice/a31.wav new file mode 100644 index 0000000..e4760ef Binary files /dev/null and b/audio/alice/a31.wav differ diff --git a/audio/alice/a32.opus.bin b/audio/alice/a32.opus.bin new file mode 100644 index 0000000..0d936bc Binary files /dev/null and b/audio/alice/a32.opus.bin differ diff --git a/audio/alice/a32.wav b/audio/alice/a32.wav new file mode 100644 index 0000000..40ec042 Binary files /dev/null and b/audio/alice/a32.wav differ diff --git a/audio/alice/a33.opus.bin b/audio/alice/a33.opus.bin new file mode 100644 index 0000000..5dfdbee Binary files /dev/null and b/audio/alice/a33.opus.bin differ diff --git a/audio/alice/a33.wav b/audio/alice/a33.wav new file mode 100644 index 0000000..9b4d023 Binary files /dev/null and b/audio/alice/a33.wav differ diff --git a/audio/alice/a34.opus.bin b/audio/alice/a34.opus.bin new file mode 100644 index 0000000..0bf8b25 Binary files /dev/null and b/audio/alice/a34.opus.bin differ diff --git a/audio/alice/a34.wav b/audio/alice/a34.wav new file mode 100644 index 0000000..380395e Binary files /dev/null and b/audio/alice/a34.wav differ diff --git a/audio/alice/a35.opus.bin b/audio/alice/a35.opus.bin new file mode 100644 index 0000000..06a0b7e Binary files /dev/null and b/audio/alice/a35.opus.bin differ diff --git a/audio/alice/a35.wav b/audio/alice/a35.wav new file mode 100644 index 0000000..e1593f0 Binary files /dev/null and b/audio/alice/a35.wav differ diff --git a/audio/alice/a36.opus.bin b/audio/alice/a36.opus.bin new file mode 100644 index 0000000..3e2daa7 Binary files /dev/null and b/audio/alice/a36.opus.bin differ diff --git a/audio/alice/a36.wav b/audio/alice/a36.wav new file mode 100644 index 0000000..389a825 Binary files /dev/null and b/audio/alice/a36.wav differ diff --git a/audio/alice/a37.opus.bin b/audio/alice/a37.opus.bin new file mode 100644 index 0000000..27ba07f Binary files /dev/null and b/audio/alice/a37.opus.bin differ diff --git a/audio/alice/a37.wav b/audio/alice/a37.wav new file mode 100644 index 0000000..f268539 Binary files /dev/null and b/audio/alice/a37.wav differ diff --git a/audio/alice/a38.wav b/audio/alice/a38.wav new file mode 100644 index 0000000..396c873 Binary files /dev/null and b/audio/alice/a38.wav differ diff --git a/audio/alice/a39.opus.bin b/audio/alice/a39.opus.bin new file mode 100644 index 0000000..03920fd Binary files /dev/null and b/audio/alice/a39.opus.bin differ diff --git a/audio/alice/a39.wav b/audio/alice/a39.wav new file mode 100644 index 0000000..71ef704 Binary files /dev/null and b/audio/alice/a39.wav differ diff --git a/audio/alice/a4.opus.bin b/audio/alice/a4.opus.bin new file mode 100644 index 0000000..4872890 Binary files /dev/null and b/audio/alice/a4.opus.bin differ diff --git a/audio/alice/a4.wav b/audio/alice/a4.wav new file mode 100644 index 0000000..2a5c340 Binary files /dev/null and b/audio/alice/a4.wav differ diff --git a/audio/alice/a40.opus.bin b/audio/alice/a40.opus.bin new file mode 100644 index 0000000..da5f75d Binary files /dev/null and b/audio/alice/a40.opus.bin differ diff --git a/audio/alice/a40.wav b/audio/alice/a40.wav new file mode 100644 index 0000000..8b2f819 Binary files /dev/null and b/audio/alice/a40.wav differ diff --git a/audio/alice/a41.opus.bin b/audio/alice/a41.opus.bin new file mode 100644 index 0000000..cd744cc Binary files /dev/null and b/audio/alice/a41.opus.bin differ diff --git a/audio/alice/a41.wav b/audio/alice/a41.wav new file mode 100644 index 0000000..97fdc15 Binary files /dev/null and b/audio/alice/a41.wav differ diff --git a/audio/alice/a42.opus.bin b/audio/alice/a42.opus.bin new file mode 100644 index 0000000..1d01328 Binary files /dev/null and b/audio/alice/a42.opus.bin differ diff --git a/audio/alice/a42.wav b/audio/alice/a42.wav new file mode 100644 index 0000000..2eb67bd Binary files /dev/null and b/audio/alice/a42.wav differ diff --git a/audio/alice/a43.opus.bin b/audio/alice/a43.opus.bin new file mode 100644 index 0000000..915a72a Binary files /dev/null and b/audio/alice/a43.opus.bin differ diff --git a/audio/alice/a43.wav b/audio/alice/a43.wav new file mode 100644 index 0000000..ea033e0 Binary files /dev/null and b/audio/alice/a43.wav differ diff --git a/audio/alice/a5.opus.bin b/audio/alice/a5.opus.bin new file mode 100644 index 0000000..1c642bd Binary files /dev/null and b/audio/alice/a5.opus.bin differ diff --git a/audio/alice/a5.wav b/audio/alice/a5.wav new file mode 100644 index 0000000..b13bbaf Binary files /dev/null and b/audio/alice/a5.wav differ diff --git a/audio/alice/a6.opus.bin b/audio/alice/a6.opus.bin new file mode 100644 index 0000000..ffbb0de Binary files /dev/null and b/audio/alice/a6.opus.bin differ diff --git a/audio/alice/a6.wav b/audio/alice/a6.wav new file mode 100644 index 0000000..82e3dd6 Binary files /dev/null and b/audio/alice/a6.wav differ diff --git a/audio/alice/a7.opus.bin b/audio/alice/a7.opus.bin new file mode 100644 index 0000000..a71f0fa Binary files /dev/null and b/audio/alice/a7.opus.bin differ diff --git a/audio/alice/a7.wav b/audio/alice/a7.wav new file mode 100644 index 0000000..eb66669 Binary files /dev/null and b/audio/alice/a7.wav differ diff --git a/audio/alice/a8.opus.bin b/audio/alice/a8.opus.bin new file mode 100644 index 0000000..8736bfe Binary files /dev/null and b/audio/alice/a8.opus.bin differ diff --git a/audio/alice/a8.wav b/audio/alice/a8.wav new file mode 100644 index 0000000..8b9323b Binary files /dev/null and b/audio/alice/a8.wav differ diff --git a/audio/alice/a9.opus.bin b/audio/alice/a9.opus.bin new file mode 100644 index 0000000..0200924 Binary files /dev/null and b/audio/alice/a9.opus.bin differ diff --git a/audio/alice/a9.wav b/audio/alice/a9.wav new file mode 100644 index 0000000..ecc2795 Binary files /dev/null and b/audio/alice/a9.wav differ diff --git a/audio/bird/b1.opus.bin b/audio/bird/b1.opus.bin new file mode 100644 index 0000000..c0f3100 Binary files /dev/null and b/audio/bird/b1.opus.bin differ diff --git a/audio/bird/b1.wav b/audio/bird/b1.wav new file mode 100644 index 0000000..0513be4 Binary files /dev/null and b/audio/bird/b1.wav differ diff --git a/audio/bird/b10.opus.bin b/audio/bird/b10.opus.bin new file mode 100644 index 0000000..b18ea65 Binary files /dev/null and b/audio/bird/b10.opus.bin differ diff --git a/audio/bird/b10.wav b/audio/bird/b10.wav new file mode 100644 index 0000000..1cd08e9 Binary files /dev/null and b/audio/bird/b10.wav differ diff --git a/audio/bird/b11.opus.bin b/audio/bird/b11.opus.bin new file mode 100644 index 0000000..f32bc34 Binary files /dev/null and b/audio/bird/b11.opus.bin differ diff --git a/audio/bird/b11.wav b/audio/bird/b11.wav new file mode 100644 index 0000000..14718c2 Binary files /dev/null and b/audio/bird/b11.wav differ diff --git a/audio/bird/b12.opus.bin b/audio/bird/b12.opus.bin new file mode 100644 index 0000000..85b4ecc Binary files /dev/null and b/audio/bird/b12.opus.bin differ diff --git a/audio/bird/b12.wav b/audio/bird/b12.wav new file mode 100644 index 0000000..d6ce58a Binary files /dev/null and b/audio/bird/b12.wav differ diff --git a/audio/bird/b13.opus.bin b/audio/bird/b13.opus.bin new file mode 100644 index 0000000..c7d0be2 Binary files /dev/null and b/audio/bird/b13.opus.bin differ diff --git a/audio/bird/b13.wav b/audio/bird/b13.wav new file mode 100644 index 0000000..246f596 Binary files /dev/null and b/audio/bird/b13.wav differ diff --git a/audio/bird/b14.opus.bin b/audio/bird/b14.opus.bin new file mode 100644 index 0000000..003b737 Binary files /dev/null and b/audio/bird/b14.opus.bin differ diff --git a/audio/bird/b14.wav b/audio/bird/b14.wav new file mode 100644 index 0000000..2bc5f1c Binary files /dev/null and b/audio/bird/b14.wav differ diff --git a/audio/bird/b15.opus.bin b/audio/bird/b15.opus.bin new file mode 100644 index 0000000..38069cf Binary files /dev/null and b/audio/bird/b15.opus.bin differ diff --git a/audio/bird/b15.wav b/audio/bird/b15.wav new file mode 100644 index 0000000..f444fb6 Binary files /dev/null and b/audio/bird/b15.wav differ diff --git a/audio/bird/b16.opus.bin b/audio/bird/b16.opus.bin new file mode 100644 index 0000000..fa4effa Binary files /dev/null and b/audio/bird/b16.opus.bin differ diff --git a/audio/bird/b16.wav b/audio/bird/b16.wav new file mode 100644 index 0000000..9a23046 Binary files /dev/null and b/audio/bird/b16.wav differ diff --git a/audio/bird/b17.opus.bin b/audio/bird/b17.opus.bin new file mode 100644 index 0000000..79ad266 Binary files /dev/null and b/audio/bird/b17.opus.bin differ diff --git a/audio/bird/b17.wav b/audio/bird/b17.wav new file mode 100644 index 0000000..a713fcc Binary files /dev/null and b/audio/bird/b17.wav differ diff --git a/audio/bird/b18.opus.bin b/audio/bird/b18.opus.bin new file mode 100644 index 0000000..8d56ca3 Binary files /dev/null and b/audio/bird/b18.opus.bin differ diff --git a/audio/bird/b18.wav b/audio/bird/b18.wav new file mode 100644 index 0000000..fe5dc1d Binary files /dev/null and b/audio/bird/b18.wav differ diff --git a/audio/bird/b19.opus.bin b/audio/bird/b19.opus.bin new file mode 100644 index 0000000..bb0d4ea Binary files /dev/null and b/audio/bird/b19.opus.bin differ diff --git a/audio/bird/b19.wav b/audio/bird/b19.wav new file mode 100644 index 0000000..6d8e8e0 Binary files /dev/null and b/audio/bird/b19.wav differ diff --git a/audio/bird/b2.opus.bin b/audio/bird/b2.opus.bin new file mode 100644 index 0000000..e2a3328 Binary files /dev/null and b/audio/bird/b2.opus.bin differ diff --git a/audio/bird/b2.wav b/audio/bird/b2.wav new file mode 100644 index 0000000..e989edd Binary files /dev/null and b/audio/bird/b2.wav differ diff --git a/audio/bird/b20.opus.bin b/audio/bird/b20.opus.bin new file mode 100644 index 0000000..73975ea Binary files /dev/null and b/audio/bird/b20.opus.bin differ diff --git a/audio/bird/b20.wav b/audio/bird/b20.wav new file mode 100644 index 0000000..aa87a1f Binary files /dev/null and b/audio/bird/b20.wav differ diff --git a/audio/bird/b3.opus.bin b/audio/bird/b3.opus.bin new file mode 100644 index 0000000..ff43fa7 Binary files /dev/null and b/audio/bird/b3.opus.bin differ diff --git a/audio/bird/b3.wav b/audio/bird/b3.wav new file mode 100644 index 0000000..8941940 Binary files /dev/null and b/audio/bird/b3.wav differ diff --git a/audio/bird/b4.opus.bin b/audio/bird/b4.opus.bin new file mode 100644 index 0000000..c6eb7eb Binary files /dev/null and b/audio/bird/b4.opus.bin differ diff --git a/audio/bird/b4.wav b/audio/bird/b4.wav new file mode 100644 index 0000000..13e8feb Binary files /dev/null and b/audio/bird/b4.wav differ diff --git a/audio/bird/b5.opus.bin b/audio/bird/b5.opus.bin new file mode 100644 index 0000000..c759ba7 Binary files /dev/null and b/audio/bird/b5.opus.bin differ diff --git a/audio/bird/b5.wav b/audio/bird/b5.wav new file mode 100644 index 0000000..65d4f01 Binary files /dev/null and b/audio/bird/b5.wav differ diff --git a/audio/bird/b6.opus.bin b/audio/bird/b6.opus.bin new file mode 100644 index 0000000..d8ffbad Binary files /dev/null and b/audio/bird/b6.opus.bin differ diff --git a/audio/bird/b6.wav b/audio/bird/b6.wav new file mode 100644 index 0000000..0311f02 Binary files /dev/null and b/audio/bird/b6.wav differ diff --git a/audio/bird/b7.opus.bin b/audio/bird/b7.opus.bin new file mode 100644 index 0000000..eaf9823 Binary files /dev/null and b/audio/bird/b7.opus.bin differ diff --git a/audio/bird/b7.wav b/audio/bird/b7.wav new file mode 100644 index 0000000..da80b4b Binary files /dev/null and b/audio/bird/b7.wav differ diff --git a/audio/bird/b8.opus.bin b/audio/bird/b8.opus.bin new file mode 100644 index 0000000..1e755e1 Binary files /dev/null and b/audio/bird/b8.opus.bin differ diff --git a/audio/bird/b8.wav b/audio/bird/b8.wav new file mode 100644 index 0000000..9636d6d Binary files /dev/null and b/audio/bird/b8.wav differ diff --git a/audio/bird/b9.opus.bin b/audio/bird/b9.opus.bin new file mode 100644 index 0000000..2146c97 Binary files /dev/null and b/audio/bird/b9.opus.bin differ diff --git a/audio/bird/b9.wav b/audio/bird/b9.wav new file mode 100644 index 0000000..96382cd Binary files /dev/null and b/audio/bird/b9.wav differ diff --git a/audio/eily/e1.opus.bin b/audio/eily/e1.opus.bin new file mode 100644 index 0000000..28da15c Binary files /dev/null and b/audio/eily/e1.opus.bin differ diff --git a/audio/eily/e1.wav b/audio/eily/e1.wav new file mode 100644 index 0000000..3cea014 Binary files /dev/null and b/audio/eily/e1.wav differ diff --git a/audio/eily/e10.opus.bin b/audio/eily/e10.opus.bin new file mode 100644 index 0000000..053c925 Binary files /dev/null and b/audio/eily/e10.opus.bin differ diff --git a/audio/eily/e10.wav b/audio/eily/e10.wav new file mode 100644 index 0000000..79146bf Binary files /dev/null and b/audio/eily/e10.wav differ diff --git a/audio/eily/e11.opus.bin b/audio/eily/e11.opus.bin new file mode 100644 index 0000000..c8a85f5 Binary files /dev/null and b/audio/eily/e11.opus.bin differ diff --git a/audio/eily/e11.wav b/audio/eily/e11.wav new file mode 100644 index 0000000..e02a606 Binary files /dev/null and b/audio/eily/e11.wav differ diff --git a/audio/eily/e12.opus.bin b/audio/eily/e12.opus.bin new file mode 100644 index 0000000..40ad622 Binary files /dev/null and b/audio/eily/e12.opus.bin differ diff --git a/audio/eily/e12.wav b/audio/eily/e12.wav new file mode 100644 index 0000000..3fcdee0 Binary files /dev/null and b/audio/eily/e12.wav differ diff --git a/audio/eily/e13.opus.bin b/audio/eily/e13.opus.bin new file mode 100644 index 0000000..a3cce06 Binary files /dev/null and b/audio/eily/e13.opus.bin differ diff --git a/audio/eily/e13.wav b/audio/eily/e13.wav new file mode 100644 index 0000000..798f3cf Binary files /dev/null and b/audio/eily/e13.wav differ diff --git a/audio/eily/e14.opus.bin b/audio/eily/e14.opus.bin new file mode 100644 index 0000000..7c4bfc4 Binary files /dev/null and b/audio/eily/e14.opus.bin differ diff --git a/audio/eily/e14.wav b/audio/eily/e14.wav new file mode 100644 index 0000000..dfaa31f Binary files /dev/null and b/audio/eily/e14.wav differ diff --git a/audio/eily/e15.opus.bin b/audio/eily/e15.opus.bin new file mode 100644 index 0000000..50ce399 Binary files /dev/null and b/audio/eily/e15.opus.bin differ diff --git a/audio/eily/e15.wav b/audio/eily/e15.wav new file mode 100644 index 0000000..c400c12 Binary files /dev/null and b/audio/eily/e15.wav differ diff --git a/audio/eily/e16.opus.bin b/audio/eily/e16.opus.bin new file mode 100644 index 0000000..481e6e1 Binary files /dev/null and b/audio/eily/e16.opus.bin differ diff --git a/audio/eily/e16.wav b/audio/eily/e16.wav new file mode 100644 index 0000000..6f4b70b Binary files /dev/null and b/audio/eily/e16.wav differ diff --git a/audio/eily/e17.wav b/audio/eily/e17.wav new file mode 100644 index 0000000..79a6d41 Binary files /dev/null and b/audio/eily/e17.wav differ diff --git a/audio/eily/e18.opus.bin b/audio/eily/e18.opus.bin new file mode 100644 index 0000000..8bddd66 Binary files /dev/null and b/audio/eily/e18.opus.bin differ diff --git a/audio/eily/e18.wav b/audio/eily/e18.wav new file mode 100644 index 0000000..e6ab09e Binary files /dev/null and b/audio/eily/e18.wav differ diff --git a/audio/eily/e19.opus.bin b/audio/eily/e19.opus.bin new file mode 100644 index 0000000..b4265d0 Binary files /dev/null and b/audio/eily/e19.opus.bin differ diff --git a/audio/eily/e19.wav b/audio/eily/e19.wav new file mode 100644 index 0000000..68c0212 Binary files /dev/null and b/audio/eily/e19.wav differ diff --git a/audio/eily/e2.opus.bin b/audio/eily/e2.opus.bin new file mode 100644 index 0000000..d38795b Binary files /dev/null and b/audio/eily/e2.opus.bin differ diff --git a/audio/eily/e2.wav b/audio/eily/e2.wav new file mode 100644 index 0000000..afb143e Binary files /dev/null and b/audio/eily/e2.wav differ diff --git a/audio/eily/e20.opus.bin b/audio/eily/e20.opus.bin new file mode 100644 index 0000000..7f459cc Binary files /dev/null and b/audio/eily/e20.opus.bin differ diff --git a/audio/eily/e20.wav b/audio/eily/e20.wav new file mode 100644 index 0000000..85744f7 Binary files /dev/null and b/audio/eily/e20.wav differ diff --git a/audio/eily/e21.opus.bin b/audio/eily/e21.opus.bin new file mode 100644 index 0000000..b6f46a9 Binary files /dev/null and b/audio/eily/e21.opus.bin differ diff --git a/audio/eily/e21.wav b/audio/eily/e21.wav new file mode 100644 index 0000000..8c25d6f Binary files /dev/null and b/audio/eily/e21.wav differ diff --git a/audio/eily/e22.opus.bin b/audio/eily/e22.opus.bin new file mode 100644 index 0000000..117db09 Binary files /dev/null and b/audio/eily/e22.opus.bin differ diff --git a/audio/eily/e22.wav b/audio/eily/e22.wav new file mode 100644 index 0000000..1c775fd Binary files /dev/null and b/audio/eily/e22.wav differ diff --git a/audio/eily/e23.opus.bin b/audio/eily/e23.opus.bin new file mode 100644 index 0000000..ef7169b Binary files /dev/null and b/audio/eily/e23.opus.bin differ diff --git a/audio/eily/e23.wav b/audio/eily/e23.wav new file mode 100644 index 0000000..5f61166 Binary files /dev/null and b/audio/eily/e23.wav differ diff --git a/audio/eily/e24.opus.bin b/audio/eily/e24.opus.bin new file mode 100644 index 0000000..fafb909 Binary files /dev/null and b/audio/eily/e24.opus.bin differ diff --git a/audio/eily/e24.wav b/audio/eily/e24.wav new file mode 100644 index 0000000..6c6b9ae Binary files /dev/null and b/audio/eily/e24.wav differ diff --git a/audio/eily/e25.opus.bin b/audio/eily/e25.opus.bin new file mode 100644 index 0000000..97d44b9 Binary files /dev/null and b/audio/eily/e25.opus.bin differ diff --git a/audio/eily/e25.wav b/audio/eily/e25.wav new file mode 100644 index 0000000..22560c3 Binary files /dev/null and b/audio/eily/e25.wav differ diff --git a/audio/eily/e26.opus.bin b/audio/eily/e26.opus.bin new file mode 100644 index 0000000..69d5d31 Binary files /dev/null and b/audio/eily/e26.opus.bin differ diff --git a/audio/eily/e26.wav b/audio/eily/e26.wav new file mode 100644 index 0000000..2185734 Binary files /dev/null and b/audio/eily/e26.wav differ diff --git a/audio/eily/e27.opus.bin b/audio/eily/e27.opus.bin new file mode 100644 index 0000000..6f91f0c Binary files /dev/null and b/audio/eily/e27.opus.bin differ diff --git a/audio/eily/e27.wav b/audio/eily/e27.wav new file mode 100644 index 0000000..6f8d686 Binary files /dev/null and b/audio/eily/e27.wav differ diff --git a/audio/eily/e28.opus.bin b/audio/eily/e28.opus.bin new file mode 100644 index 0000000..b003225 Binary files /dev/null and b/audio/eily/e28.opus.bin differ diff --git a/audio/eily/e28.wav b/audio/eily/e28.wav new file mode 100644 index 0000000..203f789 Binary files /dev/null and b/audio/eily/e28.wav differ diff --git a/audio/eily/e29.opus.bin b/audio/eily/e29.opus.bin new file mode 100644 index 0000000..4cd91bd Binary files /dev/null and b/audio/eily/e29.opus.bin differ diff --git a/audio/eily/e29.wav b/audio/eily/e29.wav new file mode 100644 index 0000000..9498be3 Binary files /dev/null and b/audio/eily/e29.wav differ diff --git a/audio/eily/e3.opus.bin b/audio/eily/e3.opus.bin new file mode 100644 index 0000000..98a7ca1 Binary files /dev/null and b/audio/eily/e3.opus.bin differ diff --git a/audio/eily/e3.wav b/audio/eily/e3.wav new file mode 100644 index 0000000..8760896 Binary files /dev/null and b/audio/eily/e3.wav differ diff --git a/audio/eily/e30.opus.bin b/audio/eily/e30.opus.bin new file mode 100644 index 0000000..40fb88e Binary files /dev/null and b/audio/eily/e30.opus.bin differ diff --git a/audio/eily/e30.wav b/audio/eily/e30.wav new file mode 100644 index 0000000..3db1523 Binary files /dev/null and b/audio/eily/e30.wav differ diff --git a/audio/eily/e31.opus.bin b/audio/eily/e31.opus.bin new file mode 100644 index 0000000..cd04525 Binary files /dev/null and b/audio/eily/e31.opus.bin differ diff --git a/audio/eily/e31.wav b/audio/eily/e31.wav new file mode 100644 index 0000000..33eb86b Binary files /dev/null and b/audio/eily/e31.wav differ diff --git a/audio/eily/e32.opus.bin b/audio/eily/e32.opus.bin new file mode 100644 index 0000000..baeffcc Binary files /dev/null and b/audio/eily/e32.opus.bin differ diff --git a/audio/eily/e32.wav b/audio/eily/e32.wav new file mode 100644 index 0000000..c03d2de Binary files /dev/null and b/audio/eily/e32.wav differ diff --git a/audio/eily/e33.opus.bin b/audio/eily/e33.opus.bin new file mode 100644 index 0000000..73ceead Binary files /dev/null and b/audio/eily/e33.opus.bin differ diff --git a/audio/eily/e33.wav b/audio/eily/e33.wav new file mode 100644 index 0000000..2425aa5 Binary files /dev/null and b/audio/eily/e33.wav differ diff --git a/audio/eily/e34.opus.bin b/audio/eily/e34.opus.bin new file mode 100644 index 0000000..0e9d202 Binary files /dev/null and b/audio/eily/e34.opus.bin differ diff --git a/audio/eily/e34.wav b/audio/eily/e34.wav new file mode 100644 index 0000000..95117d5 Binary files /dev/null and b/audio/eily/e34.wav differ diff --git a/audio/eily/e35.opus.bin b/audio/eily/e35.opus.bin new file mode 100644 index 0000000..1700224 Binary files /dev/null and b/audio/eily/e35.opus.bin differ diff --git a/audio/eily/e35.wav b/audio/eily/e35.wav new file mode 100644 index 0000000..baac22d Binary files /dev/null and b/audio/eily/e35.wav differ diff --git a/audio/eily/e36.opus.bin b/audio/eily/e36.opus.bin new file mode 100644 index 0000000..dc50aa6 Binary files /dev/null and b/audio/eily/e36.opus.bin differ diff --git a/audio/eily/e36.wav b/audio/eily/e36.wav new file mode 100644 index 0000000..431f7d0 Binary files /dev/null and b/audio/eily/e36.wav differ diff --git a/audio/eily/e37.opus.bin b/audio/eily/e37.opus.bin new file mode 100644 index 0000000..792a738 Binary files /dev/null and b/audio/eily/e37.opus.bin differ diff --git a/audio/eily/e37.wav b/audio/eily/e37.wav new file mode 100644 index 0000000..ea05db7 Binary files /dev/null and b/audio/eily/e37.wav differ diff --git a/audio/eily/e38.opus.bin b/audio/eily/e38.opus.bin new file mode 100644 index 0000000..26c2fae Binary files /dev/null and b/audio/eily/e38.opus.bin differ diff --git a/audio/eily/e38.wav b/audio/eily/e38.wav new file mode 100644 index 0000000..e07d54b Binary files /dev/null and b/audio/eily/e38.wav differ diff --git a/audio/eily/e39.opus.bin b/audio/eily/e39.opus.bin new file mode 100644 index 0000000..b2d29f9 Binary files /dev/null and b/audio/eily/e39.opus.bin differ diff --git a/audio/eily/e39.wav b/audio/eily/e39.wav new file mode 100644 index 0000000..aba0b02 Binary files /dev/null and b/audio/eily/e39.wav differ diff --git a/audio/eily/e4.opus.bin b/audio/eily/e4.opus.bin new file mode 100644 index 0000000..e7dedf2 Binary files /dev/null and b/audio/eily/e4.opus.bin differ diff --git a/audio/eily/e4.wav b/audio/eily/e4.wav new file mode 100644 index 0000000..30307cf Binary files /dev/null and b/audio/eily/e4.wav differ diff --git a/audio/eily/e40.opus.bin b/audio/eily/e40.opus.bin new file mode 100644 index 0000000..e7fb037 Binary files /dev/null and b/audio/eily/e40.opus.bin differ diff --git a/audio/eily/e40.wav b/audio/eily/e40.wav new file mode 100644 index 0000000..20b7ef4 Binary files /dev/null and b/audio/eily/e40.wav differ diff --git a/audio/eily/e41.opus.bin b/audio/eily/e41.opus.bin new file mode 100644 index 0000000..ab15821 Binary files /dev/null and b/audio/eily/e41.opus.bin differ diff --git a/audio/eily/e41.wav b/audio/eily/e41.wav new file mode 100644 index 0000000..29b7cd6 Binary files /dev/null and b/audio/eily/e41.wav differ diff --git a/audio/eily/e42.opus.bin b/audio/eily/e42.opus.bin new file mode 100644 index 0000000..ff39a94 Binary files /dev/null and b/audio/eily/e42.opus.bin differ diff --git a/audio/eily/e42.wav b/audio/eily/e42.wav new file mode 100644 index 0000000..090e6de Binary files /dev/null and b/audio/eily/e42.wav differ diff --git a/audio/eily/e43.opus.bin b/audio/eily/e43.opus.bin new file mode 100644 index 0000000..bb79323 Binary files /dev/null and b/audio/eily/e43.opus.bin differ diff --git a/audio/eily/e43.wav b/audio/eily/e43.wav new file mode 100644 index 0000000..3cd9f32 Binary files /dev/null and b/audio/eily/e43.wav differ diff --git a/audio/eily/e44.opus.bin b/audio/eily/e44.opus.bin new file mode 100644 index 0000000..1d314ac Binary files /dev/null and b/audio/eily/e44.opus.bin differ diff --git a/audio/eily/e44.wav b/audio/eily/e44.wav new file mode 100644 index 0000000..4a1457b Binary files /dev/null and b/audio/eily/e44.wav differ diff --git a/audio/eily/e45.opus.bin b/audio/eily/e45.opus.bin new file mode 100644 index 0000000..3955597 Binary files /dev/null and b/audio/eily/e45.opus.bin differ diff --git a/audio/eily/e45.wav b/audio/eily/e45.wav new file mode 100644 index 0000000..57d3e0f Binary files /dev/null and b/audio/eily/e45.wav differ diff --git a/audio/eily/e46.opus.bin b/audio/eily/e46.opus.bin new file mode 100644 index 0000000..e696078 Binary files /dev/null and b/audio/eily/e46.opus.bin differ diff --git a/audio/eily/e46.wav b/audio/eily/e46.wav new file mode 100644 index 0000000..2393300 Binary files /dev/null and b/audio/eily/e46.wav differ diff --git a/audio/eily/e47.opus.bin b/audio/eily/e47.opus.bin new file mode 100644 index 0000000..bf411b3 Binary files /dev/null and b/audio/eily/e47.opus.bin differ diff --git a/audio/eily/e47.wav b/audio/eily/e47.wav new file mode 100644 index 0000000..e43bf43 Binary files /dev/null and b/audio/eily/e47.wav differ diff --git a/audio/eily/e48.opus.bin b/audio/eily/e48.opus.bin new file mode 100644 index 0000000..3a00f7a Binary files /dev/null and b/audio/eily/e48.opus.bin differ diff --git a/audio/eily/e48.wav b/audio/eily/e48.wav new file mode 100644 index 0000000..e1ad0ba Binary files /dev/null and b/audio/eily/e48.wav differ diff --git a/audio/eily/e49.opus.bin b/audio/eily/e49.opus.bin new file mode 100644 index 0000000..22290a4 Binary files /dev/null and b/audio/eily/e49.opus.bin differ diff --git a/audio/eily/e49.wav b/audio/eily/e49.wav new file mode 100644 index 0000000..40a4243 Binary files /dev/null and b/audio/eily/e49.wav differ diff --git a/audio/eily/e5.opus.bin b/audio/eily/e5.opus.bin new file mode 100644 index 0000000..1fd2f88 Binary files /dev/null and b/audio/eily/e5.opus.bin differ diff --git a/audio/eily/e5.wav b/audio/eily/e5.wav new file mode 100644 index 0000000..1cd5396 Binary files /dev/null and b/audio/eily/e5.wav differ diff --git a/audio/eily/e50.opus.bin b/audio/eily/e50.opus.bin new file mode 100644 index 0000000..e02a458 Binary files /dev/null and b/audio/eily/e50.opus.bin differ diff --git a/audio/eily/e50.wav b/audio/eily/e50.wav new file mode 100644 index 0000000..55e61c8 Binary files /dev/null and b/audio/eily/e50.wav differ diff --git a/audio/eily/e51.opus.bin b/audio/eily/e51.opus.bin new file mode 100644 index 0000000..66aebee Binary files /dev/null and b/audio/eily/e51.opus.bin differ diff --git a/audio/eily/e51.wav b/audio/eily/e51.wav new file mode 100644 index 0000000..06fe0dd Binary files /dev/null and b/audio/eily/e51.wav differ diff --git a/audio/eily/e52.opus.bin b/audio/eily/e52.opus.bin new file mode 100644 index 0000000..24a4b98 Binary files /dev/null and b/audio/eily/e52.opus.bin differ diff --git a/audio/eily/e52.wav b/audio/eily/e52.wav new file mode 100644 index 0000000..01579b4 Binary files /dev/null and b/audio/eily/e52.wav differ diff --git a/audio/eily/e53.opus.bin b/audio/eily/e53.opus.bin new file mode 100644 index 0000000..7e2567d Binary files /dev/null and b/audio/eily/e53.opus.bin differ diff --git a/audio/eily/e53.wav b/audio/eily/e53.wav new file mode 100644 index 0000000..614f148 Binary files /dev/null and b/audio/eily/e53.wav differ diff --git a/audio/eily/e54.opus.bin b/audio/eily/e54.opus.bin new file mode 100644 index 0000000..0f34102 Binary files /dev/null and b/audio/eily/e54.opus.bin differ diff --git a/audio/eily/e54.wav b/audio/eily/e54.wav new file mode 100644 index 0000000..45da6c2 Binary files /dev/null and b/audio/eily/e54.wav differ diff --git a/audio/eily/e55.opus.bin b/audio/eily/e55.opus.bin new file mode 100644 index 0000000..0c79d2c Binary files /dev/null and b/audio/eily/e55.opus.bin differ diff --git a/audio/eily/e55.wav b/audio/eily/e55.wav new file mode 100644 index 0000000..fdf456c Binary files /dev/null and b/audio/eily/e55.wav differ diff --git a/audio/eily/e56.opus.bin b/audio/eily/e56.opus.bin new file mode 100644 index 0000000..7daa57c Binary files /dev/null and b/audio/eily/e56.opus.bin differ diff --git a/audio/eily/e56.wav b/audio/eily/e56.wav new file mode 100644 index 0000000..40c4955 Binary files /dev/null and b/audio/eily/e56.wav differ diff --git a/audio/eily/e57.opus.bin b/audio/eily/e57.opus.bin new file mode 100644 index 0000000..2b80564 Binary files /dev/null and b/audio/eily/e57.opus.bin differ diff --git a/audio/eily/e57.wav b/audio/eily/e57.wav new file mode 100644 index 0000000..fa892bc Binary files /dev/null and b/audio/eily/e57.wav differ diff --git a/audio/eily/e58.opus.bin b/audio/eily/e58.opus.bin new file mode 100644 index 0000000..2672f94 Binary files /dev/null and b/audio/eily/e58.opus.bin differ diff --git a/audio/eily/e58.wav b/audio/eily/e58.wav new file mode 100644 index 0000000..c445c13 Binary files /dev/null and b/audio/eily/e58.wav differ diff --git a/audio/eily/e59.opus.bin b/audio/eily/e59.opus.bin new file mode 100644 index 0000000..1d84737 Binary files /dev/null and b/audio/eily/e59.opus.bin differ diff --git a/audio/eily/e59.wav b/audio/eily/e59.wav new file mode 100644 index 0000000..bfebe86 Binary files /dev/null and b/audio/eily/e59.wav differ diff --git a/audio/eily/e6.opus.bin b/audio/eily/e6.opus.bin new file mode 100644 index 0000000..75c16f8 Binary files /dev/null and b/audio/eily/e6.opus.bin differ diff --git a/audio/eily/e6.wav b/audio/eily/e6.wav new file mode 100644 index 0000000..bb0f040 Binary files /dev/null and b/audio/eily/e6.wav differ diff --git a/audio/eily/e60.opus.bin b/audio/eily/e60.opus.bin new file mode 100644 index 0000000..d6a5bf1 Binary files /dev/null and b/audio/eily/e60.opus.bin differ diff --git a/audio/eily/e60.wav b/audio/eily/e60.wav new file mode 100644 index 0000000..4752ac9 Binary files /dev/null and b/audio/eily/e60.wav differ diff --git a/audio/eily/e61.opus.bin b/audio/eily/e61.opus.bin new file mode 100644 index 0000000..ebaf72b Binary files /dev/null and b/audio/eily/e61.opus.bin differ diff --git a/audio/eily/e61.wav b/audio/eily/e61.wav new file mode 100644 index 0000000..534a38c Binary files /dev/null and b/audio/eily/e61.wav differ diff --git a/audio/eily/e62.opus.bin b/audio/eily/e62.opus.bin new file mode 100644 index 0000000..5a087de Binary files /dev/null and b/audio/eily/e62.opus.bin differ diff --git a/audio/eily/e62.wav b/audio/eily/e62.wav new file mode 100644 index 0000000..34e11cb Binary files /dev/null and b/audio/eily/e62.wav differ diff --git a/audio/eily/e63.opus.bin b/audio/eily/e63.opus.bin new file mode 100644 index 0000000..d1a3d62 Binary files /dev/null and b/audio/eily/e63.opus.bin differ diff --git a/audio/eily/e63.wav b/audio/eily/e63.wav new file mode 100644 index 0000000..f70561b Binary files /dev/null and b/audio/eily/e63.wav differ diff --git a/audio/eily/e64.opus.bin b/audio/eily/e64.opus.bin new file mode 100644 index 0000000..7a31b5d Binary files /dev/null and b/audio/eily/e64.opus.bin differ diff --git a/audio/eily/e64.wav b/audio/eily/e64.wav new file mode 100644 index 0000000..a8540a9 Binary files /dev/null and b/audio/eily/e64.wav differ diff --git a/audio/eily/e65.opus.bin b/audio/eily/e65.opus.bin new file mode 100644 index 0000000..2cc0e5d Binary files /dev/null and b/audio/eily/e65.opus.bin differ diff --git a/audio/eily/e65.wav b/audio/eily/e65.wav new file mode 100644 index 0000000..88ca304 Binary files /dev/null and b/audio/eily/e65.wav differ diff --git a/audio/eily/e66.wav b/audio/eily/e66.wav new file mode 100644 index 0000000..d7e79e1 Binary files /dev/null and b/audio/eily/e66.wav differ diff --git a/audio/eily/e67.opus.bin b/audio/eily/e67.opus.bin new file mode 100644 index 0000000..5bc5fde Binary files /dev/null and b/audio/eily/e67.opus.bin differ diff --git a/audio/eily/e67.wav b/audio/eily/e67.wav new file mode 100644 index 0000000..832520b Binary files /dev/null and b/audio/eily/e67.wav differ diff --git a/audio/eily/e68.opus.bin b/audio/eily/e68.opus.bin new file mode 100644 index 0000000..b842fe3 Binary files /dev/null and b/audio/eily/e68.opus.bin differ diff --git a/audio/eily/e68.wav b/audio/eily/e68.wav new file mode 100644 index 0000000..7ea9391 Binary files /dev/null and b/audio/eily/e68.wav differ diff --git a/audio/eily/e69.opus.bin b/audio/eily/e69.opus.bin new file mode 100644 index 0000000..6a0733d Binary files /dev/null and b/audio/eily/e69.opus.bin differ diff --git a/audio/eily/e69.wav b/audio/eily/e69.wav new file mode 100644 index 0000000..9c3d519 Binary files /dev/null and b/audio/eily/e69.wav differ diff --git a/audio/eily/e7.opus.bin b/audio/eily/e7.opus.bin new file mode 100644 index 0000000..53090ba Binary files /dev/null and b/audio/eily/e7.opus.bin differ diff --git a/audio/eily/e7.wav b/audio/eily/e7.wav new file mode 100644 index 0000000..cd7e510 Binary files /dev/null and b/audio/eily/e7.wav differ diff --git a/audio/eily/e70.opus.bin b/audio/eily/e70.opus.bin new file mode 100644 index 0000000..c0eb602 Binary files /dev/null and b/audio/eily/e70.opus.bin differ diff --git a/audio/eily/e70.wav b/audio/eily/e70.wav new file mode 100644 index 0000000..a6ae987 Binary files /dev/null and b/audio/eily/e70.wav differ diff --git a/audio/eily/e71.opus.bin b/audio/eily/e71.opus.bin new file mode 100644 index 0000000..a34c294 Binary files /dev/null and b/audio/eily/e71.opus.bin differ diff --git a/audio/eily/e71.wav b/audio/eily/e71.wav new file mode 100644 index 0000000..503876d Binary files /dev/null and b/audio/eily/e71.wav differ diff --git a/audio/eily/e72.opus.bin b/audio/eily/e72.opus.bin new file mode 100644 index 0000000..5adff19 Binary files /dev/null and b/audio/eily/e72.opus.bin differ diff --git a/audio/eily/e72.wav b/audio/eily/e72.wav new file mode 100644 index 0000000..150464f Binary files /dev/null and b/audio/eily/e72.wav differ diff --git a/audio/eily/e73.opus.bin b/audio/eily/e73.opus.bin new file mode 100644 index 0000000..d6ced21 Binary files /dev/null and b/audio/eily/e73.opus.bin differ diff --git a/audio/eily/e73.wav b/audio/eily/e73.wav new file mode 100644 index 0000000..49e3d04 Binary files /dev/null and b/audio/eily/e73.wav differ diff --git a/audio/eily/e74.opus.bin b/audio/eily/e74.opus.bin new file mode 100644 index 0000000..0a9cca0 Binary files /dev/null and b/audio/eily/e74.opus.bin differ diff --git a/audio/eily/e74.wav b/audio/eily/e74.wav new file mode 100644 index 0000000..89d27c1 Binary files /dev/null and b/audio/eily/e74.wav differ diff --git a/audio/eily/e75.opus.bin b/audio/eily/e75.opus.bin new file mode 100644 index 0000000..3d756aa Binary files /dev/null and b/audio/eily/e75.opus.bin differ diff --git a/audio/eily/e75.wav b/audio/eily/e75.wav new file mode 100644 index 0000000..d82eea7 Binary files /dev/null and b/audio/eily/e75.wav differ diff --git a/audio/eily/e76.opus.bin b/audio/eily/e76.opus.bin new file mode 100644 index 0000000..50010b1 Binary files /dev/null and b/audio/eily/e76.opus.bin differ diff --git a/audio/eily/e76.wav b/audio/eily/e76.wav new file mode 100644 index 0000000..92291fe Binary files /dev/null and b/audio/eily/e76.wav differ diff --git a/audio/eily/e77.opus.bin b/audio/eily/e77.opus.bin new file mode 100644 index 0000000..8cc83b7 Binary files /dev/null and b/audio/eily/e77.opus.bin differ diff --git a/audio/eily/e77.wav b/audio/eily/e77.wav new file mode 100644 index 0000000..5840790 Binary files /dev/null and b/audio/eily/e77.wav differ diff --git a/audio/eily/e8.opus.bin b/audio/eily/e8.opus.bin new file mode 100644 index 0000000..f3c3157 Binary files /dev/null and b/audio/eily/e8.opus.bin differ diff --git a/audio/eily/e8.wav b/audio/eily/e8.wav new file mode 100644 index 0000000..33da3fd Binary files /dev/null and b/audio/eily/e8.wav differ diff --git a/audio/eily/e9.opus.bin b/audio/eily/e9.opus.bin new file mode 100644 index 0000000..3adb02a Binary files /dev/null and b/audio/eily/e9.opus.bin differ diff --git a/audio/eily/e9.wav b/audio/eily/e9.wav new file mode 100644 index 0000000..2fe2ff4 Binary files /dev/null and b/audio/eily/e9.wav differ diff --git a/audio/hera/h1.opus.bin b/audio/hera/h1.opus.bin new file mode 100644 index 0000000..684f048 Binary files /dev/null and b/audio/hera/h1.opus.bin differ diff --git a/audio/hera/h1.wav b/audio/hera/h1.wav new file mode 100644 index 0000000..347780e Binary files /dev/null and b/audio/hera/h1.wav differ diff --git a/audio/hera/h2.opus.bin b/audio/hera/h2.opus.bin new file mode 100644 index 0000000..29d8b2a Binary files /dev/null and b/audio/hera/h2.opus.bin differ diff --git a/audio/hera/h2.wav b/audio/hera/h2.wav new file mode 100644 index 0000000..ce18ccc Binary files /dev/null and b/audio/hera/h2.wav differ diff --git a/audio/hera/h3.opus.bin b/audio/hera/h3.opus.bin new file mode 100644 index 0000000..bdf17a0 Binary files /dev/null and b/audio/hera/h3.opus.bin differ diff --git a/audio/hera/h3.wav b/audio/hera/h3.wav new file mode 100644 index 0000000..8ccd690 Binary files /dev/null and b/audio/hera/h3.wav differ diff --git a/audio/hera/h4.opus.bin b/audio/hera/h4.opus.bin new file mode 100644 index 0000000..b908813 Binary files /dev/null and b/audio/hera/h4.opus.bin differ diff --git a/audio/hera/h4.wav b/audio/hera/h4.wav new file mode 100644 index 0000000..6c6635b Binary files /dev/null and b/audio/hera/h4.wav differ diff --git a/audio/leona/c0.opus.bin b/audio/leona/c0.opus.bin new file mode 100644 index 0000000..74338ce Binary files /dev/null and b/audio/leona/c0.opus.bin differ diff --git a/audio/leona/c0.wav b/audio/leona/c0.wav new file mode 100644 index 0000000..cb450b4 Binary files /dev/null and b/audio/leona/c0.wav differ diff --git a/audio/leona/c1.opus.bin b/audio/leona/c1.opus.bin new file mode 100644 index 0000000..cac0835 Binary files /dev/null and b/audio/leona/c1.opus.bin differ diff --git a/audio/leona/c1.wav b/audio/leona/c1.wav new file mode 100644 index 0000000..02734c3 Binary files /dev/null and b/audio/leona/c1.wav differ diff --git a/audio/leona/c10.opus.bin b/audio/leona/c10.opus.bin new file mode 100644 index 0000000..f065c7a Binary files /dev/null and b/audio/leona/c10.opus.bin differ diff --git a/audio/leona/c10.wav b/audio/leona/c10.wav new file mode 100644 index 0000000..6c6484d Binary files /dev/null and b/audio/leona/c10.wav differ diff --git a/audio/leona/c11.opus.bin b/audio/leona/c11.opus.bin new file mode 100644 index 0000000..dbfbe52 Binary files /dev/null and b/audio/leona/c11.opus.bin differ diff --git a/audio/leona/c11.wav b/audio/leona/c11.wav new file mode 100644 index 0000000..72cd9ca Binary files /dev/null and b/audio/leona/c11.wav differ diff --git a/audio/leona/c12.opus.bin b/audio/leona/c12.opus.bin new file mode 100644 index 0000000..6d64d39 Binary files /dev/null and b/audio/leona/c12.opus.bin differ diff --git a/audio/leona/c12.wav b/audio/leona/c12.wav new file mode 100644 index 0000000..0aea0d1 Binary files /dev/null and b/audio/leona/c12.wav differ diff --git a/audio/leona/c13.opus.bin b/audio/leona/c13.opus.bin new file mode 100644 index 0000000..d4a0621 Binary files /dev/null and b/audio/leona/c13.opus.bin differ diff --git a/audio/leona/c13.wav b/audio/leona/c13.wav new file mode 100644 index 0000000..32d5c05 Binary files /dev/null and b/audio/leona/c13.wav differ diff --git a/audio/leona/c14.opus.bin b/audio/leona/c14.opus.bin new file mode 100644 index 0000000..4cef89e Binary files /dev/null and b/audio/leona/c14.opus.bin differ diff --git a/audio/leona/c14.wav b/audio/leona/c14.wav new file mode 100644 index 0000000..e7abec8 Binary files /dev/null and b/audio/leona/c14.wav differ diff --git a/audio/leona/c15.opus.bin b/audio/leona/c15.opus.bin new file mode 100644 index 0000000..99a8848 Binary files /dev/null and b/audio/leona/c15.opus.bin differ diff --git a/audio/leona/c15.wav b/audio/leona/c15.wav new file mode 100644 index 0000000..8c73310 Binary files /dev/null and b/audio/leona/c15.wav differ diff --git a/audio/leona/c16.opus.bin b/audio/leona/c16.opus.bin new file mode 100644 index 0000000..a11de56 Binary files /dev/null and b/audio/leona/c16.opus.bin differ diff --git a/audio/leona/c16.wav b/audio/leona/c16.wav new file mode 100644 index 0000000..5520d58 Binary files /dev/null and b/audio/leona/c16.wav differ diff --git a/audio/leona/c17.opus.bin b/audio/leona/c17.opus.bin new file mode 100644 index 0000000..0a5fa4e Binary files /dev/null and b/audio/leona/c17.opus.bin differ diff --git a/audio/leona/c17.wav b/audio/leona/c17.wav new file mode 100644 index 0000000..f7fe6fe Binary files /dev/null and b/audio/leona/c17.wav differ diff --git a/audio/leona/c18.opus.bin b/audio/leona/c18.opus.bin new file mode 100644 index 0000000..73c7180 Binary files /dev/null and b/audio/leona/c18.opus.bin differ diff --git a/audio/leona/c18.wav b/audio/leona/c18.wav new file mode 100644 index 0000000..b061976 Binary files /dev/null and b/audio/leona/c18.wav differ diff --git a/audio/leona/c19.opus.bin b/audio/leona/c19.opus.bin new file mode 100644 index 0000000..7147241 Binary files /dev/null and b/audio/leona/c19.opus.bin differ diff --git a/audio/leona/c19.wav b/audio/leona/c19.wav new file mode 100644 index 0000000..34a1c92 Binary files /dev/null and b/audio/leona/c19.wav differ diff --git a/audio/leona/c2.opus.bin b/audio/leona/c2.opus.bin new file mode 100644 index 0000000..da159ab Binary files /dev/null and b/audio/leona/c2.opus.bin differ diff --git a/audio/leona/c2.wav b/audio/leona/c2.wav new file mode 100644 index 0000000..e28131a Binary files /dev/null and b/audio/leona/c2.wav differ diff --git a/audio/leona/c20.opus.bin b/audio/leona/c20.opus.bin new file mode 100644 index 0000000..b9d7773 Binary files /dev/null and b/audio/leona/c20.opus.bin differ diff --git a/audio/leona/c20.wav b/audio/leona/c20.wav new file mode 100644 index 0000000..ca5fc73 Binary files /dev/null and b/audio/leona/c20.wav differ diff --git a/audio/leona/c21.opus.bin b/audio/leona/c21.opus.bin new file mode 100644 index 0000000..0a3388a Binary files /dev/null and b/audio/leona/c21.opus.bin differ diff --git a/audio/leona/c21.wav b/audio/leona/c21.wav new file mode 100644 index 0000000..fa7400e Binary files /dev/null and b/audio/leona/c21.wav differ diff --git a/audio/leona/c22.opus.bin b/audio/leona/c22.opus.bin new file mode 100644 index 0000000..09adf3b Binary files /dev/null and b/audio/leona/c22.opus.bin differ diff --git a/audio/leona/c22.wav b/audio/leona/c22.wav new file mode 100644 index 0000000..7f498b1 Binary files /dev/null and b/audio/leona/c22.wav differ diff --git a/audio/leona/c23.opus.bin b/audio/leona/c23.opus.bin new file mode 100644 index 0000000..d374762 Binary files /dev/null and b/audio/leona/c23.opus.bin differ diff --git a/audio/leona/c23.wav b/audio/leona/c23.wav new file mode 100644 index 0000000..114fd5b Binary files /dev/null and b/audio/leona/c23.wav differ diff --git a/audio/leona/c24.opus.bin b/audio/leona/c24.opus.bin new file mode 100644 index 0000000..df67e4d Binary files /dev/null and b/audio/leona/c24.opus.bin differ diff --git a/audio/leona/c24.wav b/audio/leona/c24.wav new file mode 100644 index 0000000..bf4d494 Binary files /dev/null and b/audio/leona/c24.wav differ diff --git a/audio/leona/c25.opus.bin b/audio/leona/c25.opus.bin new file mode 100644 index 0000000..84e756a Binary files /dev/null and b/audio/leona/c25.opus.bin differ diff --git a/audio/leona/c25.wav b/audio/leona/c25.wav new file mode 100644 index 0000000..9608ce6 Binary files /dev/null and b/audio/leona/c25.wav differ diff --git a/audio/leona/c26.opus.bin b/audio/leona/c26.opus.bin new file mode 100644 index 0000000..e537638 Binary files /dev/null and b/audio/leona/c26.opus.bin differ diff --git a/audio/leona/c26.wav b/audio/leona/c26.wav new file mode 100644 index 0000000..167a469 Binary files /dev/null and b/audio/leona/c26.wav differ diff --git a/audio/leona/c27.opus.bin b/audio/leona/c27.opus.bin new file mode 100644 index 0000000..a187c91 Binary files /dev/null and b/audio/leona/c27.opus.bin differ diff --git a/audio/leona/c27.wav b/audio/leona/c27.wav new file mode 100644 index 0000000..3c536a2 Binary files /dev/null and b/audio/leona/c27.wav differ diff --git a/audio/leona/c28.opus.bin b/audio/leona/c28.opus.bin new file mode 100644 index 0000000..2571512 Binary files /dev/null and b/audio/leona/c28.opus.bin differ diff --git a/audio/leona/c28.wav b/audio/leona/c28.wav new file mode 100644 index 0000000..d289a6d Binary files /dev/null and b/audio/leona/c28.wav differ diff --git a/audio/leona/c29.opus.bin b/audio/leona/c29.opus.bin new file mode 100644 index 0000000..ba4df6a Binary files /dev/null and b/audio/leona/c29.opus.bin differ diff --git a/audio/leona/c29.wav b/audio/leona/c29.wav new file mode 100644 index 0000000..2a3d8bd Binary files /dev/null and b/audio/leona/c29.wav differ diff --git a/audio/leona/c3.opus.bin b/audio/leona/c3.opus.bin new file mode 100644 index 0000000..16a9026 Binary files /dev/null and b/audio/leona/c3.opus.bin differ diff --git a/audio/leona/c3.wav b/audio/leona/c3.wav new file mode 100644 index 0000000..219a653 Binary files /dev/null and b/audio/leona/c3.wav differ diff --git a/audio/leona/c30.opus.bin b/audio/leona/c30.opus.bin new file mode 100644 index 0000000..3deac07 Binary files /dev/null and b/audio/leona/c30.opus.bin differ diff --git a/audio/leona/c30.wav b/audio/leona/c30.wav new file mode 100644 index 0000000..01180d1 Binary files /dev/null and b/audio/leona/c30.wav differ diff --git a/audio/leona/c31.opus.bin b/audio/leona/c31.opus.bin new file mode 100644 index 0000000..3166542 Binary files /dev/null and b/audio/leona/c31.opus.bin differ diff --git a/audio/leona/c31.wav b/audio/leona/c31.wav new file mode 100644 index 0000000..9acf263 Binary files /dev/null and b/audio/leona/c31.wav differ diff --git a/audio/leona/c32.opus.bin b/audio/leona/c32.opus.bin new file mode 100644 index 0000000..10251e9 Binary files /dev/null and b/audio/leona/c32.opus.bin differ diff --git a/audio/leona/c32.wav b/audio/leona/c32.wav new file mode 100644 index 0000000..e4c83f3 Binary files /dev/null and b/audio/leona/c32.wav differ diff --git a/audio/leona/c33.opus.bin b/audio/leona/c33.opus.bin new file mode 100644 index 0000000..6393a91 Binary files /dev/null and b/audio/leona/c33.opus.bin differ diff --git a/audio/leona/c33.wav b/audio/leona/c33.wav new file mode 100644 index 0000000..12e6d8e Binary files /dev/null and b/audio/leona/c33.wav differ diff --git a/audio/leona/c34.opus.bin b/audio/leona/c34.opus.bin new file mode 100644 index 0000000..748ea1f Binary files /dev/null and b/audio/leona/c34.opus.bin differ diff --git a/audio/leona/c34.wav b/audio/leona/c34.wav new file mode 100644 index 0000000..07082d7 Binary files /dev/null and b/audio/leona/c34.wav differ diff --git a/audio/leona/c35.opus.bin b/audio/leona/c35.opus.bin new file mode 100644 index 0000000..0f74967 Binary files /dev/null and b/audio/leona/c35.opus.bin differ diff --git a/audio/leona/c35.wav b/audio/leona/c35.wav new file mode 100644 index 0000000..8711be0 Binary files /dev/null and b/audio/leona/c35.wav differ diff --git a/audio/leona/c36.opus.bin b/audio/leona/c36.opus.bin new file mode 100644 index 0000000..bc70cfb Binary files /dev/null and b/audio/leona/c36.opus.bin differ diff --git a/audio/leona/c36.wav b/audio/leona/c36.wav new file mode 100644 index 0000000..3ee1008 Binary files /dev/null and b/audio/leona/c36.wav differ diff --git a/audio/leona/c37.opus.bin b/audio/leona/c37.opus.bin new file mode 100644 index 0000000..f101a46 Binary files /dev/null and b/audio/leona/c37.opus.bin differ diff --git a/audio/leona/c37.wav b/audio/leona/c37.wav new file mode 100644 index 0000000..7a18b9f Binary files /dev/null and b/audio/leona/c37.wav differ diff --git a/audio/leona/c38.opus.bin b/audio/leona/c38.opus.bin new file mode 100644 index 0000000..51d42bd Binary files /dev/null and b/audio/leona/c38.opus.bin differ diff --git a/audio/leona/c38.wav b/audio/leona/c38.wav new file mode 100644 index 0000000..7020c07 Binary files /dev/null and b/audio/leona/c38.wav differ diff --git a/audio/leona/c39.opus.bin b/audio/leona/c39.opus.bin new file mode 100644 index 0000000..a30aca6 Binary files /dev/null and b/audio/leona/c39.opus.bin differ diff --git a/audio/leona/c39.wav b/audio/leona/c39.wav new file mode 100644 index 0000000..676fd00 Binary files /dev/null and b/audio/leona/c39.wav differ diff --git a/audio/leona/c4.opus.bin b/audio/leona/c4.opus.bin new file mode 100644 index 0000000..2254b6e Binary files /dev/null and b/audio/leona/c4.opus.bin differ diff --git a/audio/leona/c4.wav b/audio/leona/c4.wav new file mode 100644 index 0000000..e5b2eff Binary files /dev/null and b/audio/leona/c4.wav differ diff --git a/audio/leona/c40.opus.bin b/audio/leona/c40.opus.bin new file mode 100644 index 0000000..71cbd47 Binary files /dev/null and b/audio/leona/c40.opus.bin differ diff --git a/audio/leona/c40.wav b/audio/leona/c40.wav new file mode 100644 index 0000000..fbf37da Binary files /dev/null and b/audio/leona/c40.wav differ diff --git a/audio/leona/c41.opus.bin b/audio/leona/c41.opus.bin new file mode 100644 index 0000000..4ce42d4 Binary files /dev/null and b/audio/leona/c41.opus.bin differ diff --git a/audio/leona/c41.wav b/audio/leona/c41.wav new file mode 100644 index 0000000..d46a4ef Binary files /dev/null and b/audio/leona/c41.wav differ diff --git a/audio/leona/c42.opus.bin b/audio/leona/c42.opus.bin new file mode 100644 index 0000000..4798aa2 Binary files /dev/null and b/audio/leona/c42.opus.bin differ diff --git a/audio/leona/c42.wav b/audio/leona/c42.wav new file mode 100644 index 0000000..ba82153 Binary files /dev/null and b/audio/leona/c42.wav differ diff --git a/audio/leona/c43.opus.bin b/audio/leona/c43.opus.bin new file mode 100644 index 0000000..0b763ba Binary files /dev/null and b/audio/leona/c43.opus.bin differ diff --git a/audio/leona/c43.wav b/audio/leona/c43.wav new file mode 100644 index 0000000..723fb77 Binary files /dev/null and b/audio/leona/c43.wav differ diff --git a/audio/leona/c44.opus.bin b/audio/leona/c44.opus.bin new file mode 100644 index 0000000..0754429 Binary files /dev/null and b/audio/leona/c44.opus.bin differ diff --git a/audio/leona/c44.wav b/audio/leona/c44.wav new file mode 100644 index 0000000..3ca1064 Binary files /dev/null and b/audio/leona/c44.wav differ diff --git a/audio/leona/c45.opus.bin b/audio/leona/c45.opus.bin new file mode 100644 index 0000000..b9a3f16 Binary files /dev/null and b/audio/leona/c45.opus.bin differ diff --git a/audio/leona/c45.wav b/audio/leona/c45.wav new file mode 100644 index 0000000..e5309c2 Binary files /dev/null and b/audio/leona/c45.wav differ diff --git a/audio/leona/c46.opus.bin b/audio/leona/c46.opus.bin new file mode 100644 index 0000000..fda26d6 Binary files /dev/null and b/audio/leona/c46.opus.bin differ diff --git a/audio/leona/c46.wav b/audio/leona/c46.wav new file mode 100644 index 0000000..b4fe60f Binary files /dev/null and b/audio/leona/c46.wav differ diff --git a/audio/leona/c47.opus.bin b/audio/leona/c47.opus.bin new file mode 100644 index 0000000..115bf25 Binary files /dev/null and b/audio/leona/c47.opus.bin differ diff --git a/audio/leona/c47.wav b/audio/leona/c47.wav new file mode 100644 index 0000000..e6327d1 Binary files /dev/null and b/audio/leona/c47.wav differ diff --git a/audio/leona/c48.opus.bin b/audio/leona/c48.opus.bin new file mode 100644 index 0000000..00ffd68 Binary files /dev/null and b/audio/leona/c48.opus.bin differ diff --git a/audio/leona/c48.wav b/audio/leona/c48.wav new file mode 100644 index 0000000..e7a7083 Binary files /dev/null and b/audio/leona/c48.wav differ diff --git a/audio/leona/c49.opus.bin b/audio/leona/c49.opus.bin new file mode 100644 index 0000000..7dc8f5d Binary files /dev/null and b/audio/leona/c49.opus.bin differ diff --git a/audio/leona/c49.wav b/audio/leona/c49.wav new file mode 100644 index 0000000..bf50c2f Binary files /dev/null and b/audio/leona/c49.wav differ diff --git a/audio/leona/c5.opus.bin b/audio/leona/c5.opus.bin new file mode 100644 index 0000000..ecb6dae Binary files /dev/null and b/audio/leona/c5.opus.bin differ diff --git a/audio/leona/c5.wav b/audio/leona/c5.wav new file mode 100644 index 0000000..be19d78 Binary files /dev/null and b/audio/leona/c5.wav differ diff --git a/audio/leona/c50.opus.bin b/audio/leona/c50.opus.bin new file mode 100644 index 0000000..53ebae7 Binary files /dev/null and b/audio/leona/c50.opus.bin differ diff --git a/audio/leona/c50.wav b/audio/leona/c50.wav new file mode 100644 index 0000000..f3c70b2 Binary files /dev/null and b/audio/leona/c50.wav differ diff --git a/audio/leona/c51.opus.bin b/audio/leona/c51.opus.bin new file mode 100644 index 0000000..da159ab Binary files /dev/null and b/audio/leona/c51.opus.bin differ diff --git a/audio/leona/c51.wav b/audio/leona/c51.wav new file mode 100644 index 0000000..e28131a Binary files /dev/null and b/audio/leona/c51.wav differ diff --git a/audio/leona/c52.opus.bin b/audio/leona/c52.opus.bin new file mode 100644 index 0000000..408863d Binary files /dev/null and b/audio/leona/c52.opus.bin differ diff --git a/audio/leona/c52.wav b/audio/leona/c52.wav new file mode 100644 index 0000000..1b6a217 Binary files /dev/null and b/audio/leona/c52.wav differ diff --git a/audio/leona/c53.opus.bin b/audio/leona/c53.opus.bin new file mode 100644 index 0000000..efc9480 Binary files /dev/null and b/audio/leona/c53.opus.bin differ diff --git a/audio/leona/c53.wav b/audio/leona/c53.wav new file mode 100644 index 0000000..2e0fc04 Binary files /dev/null and b/audio/leona/c53.wav differ diff --git a/audio/leona/c54.opus.bin b/audio/leona/c54.opus.bin new file mode 100644 index 0000000..7b77b5e Binary files /dev/null and b/audio/leona/c54.opus.bin differ diff --git a/audio/leona/c54.wav b/audio/leona/c54.wav new file mode 100644 index 0000000..aaa941a Binary files /dev/null and b/audio/leona/c54.wav differ diff --git a/audio/leona/c55.opus.bin b/audio/leona/c55.opus.bin new file mode 100644 index 0000000..ebbecd7 Binary files /dev/null and b/audio/leona/c55.opus.bin differ diff --git a/audio/leona/c55.wav b/audio/leona/c55.wav new file mode 100644 index 0000000..f3168af Binary files /dev/null and b/audio/leona/c55.wav differ diff --git a/audio/leona/c56.opus.bin b/audio/leona/c56.opus.bin new file mode 100644 index 0000000..54f1d05 Binary files /dev/null and b/audio/leona/c56.opus.bin differ diff --git a/audio/leona/c56.wav b/audio/leona/c56.wav new file mode 100644 index 0000000..508c963 Binary files /dev/null and b/audio/leona/c56.wav differ diff --git a/audio/leona/c57.opus.bin b/audio/leona/c57.opus.bin new file mode 100644 index 0000000..19494d5 Binary files /dev/null and b/audio/leona/c57.opus.bin differ diff --git a/audio/leona/c57.wav b/audio/leona/c57.wav new file mode 100644 index 0000000..cc88508 Binary files /dev/null and b/audio/leona/c57.wav differ diff --git a/audio/leona/c58.opus.bin b/audio/leona/c58.opus.bin new file mode 100644 index 0000000..6faf160 Binary files /dev/null and b/audio/leona/c58.opus.bin differ diff --git a/audio/leona/c58.wav b/audio/leona/c58.wav new file mode 100644 index 0000000..1734480 Binary files /dev/null and b/audio/leona/c58.wav differ diff --git a/audio/leona/c59.opus.bin b/audio/leona/c59.opus.bin new file mode 100644 index 0000000..de44357 Binary files /dev/null and b/audio/leona/c59.opus.bin differ diff --git a/audio/leona/c59.wav b/audio/leona/c59.wav new file mode 100644 index 0000000..2101218 Binary files /dev/null and b/audio/leona/c59.wav differ diff --git a/audio/leona/c6.opus.bin b/audio/leona/c6.opus.bin new file mode 100644 index 0000000..6f6bc5e Binary files /dev/null and b/audio/leona/c6.opus.bin differ diff --git a/audio/leona/c6.wav b/audio/leona/c6.wav new file mode 100644 index 0000000..75cf6e0 Binary files /dev/null and b/audio/leona/c6.wav differ diff --git a/audio/leona/c60.opus.bin b/audio/leona/c60.opus.bin new file mode 100644 index 0000000..a23ce54 Binary files /dev/null and b/audio/leona/c60.opus.bin differ diff --git a/audio/leona/c60.wav b/audio/leona/c60.wav new file mode 100644 index 0000000..03162c8 Binary files /dev/null and b/audio/leona/c60.wav differ diff --git a/audio/leona/c61.opus.bin b/audio/leona/c61.opus.bin new file mode 100644 index 0000000..91d4e19 Binary files /dev/null and b/audio/leona/c61.opus.bin differ diff --git a/audio/leona/c61.wav b/audio/leona/c61.wav new file mode 100644 index 0000000..09ecc5d Binary files /dev/null and b/audio/leona/c61.wav differ diff --git a/audio/leona/c62.opus.bin b/audio/leona/c62.opus.bin new file mode 100644 index 0000000..311db67 Binary files /dev/null and b/audio/leona/c62.opus.bin differ diff --git a/audio/leona/c62.wav b/audio/leona/c62.wav new file mode 100644 index 0000000..5e112e7 Binary files /dev/null and b/audio/leona/c62.wav differ diff --git a/audio/leona/c63.opus.bin b/audio/leona/c63.opus.bin new file mode 100644 index 0000000..a282442 Binary files /dev/null and b/audio/leona/c63.opus.bin differ diff --git a/audio/leona/c63.wav b/audio/leona/c63.wav new file mode 100644 index 0000000..ac9d823 Binary files /dev/null and b/audio/leona/c63.wav differ diff --git a/audio/leona/c64.opus.bin b/audio/leona/c64.opus.bin new file mode 100644 index 0000000..2349674 Binary files /dev/null and b/audio/leona/c64.opus.bin differ diff --git a/audio/leona/c64.wav b/audio/leona/c64.wav new file mode 100644 index 0000000..43594b6 Binary files /dev/null and b/audio/leona/c64.wav differ diff --git a/audio/leona/c65.opus.bin b/audio/leona/c65.opus.bin new file mode 100644 index 0000000..7b59167 Binary files /dev/null and b/audio/leona/c65.opus.bin differ diff --git a/audio/leona/c65.wav b/audio/leona/c65.wav new file mode 100644 index 0000000..c47bc0d Binary files /dev/null and b/audio/leona/c65.wav differ diff --git a/audio/leona/c66.opus.bin b/audio/leona/c66.opus.bin new file mode 100644 index 0000000..ea3fa3c Binary files /dev/null and b/audio/leona/c66.opus.bin differ diff --git a/audio/leona/c66.wav b/audio/leona/c66.wav new file mode 100644 index 0000000..65fe261 Binary files /dev/null and b/audio/leona/c66.wav differ diff --git a/audio/leona/c67.opus.bin b/audio/leona/c67.opus.bin new file mode 100644 index 0000000..44398c0 Binary files /dev/null and b/audio/leona/c67.opus.bin differ diff --git a/audio/leona/c67.wav b/audio/leona/c67.wav new file mode 100644 index 0000000..1370d47 Binary files /dev/null and b/audio/leona/c67.wav differ diff --git a/audio/leona/c7.opus.bin b/audio/leona/c7.opus.bin new file mode 100644 index 0000000..57876f3 Binary files /dev/null and b/audio/leona/c7.opus.bin differ diff --git a/audio/leona/c7.wav b/audio/leona/c7.wav new file mode 100644 index 0000000..7cc20a1 Binary files /dev/null and b/audio/leona/c7.wav differ diff --git a/audio/leona/c8.opus.bin b/audio/leona/c8.opus.bin new file mode 100644 index 0000000..3826373 Binary files /dev/null and b/audio/leona/c8.opus.bin differ diff --git a/audio/leona/c8.wav b/audio/leona/c8.wav new file mode 100644 index 0000000..24d8f3b Binary files /dev/null and b/audio/leona/c8.wav differ diff --git a/audio/leona/c9.opus.bin b/audio/leona/c9.opus.bin new file mode 100644 index 0000000..f77e6e4 Binary files /dev/null and b/audio/leona/c9.opus.bin differ diff --git a/audio/leona/c9.wav b/audio/leona/c9.wav new file mode 100644 index 0000000..5353259 Binary files /dev/null and b/audio/leona/c9.wav differ diff --git a/audio/mousegirls/mg1.opus.bin b/audio/mousegirls/mg1.opus.bin new file mode 100644 index 0000000..d76ef3e Binary files /dev/null and b/audio/mousegirls/mg1.opus.bin differ diff --git a/audio/mousegirls/mg1.wav b/audio/mousegirls/mg1.wav new file mode 100644 index 0000000..30ae917 Binary files /dev/null and b/audio/mousegirls/mg1.wav differ diff --git a/audio/mousegirls/mg2.opus.bin b/audio/mousegirls/mg2.opus.bin new file mode 100644 index 0000000..74338ce Binary files /dev/null and b/audio/mousegirls/mg2.opus.bin differ diff --git a/audio/mousegirls/mg2.wav b/audio/mousegirls/mg2.wav new file mode 100644 index 0000000..cb450b4 Binary files /dev/null and b/audio/mousegirls/mg2.wav differ diff --git a/audio/mousegirls/mg3.opus.bin b/audio/mousegirls/mg3.opus.bin new file mode 100644 index 0000000..0a49ab7 Binary files /dev/null and b/audio/mousegirls/mg3.opus.bin differ diff --git a/audio/mousegirls/mg3.wav b/audio/mousegirls/mg3.wav new file mode 100644 index 0000000..fca5e08 Binary files /dev/null and b/audio/mousegirls/mg3.wav differ diff --git a/audio/music/MistAmbience.opus.bin b/audio/music/MistAmbience.opus.bin new file mode 100644 index 0000000..ba46c00 Binary files /dev/null and b/audio/music/MistAmbience.opus.bin differ diff --git a/audio/music/Poem1.ogg b/audio/music/Poem1.ogg deleted file mode 100644 index 30602c5..0000000 Binary files a/audio/music/Poem1.ogg and /dev/null differ diff --git a/audio/music/Poem1.opus.bin b/audio/music/Poem1.opus.bin index 5408328..3e212d7 100644 Binary files a/audio/music/Poem1.opus.bin and b/audio/music/Poem1.opus.bin differ diff --git a/audio/music/Poem1.wav b/audio/music/Poem1.wav new file mode 100644 index 0000000..dd7384f Binary files /dev/null and b/audio/music/Poem1.wav differ diff --git a/audio/music/Poem2.wav b/audio/music/Poem2.wav new file mode 100644 index 0000000..2f15b26 Binary files /dev/null and b/audio/music/Poem2.wav differ diff --git a/audio/nara/n1.opus.bin b/audio/nara/n1.opus.bin new file mode 100644 index 0000000..341a60d Binary files /dev/null and b/audio/nara/n1.opus.bin differ diff --git a/audio/nara/n1.wav b/audio/nara/n1.wav new file mode 100644 index 0000000..1cfb6d7 Binary files /dev/null and b/audio/nara/n1.wav differ diff --git a/audio/nara/n10.opus.bin b/audio/nara/n10.opus.bin new file mode 100644 index 0000000..acef43c Binary files /dev/null and b/audio/nara/n10.opus.bin differ diff --git a/audio/nara/n10.wav b/audio/nara/n10.wav new file mode 100644 index 0000000..d3f41a3 Binary files /dev/null and b/audio/nara/n10.wav differ diff --git a/audio/nara/n11.opus.bin b/audio/nara/n11.opus.bin new file mode 100644 index 0000000..3bc3055 Binary files /dev/null and b/audio/nara/n11.opus.bin differ diff --git a/audio/nara/n11.wav b/audio/nara/n11.wav new file mode 100644 index 0000000..848ec8f Binary files /dev/null and b/audio/nara/n11.wav differ diff --git a/audio/nara/n12.opus.bin b/audio/nara/n12.opus.bin new file mode 100644 index 0000000..ad8b6a4 Binary files /dev/null and b/audio/nara/n12.opus.bin differ diff --git a/audio/nara/n12.wav b/audio/nara/n12.wav new file mode 100644 index 0000000..c970672 Binary files /dev/null and b/audio/nara/n12.wav differ diff --git a/audio/nara/n13.opus.bin b/audio/nara/n13.opus.bin new file mode 100644 index 0000000..0b36087 Binary files /dev/null and b/audio/nara/n13.opus.bin differ diff --git a/audio/nara/n13.wav b/audio/nara/n13.wav new file mode 100644 index 0000000..402fffd Binary files /dev/null and b/audio/nara/n13.wav differ diff --git a/audio/nara/n2.opus.bin b/audio/nara/n2.opus.bin new file mode 100644 index 0000000..d0c6c56 Binary files /dev/null and b/audio/nara/n2.opus.bin differ diff --git a/audio/nara/n2.wav b/audio/nara/n2.wav new file mode 100644 index 0000000..2ca983a Binary files /dev/null and b/audio/nara/n2.wav differ diff --git a/audio/nara/n3.opus.bin b/audio/nara/n3.opus.bin new file mode 100644 index 0000000..ba4516d Binary files /dev/null and b/audio/nara/n3.opus.bin differ diff --git a/audio/nara/n3.wav b/audio/nara/n3.wav new file mode 100644 index 0000000..d6f75b4 Binary files /dev/null and b/audio/nara/n3.wav differ diff --git a/audio/nara/n4.opus.bin b/audio/nara/n4.opus.bin new file mode 100644 index 0000000..fd32cc4 Binary files /dev/null and b/audio/nara/n4.opus.bin differ diff --git a/audio/nara/n4.wav b/audio/nara/n4.wav new file mode 100644 index 0000000..66ac0f5 Binary files /dev/null and b/audio/nara/n4.wav differ diff --git a/audio/nara/n5.opus.bin b/audio/nara/n5.opus.bin new file mode 100644 index 0000000..03a14d2 Binary files /dev/null and b/audio/nara/n5.opus.bin differ diff --git a/audio/nara/n5.wav b/audio/nara/n5.wav new file mode 100644 index 0000000..bc4f083 Binary files /dev/null and b/audio/nara/n5.wav differ diff --git a/audio/nara/n6.opus.bin b/audio/nara/n6.opus.bin new file mode 100644 index 0000000..d73f85d Binary files /dev/null and b/audio/nara/n6.opus.bin differ diff --git a/audio/nara/n6.wav b/audio/nara/n6.wav new file mode 100644 index 0000000..38a652c Binary files /dev/null and b/audio/nara/n6.wav differ diff --git a/audio/nara/n7.opus.bin b/audio/nara/n7.opus.bin new file mode 100644 index 0000000..7b89884 Binary files /dev/null and b/audio/nara/n7.opus.bin differ diff --git a/audio/nara/n7.wav b/audio/nara/n7.wav new file mode 100644 index 0000000..1979ae0 Binary files /dev/null and b/audio/nara/n7.wav differ diff --git a/audio/nara/n8.opus.bin b/audio/nara/n8.opus.bin new file mode 100644 index 0000000..c8e347e Binary files /dev/null and b/audio/nara/n8.opus.bin differ diff --git a/audio/nara/n8.wav b/audio/nara/n8.wav new file mode 100644 index 0000000..2141072 Binary files /dev/null and b/audio/nara/n8.wav differ diff --git a/audio/nara/n9.opus.bin b/audio/nara/n9.opus.bin new file mode 100644 index 0000000..6659d63 Binary files /dev/null and b/audio/nara/n9.opus.bin differ diff --git a/audio/nara/n9.wav b/audio/nara/n9.wav new file mode 100644 index 0000000..604ee9b Binary files /dev/null and b/audio/nara/n9.wav differ diff --git a/audio/placeholdermeow.mp3 b/audio/placeholdermeow.mp3 deleted file mode 100644 index f488fdb..0000000 Binary files a/audio/placeholdermeow.mp3 and /dev/null differ diff --git a/audio/placeholdermeow.opus.bin b/audio/placeholdermeow.opus.bin deleted file mode 100644 index 4d2602d..0000000 Binary files a/audio/placeholdermeow.opus.bin and /dev/null differ diff --git a/audio/sfx/Chime.ogg b/audio/sfx/Chime.ogg deleted file mode 100644 index 7324bf5..0000000 Binary files a/audio/sfx/Chime.ogg and /dev/null differ diff --git a/audio/sfx/Chime.opus.bin b/audio/sfx/Chime.opus.bin index b5b1b35..cced93b 100644 Binary files a/audio/sfx/Chime.opus.bin and b/audio/sfx/Chime.opus.bin differ diff --git a/audio/sfx/Chime.wav b/audio/sfx/Chime.wav new file mode 100644 index 0000000..96654a3 Binary files /dev/null and b/audio/sfx/Chime.wav differ diff --git a/audio/sfx/Glass.opus.bin b/audio/sfx/Glass.opus.bin new file mode 100644 index 0000000..70037fa Binary files /dev/null and b/audio/sfx/Glass.opus.bin differ diff --git a/audio/sfx/Glass.wav b/audio/sfx/Glass.wav new file mode 100644 index 0000000..5d42381 Binary files /dev/null and b/audio/sfx/Glass.wav differ diff --git a/audio/sfx/MistAmbience.ogg b/audio/sfx/MistAmbience.ogg deleted file mode 100644 index 8dcdfbd..0000000 Binary files a/audio/sfx/MistAmbience.ogg and /dev/null differ diff --git a/audio/sfx/MistAmbience.opus.bin b/audio/sfx/MistAmbience.opus.bin deleted file mode 100644 index 9e0538f..0000000 Binary files a/audio/sfx/MistAmbience.opus.bin and /dev/null differ diff --git a/data/renpy/images/bg/castle1.png b/data/renpy/images/bg/castle1.png new file mode 100644 index 0000000..3d5bd57 Binary files /dev/null and b/data/renpy/images/bg/castle1.png differ diff --git a/data/renpy/images/bg/castle2.png b/data/renpy/images/bg/castle2.png new file mode 100644 index 0000000..e031a0d Binary files /dev/null and b/data/renpy/images/bg/castle2.png differ diff --git a/data/renpy/images/bg/castle3.png b/data/renpy/images/bg/castle3.png new file mode 100644 index 0000000..3472aca Binary files /dev/null and b/data/renpy/images/bg/castle3.png differ diff --git a/data/renpy/images/bg/castle4.png b/data/renpy/images/bg/castle4.png new file mode 100644 index 0000000..95cdd2e Binary files /dev/null and b/data/renpy/images/bg/castle4.png differ diff --git a/data/renpy/images/bg/forest1.png b/data/renpy/images/bg/forest1.png index dad46df..9929218 100644 Binary files a/data/renpy/images/bg/forest1.png and b/data/renpy/images/bg/forest1.png differ diff --git a/data/renpy/images/bg/forest2.png b/data/renpy/images/bg/forest2.png index 892a05f..4d4a86c 100644 Binary files a/data/renpy/images/bg/forest2.png and b/data/renpy/images/bg/forest2.png differ diff --git a/data/renpy/images/bg/wheatfield1.png b/data/renpy/images/bg/wheatfield1.png index 51ab005..a232db0 100644 Binary files a/data/renpy/images/bg/wheatfield1.png and b/data/renpy/images/bg/wheatfield1.png differ diff --git a/data/renpy/images/bg/white.png b/data/renpy/images/bg/white.png deleted file mode 100644 index cef66ca..0000000 Binary files a/data/renpy/images/bg/white.png and /dev/null differ diff --git a/data/renpy/images/button1.png b/data/renpy/images/button1.png new file mode 100644 index 0000000..6429026 Binary files /dev/null and b/data/renpy/images/button1.png differ diff --git a/data/renpy/images/button2.png b/data/renpy/images/button2.png new file mode 100644 index 0000000..075c1c1 Binary files /dev/null and b/data/renpy/images/button2.png differ diff --git a/data/renpy/images/ch/Alice.png b/data/renpy/images/ch/ialice/Alice.png similarity index 100% rename from data/renpy/images/ch/Alice.png rename to data/renpy/images/ch/ialice/Alice.png diff --git a/data/renpy/images/ch/ialice/Salice.png b/data/renpy/images/ch/ialice/Salice.png new file mode 100644 index 0000000..7acbfc5 Binary files /dev/null and b/data/renpy/images/ch/ialice/Salice.png differ diff --git a/data/renpy/images/ch/ialice/Walice.png b/data/renpy/images/ch/ialice/Walice.png new file mode 100644 index 0000000..6940f0b Binary files /dev/null and b/data/renpy/images/ch/ialice/Walice.png differ diff --git a/data/renpy/images/ch/ibird/Bird.png b/data/renpy/images/ch/ibird/Bird.png new file mode 100644 index 0000000..9360522 Binary files /dev/null and b/data/renpy/images/ch/ibird/Bird.png differ diff --git a/data/renpy/images/ch/cat.png b/data/renpy/images/ch/icat/Cat.png similarity index 100% rename from data/renpy/images/ch/cat.png rename to data/renpy/images/ch/icat/Cat.png diff --git a/data/renpy/images/ch/catw.png b/data/renpy/images/ch/icat/Catw.png similarity index 100% rename from data/renpy/images/ch/catw.png rename to data/renpy/images/ch/icat/Catw.png diff --git a/data/renpy/images/ch/Eily.png b/data/renpy/images/ch/ieily/Eily.png similarity index 100% rename from data/renpy/images/ch/Eily.png rename to data/renpy/images/ch/ieily/Eily.png diff --git a/data/renpy/images/ch/ieily/Seily.png b/data/renpy/images/ch/ieily/Seily.png new file mode 100644 index 0000000..49afca8 Binary files /dev/null and b/data/renpy/images/ch/ieily/Seily.png differ diff --git a/data/renpy/script.rpy b/data/renpy/script.rpy index d17b868..a898964 100644 --- a/data/renpy/script.rpy +++ b/data/renpy/script.rpy @@ -2,26 +2,37 @@ # Declare characters used by this game. The color argument colorizes the # name of the character. +image bgblue = "#000000" image bgwhite = "#ffffff" -image bgblack = "#000000" image bgforest1 = "bg/forest1.png" image bgforest2 = "bg/forest2.png" image bgflower1 = "bg/flowerfield1.png" image bgwheatfield1 = "bg/wheatfield1.png" +image bgcastle1 = "bg/castle1.png" +image bgcastle2 = "bg/castle2.png" +image bgcastle3 = "bg/castle3.png" +image bgcastle4 = "bg/castle4.png" -image cat = "ch/cat.png" -image catw = "ch/catw.png" -image ei = "ch/Eily.png" -image al = "ch/Alice.png" -#image ei1 = "ch/eily1.png" -#image al1 = "ch/alice1.png" +image al = "ch/ialice/Alice.png" +image sal = "ch/ialice/Salice.png" +image wal = "ch/ialice/Walice.png" -define a = Character("Alice",color="00765e") +image bi = "ch/ibird/Bird.png" + +image cat = "ch/icat/Cat.png" +image catw = "ch/icat/Catw.png" + +image ei = "ch/ieily/Eily.png" +image sei = "ch/ieily/Seily.png" + +define a = Character("Alice",color="409b5d") +define b = Character("Queen Alary",color="0b1845") define c = Character("Cat",color="590093") define e = Character("Eily",color="0b6092") define mg = Character("Mouse Girls",color="000000") define n = Character("Narrator",color="000000") define l = Character("Leona",color="590093") +define h = Character("Herald",color="860000") #this centers the name display define gui.name_xpos = 0.5 @@ -46,7 +57,7 @@ init: python: renpy.music.register_channel("ScaredMice", "music", loop=True) renpy.music.register_channel("TinyForestMinstrels", "music", loop=True) - renpy.music.register_channel("MistAmbience", "music", loop=False) + renpy.music.register_channel("MistAmbience", "music", loop=True) renpy.music.register_channel("PhrygianButterflies", "music", loop=True) renpy.music.register_channel("WheatFields", "music", loop=True) @@ -56,73 +67,87 @@ init: label start: - # Show a background. This uses a placeholder by default, but you can - # add a file (named either "bg room.png" or "bg room.jpg") to the - # images directory to show it. - - #play Chime "sfx/Chime.ogg" fadeout 1.0 play sound "sfx/Chime.ogg" - play MistAmbience "sfx/MistAmbience.ogg" - scene bgblack - pause 0.0 + play MistAmbience "music/MistAmbience.ogg" + scene bgblue + pause 1.0 scene bgwhite with Dissolve(3.0) #play music "IntroMusicTest.ogg" #play NarratorLoop "n1test.mp3" - #voice "n1test.mp3" + voice "nara/n1.ogg" n "Far over the mountains of Almystice" - #voice "n2test.mp3" + voice "nara/n2.ogg" n "Beyond the tumultuous waters of the Lilac Bay" - #voice "n3test.mp3" + voice "nara/n3.ogg" n "And across the vast fields of Alysen" #voice "n4test.mp3" + stop MistAmbience fadeout 4.2 play TinyForestMinstrels "music/TinyForestMinstrels.ogg" + voice "nara/n4.ogg" n "Tiny minstrels can be heard amongst the trees" - stop TinyForestMinstrels fadeout 5.5 + scene bgforest1 + play sound "sfx/Chime.ogg" with Dissolve(3.0) show al at left + voice "alice/a1.ogg" a "Are we almost there?" show ei at right + voice "eily/e1.ogg" e "Hmmm... Not really" + + voice "alice/a2.ogg" a "How much further have we to go?" + voice "eily/e2.ogg" e "About two more moons" menu: "Complain" : + voice "alice/a3.ogg" a "We are still sooo far awayyy" + voice "eily/e3.ogg" e "And it will be even further if you dont stop complaining" + voice "alice/a4.ogg" a "Easy for you to say, all you have to carry is a little memory pipe!" + voice "alice/a5.ogg" a "I'm tired ><" + voice "eily/e4.ogg" e "Don't start whining now!" + voice "eily/e5.ogg" e "You need to remember why we have come all this way" + voice "alice/a6.ogg" a "I understand... I suppose it is for an important purpose" "Rationalize" : + voice "alice/a6.ogg" a "I understand... I suppose it is for an important purpose" jump mainbranch1 label mainbranch1: + voice "eily/e6.ogg" e "We're almost out of the forest, we can take a little break once we clear the tree line" + voice "alice/a7.ogg" a "Is that where the flora field is?" + voice "eily/e7.ogg" e "Why yes, If I remember correctly, it should be just up ahead" stop TinyForestMinstrels fadeout 5.5 @@ -131,7 +156,7 @@ label start: with Dissolve(1.0) - #voice "n5test.ogg" + voice "nara/n5.ogg" n "As the minstrel mice girls continue along the path, the forest opens up into a beautiful field of flowers" play PhrygianButterflies "music/PhrygianButterflies.ogg" @@ -142,24 +167,34 @@ label start: show ei at right + voice "eily/e8.ogg" e "Look at all the butterflies! They are all so pretty!" show al at left + voice "alice/a8.ogg" a "This place is like a dream..." + voice "eily/e9.ogg" e "There are so many flowers this time of year" + voice "eily/e10.ogg" e "I told you it would be worth the journey!" - a "Can we stop for a bit now?" + voice "alice/a9.ogg" + a "Can we stop for a bit?" + voice "eily/e11.ogg" e "Of course" + voice "eily/e12.ogg" e "Ya know, Its a shame we didnt save some of those giant strawberries you found" + voice "alice/a10.ogg" a "I told you not to eat them all!" + voice "eily/e13.ogg" e "Yah yah" + voice "eily/e14.ogg" e "Anyways, shall I recite a tale?" menu: @@ -167,14 +202,18 @@ label start: "Good idea" : stop PhrygianButterflies fadeout 4.2 + voice "alice/a11.ogg" a "Why dont you sing the story of Eleanor the Hero!" + voice "eily/e15.ogg" e "Sure" - a "..." + e "..." play music "music/Poem1.ogg" noloop pause 40 "I am too tired" : + voice "eily/e16.ogg" e "Serves you right for scaring those elephant-dogs" stop PhrygianButterflies fadeout 4.2 + voice "alice/a12.ogg" a "They were asking for it, you know" @@ -216,25 +255,40 @@ label start: show catw at right show ei at centerleft: xzoom -1 - voice "placeholdermeow.mp3" + #voice "placeholdermeow.mp3" + voice "leona/c1.ogg" c "Rawrrrr" hide catw show cat at right play ScaredMice "music/ScaredMice.ogg" + hide ei + hide al + show sei at centerleft: + xzoom -1 + + show sal at left + + #voice "alice/a13.ogg" + voice "mousegirls/mg1.ogg" mg "AHHHHHHHHHH!!!!!" + voice "leona/c2.ogg" c "Nyanyanyanya" + voice "leona/c3.ogg" c "Well, what do we have here? If it isn't two little meowse girls, all alone amongst the flowers" menu: "Beg for mercy" : + voice "alice/a14.ogg" a "Please don't eat us!!!" "Run" : + voice "eily/e18.ogg" e "Alice don't run, our only chance is through pleading!" + voice "eily/e19.ogg" e "Please don't eat us, miss kitty cat!!! ><" @@ -247,77 +301,119 @@ label start: label mainbranch3: stop ScaredMice fadeout 2.0 + + voice "leona/c4.ogg" c "I'm not gonna eat you nyanyanya" + hide sal + show al at left play TinyForestMinstrels "music/TinyForestMinstrels.ogg" + voice "leona/c5.ogg" c "I just want to know what two little meowses are doing so very far away from home" + hide sei + show ei at centerleft: + xzoom -1 + voice "leona/c6.ogg" c "Also, are you minstrels?" + voice "eily/e20.ogg" e "Y-Yes" + voice "alice/a15.ogg" a "W-We are on a quest to Castle Alysen..." + voice "eily/e21.ogg" e "Shh don't tell her that" + voice "leona/c7.ogg" c "The Castle of Alysen you say?!?" + voice "leona/c8.ogg" c "Why, that's where I am headed!" + voice "eily/e22.ogg" e "You don't say..." + voice "leona/c9.ogg" c "Yah, I do actually" + voice "eily/e23.ogg" e "So... Why might you be traveling to the castle?" + voice "leona/c10.ogg" c "I belong to the lineage of Agrepen" + voice "eily/e24.ogg" e "And what might that mean?" + voice "leona/c11.ogg" c "The Agrepens are a long line of felines loyal to the crown of corvidae" + voice "eily/e25.ogg" e "Really? That must mean you are a noble?" + voice "leona/c12.ogg" c "Well, not really..." + voice "leona/c13.ogg" c "My father was one of the queens knights many years ago" + voice "eily/e26.ogg" e "Ah I see" + voice "eily/e27.ogg" e "So do you live at the castle or something?" + voice "leona/c14.ogg" c "Well, no..." - a "Then why are you traveling to Castle Alysen?" + voice "alice/a16.ogg" + a "Then why are you traveling to The Castle Alysen?" + voice "leona/c15.ogg" c "uhhh" - play MistAmbience "sfx/MistAmbience.ogg" + play MistAmbience "music/MistAmbience.ogg" stop TinyForestMinstrels fadeout 2.0 + voice "leona/c16.ogg" c "I DONT NEED TO BE PRESSURED BY LITTLE MICE TO SAY ANYTHING!!!!" + voice "leona/c17.ogg" c "GOOD DAY!" hide cat + voice "alice/a17.ogg" a "Wha..." + voice "eily/e28.ogg" e "Phew, I was scared she was gonna follow us the whole way" + voice "alice/a18.ogg" a "She didn't seem so bad" - #play MistAmbience "sfx/MistAmbience.ogg" + #play MistAmbience "music/MistAmbience.ogg" + voice "eily/e29.ogg" e "Are you kidding? She's a crazy kitty!" scene bgwhite play sound "sfx/Chime.ogg" with Dissolve(3.0) + + + + voice "nara/n6.ogg" n "After their encounter with the weird cat, the mice scurry out of the flower field and into the nearby meadow" scene bgforest2 with Dissolve(3.0) show ei at right + voice "eily/e30.ogg" e "I think this is the right way..." show al at left + voice "alice/a19.ogg" a "Then where did the path go?" + voice "eily/e31.ogg" e "How am I supposed to know?" + voice "alice/a20.ogg" a "Did you hear that?!?!" show ei at centerleft: @@ -325,113 +421,177 @@ label start: show cat at right play PhrygianButterflies "music/PhrygianButterflies.ogg" - c "Hey there..." - c "I apologize" - c "I didn't mean to storm off like that" + voice "leona/c18.ogg" + c "Hey there... I apologize, I didn't mean to storm off like that" + #voice "leona/c19.ogg" + #c "I apologize" + #voice "leona/c20.ogg" + #c "I didn't mean to storm off like that" + voice "eily/e32.ogg" e "Ha ha, no problem..." + voice "alice/a21.ogg" a "So... Why are you traveling to Castle Alysen?" + + voice "eily/e33.ogg" e "Alice!!!" + voice "leona/c19.ogg" c "If you must know, I have been summoned by the queen" + voice "leona/c20.ogg" c "I suspect that my poor reputation amongst the locals of Eastern Nidus has come back to haunt me" + voice "leona/c21.ogg" c "Though I know not what what she has summoned me for" + voice "alice/a22.ogg" a "Ahhhhhh" + voice "leona/c22.ogg" c "So then..." + voice "leona/c23.ogg" c "Why are YOU traveling to the Castle?" + voice "alice/a23.ogg" a "We are delivering a feather!!!" + voice "eily/e34.ogg" e "Alice no!" + voice "alice/a24.ogg" a "A feather that belonged to the queen herself!!!" + voice "eily/e35.ogg" e "Why you little..." + voice "leona/c24.ogg" c "A feather you say? One of the queens?" + voice "leona/c25.ogg" c "How on the face of Al Mot might you have aquired such a thing?" - c "If it is authentic, that is..." + voice "leona/c26.ogg" + c "If it is authentic" + voice "eily/e36.ogg" e "Since Alice cannot keep a secret, I shall tell you" + voice "eily/e37.ogg" e "Seven moons ago, our town was attacked by three owls and a band of mice from the northern principalities" + voice "eily/e38.ogg" e "Eventually word spread to greater nearby settlements, and so" + voice "eily/e39.ogg" e "Messengers from the keep in Musia sent for aid from the Ravens" + voice "eily/e40.ogg" e "Four moons ago, the request was answered" + voice "eily/e41.ogg" e "And a small group of mice accompanied by two ravens a fox, and three squirrels set out to the northern principalities" + voice "eily/e42.ogg" e "Anyways, long story short, we drove those barbaric rats out of their home" + voice "alice/a25.ogg" a "They arent actual rats you know" + voice "eily/e43.ogg" e "Obviously, but you wont catch me speaking kindly of them" + voice "alice/a26.ogg" a "And you forgot the most important part" + voice "eily/e44.ogg" e "Yah yah, I am getting there" + voice "eily/e45.ogg" e "So, essentially, my brother is trained in archery, and..." + voice "alice/a27.ogg" a "Speed it up already" + voice "eily/e46.ogg" e "You tell it then!" + voice "alice/a28.ogg" a "My cousin found this feather in one of the highest towers of a castle far to the north" + voice "leona/c27.ogg" c "How do you know it belongs to the queen?" + voice "eily/e47.ogg" e "It said so itself above the display on the wall" + voice "alice/a29.ogg" a "Supposedly, it was in a room filled with treasures!" + voice "leona/c28.ogg" c "That is very nice and all, but what are the two of you doing out here all alone?" + voice "leona/c29.ogg" c "Do you expect every bird in Avia to respect your alliance with Castle Alysen?" + voice "eily/e48.ogg" e "What do you mean?" + voice "leona/c30.ogg" c "I mean, the two of you probably look like walking dinner to most creatures" + voice "alice/a30.ogg" a "I could go for some dinner..." + voice "eily/e49.ogg" e "Anyways..." + voice "eily/e50.ogg" e "To answer your question, upon returning to the village, the feather was taken from my brother by the needle guild" + voice "eily/e51.ogg" e "So... Yesterday, after sundown" + voice "eily/e52.ogg" e "We stole the feather from the guild hall before vanishing into the night" + voice "eily/e53.ogg" e "Can you imagine the look on their stupid faces, when they woke up, and not only is the feather missing" + voice "eily/e54.ogg" e "But so are we!" + voice "alice/a31.ogg" a "Hahahaha" + voice "leona/c31.ogg" c "Are the two of you mad?" + voice "leona/c32.ogg" c "I assume you are attempting to return the Queens feather?" + voice "alice/a32.ogg" a "Yes, we intend to deliver the feather to its rightful owner" + voice "leona/c33.ogg" c "Absolute madness!" + + voice "mousegirls/mg2.ogg" mg "..." + #pause 1.0 + voice "leona/c34.ogg" c "I will follow the two of you" + voice "leona/c35.ogg" c "To keep you safe, that is" + voice "alice/a33.ogg" a "Alright!" + voice "eily/e55.ogg" e "Ha ha... Okay..." + voice "leona/c36.ogg" c "Great! Follow me, I know a shortcut! :3" hide cat + voice "alice/a34.ogg" a "Sounds good!" hide al stop PhrygianButterflies fadeout 2.0 + voice "eily/e56.ogg" e "Oh dear!" hide ei @@ -444,76 +604,329 @@ label start: scene bgwhite play sound "sfx/Chime.ogg" with Dissolve(2.0) + voice "nara/n7.ogg" n "And so the mice girls follow the noble cat further towards their destination" scene bgwheatfield1 play WheatFields "music/WheatFields.ogg" show cat at right with Dissolve(1.3) + voice "leona/c37.ogg" c "Nya" - show al at left + show wal at left + voice "alice/a35.ogg" a "Look, your right, the castle is just up ahead!" show ei at centerleft: xzoom -1 + voice "eily/e57.ogg" e "Wait up" + voice "leona/c38.ogg" c "I told you I knew a shortcut!" + voice "leona/c39.ogg" c "Most people take the long way around" - e "Yah because these are royal wheatfields!" + voice "eily/e58.ogg" + e "Yah because those are royal wheatfields!" + voice "alice/a36.ogg" a "Who cares?" + voice "eily/e59.ogg" e "Are you trying to get us killed?" + voice "eily/e60.ogg" e "Its trespassing on royal land!" - c "Calm down, I have done this a million times" + voice "leona/c40.ogg" + c "Calm down, I have done this like a million times" + voice "eily/e61.ogg" e "That doesnt make me calm!" + voice "leona/c41.ogg" c "How can the rolling fields of wheat not calm your spirit?" + voice "leona/c42.ogg" c "You little mice truly are mad!" + voice "alice/a37.ogg" a "I like the wheat!" + voice "eily/e62.ogg" e "Shut up!" + voice "leona/c43.ogg" c "Sounds like someone needs a nap!" + voice "eily/e63.ogg" e "Why? because I'm not insane like you?" + voice "leona/c44.ogg" c "Yah, your so sane, that you decided to steal from your town and then run off alone to the country of birds" + voice "leona/c45.ogg" c "The power of friendship wont protect the two of you from becoming dinner" + voice "leona/c46.ogg" c "And that, is why I feel obligated to accompany you!" + voice "eily/e64.ogg" e "Hey, we have a good reason!" + voice "leona/c47.ogg" c "And what might that be?" + voice "eily/e65.ogg" e "My brother found the feather, not the town guild, its a matter of family pride!" + voice "leona/c48.ogg" c "Pride has touched the chosen meouse" + voice "leona/c49.ogg" c "Flies she towards the Castle" - c "But her ambition burns far too bright, and silly myice dont have any wings to myelt" + voice "leona/c50.ogg" + c "But her ambition burns far too bright, and silly mice dont have any wings to melt" + #voice "eily/e66.ogg" + #voice "alice/a38.ogg" + voice "mousegirls/mg3.ogg" mg "What?" + voice "leona/c51.ogg" c "Nyanyanya" + voice "leona/c52.ogg" c "Nyevermind" + stop WheatFields fadeout 3.0 + voice "leona/c53.ogg" c "Sing me a song little minstrels!" + #stop WheatFields fadeout 3.0 + voice "mousegirls/mg2.ogg" + mg "..." + play music "music/Poem1.ogg" noloop + pause 40 + + + + voice "leona/c54.ogg" c "Very Nyice!" + voice "leona/c55.ogg" c "Now tell me little minstrels, what are your names?" + voice "alice/a39.ogg" a "My name is Alice" + voice "eily/e67.ogg" e "And my name is Eily" + voice "eily/e68.ogg" e "What is your name?" + #stop WheatFields fadeout 2.0 + + voice "leona/c56.ogg" l "My name is Leona!" scene bgwhite with Dissolve(3.0) - n "And so, the odd trio walked through the wheatfields and towards the castle walls" - n "Upon approaching the castle walls" + voice "nara/n8.ogg" + n "And so, the odd trio walked through the wheatfields and towards the castle" + voice "nara/n9.ogg" + n "Upon approaching the gates, the three were escorted to a large room" + voice "nara/n10.ogg" + n "They were then instructed to wait for an audience with the Queen" + voice "hera/h1.ogg" + h "You may now present yourselves before her Majesty, Queen Alary of Alysen" + + + scene bgcastle1 + show bi at right + with Dissolve(2.0) + pause 1.0 + voice "hera/h2.ogg" + h "Leona Agrepen of Elmindeer" + + #pause 1.0 + + show cat at center: + xzoom -1 + voice "leona/c57.ogg" + l "Hail, your Majesty" + + voice "hera/h3.ogg" + h "Eily VeraWheat of the Western Principalities" + + show ei at centerleft + voice "eily/e69.ogg" + e "Hail, your Majesty" + voice "hera/h4.ogg" + h "Alice SeraWheat of the Western Principalities" + play sound "sfx/Glass.ogg" + #e "Heyy watch it!" + #glass breaks lol + pause 1.0 + voice "alice/a40.ogg" + a "I'm alright!" + + show wal at left + voice "alice/a41.ogg" + a "H-Hail, your majesty" + + + + + + voice "leona/c58.ogg" + l "Nyanyanya" + + + + voice "bird/b1.ogg" + b "And what is this?" + voice "bird/b2.ogg" + b "A cat and two mice in my court?" + voice "bird/b3.ogg" + b "Is this some kind of joke?" + + voice "leona/c59.ogg" + l "Not a joke Your Majesty, these are my friends" + + voice "eily/e70.ogg" + e "Friends?" + + #b "And why have you brought your little friends before my royal court?" + + voice "bird/b4.ogg" + b "Miss Agrepen, your reputation is far from acceptable" + + voice "bird/b5.ogg" + b "And I can imagine, you already know why I have summoned you here today" + + voice "leona/c60.ogg" + l "Uhhmmmm...." + voice "leona/c61.ogg" + l "Does it have anything to do with Eastern Nidus?" + + voice "bird/b6.ogg" + b "I think you already know the answer to that" + + voice "bird/b7.ogg" + b "Your father would be rather dissapointed if he were still alive" + + voice "leona/c0.ogg" + l "..." + + voice "bird/b8.ogg" + b "Leona Agrepen, the court has found you guilty of two cases of larceny and seven cases of petty pilfering" + voice "bird/b9.ogg" + b "Miss Agrepen, you are hereby banned from stepping foot in Eastern Nidus" + voice "bird/b10.ogg" + b "From here on out, you shall be restricted to the central principalities of Avia" + + voice "leona/c62.ogg" + l "Owww c'mon! There is nothing to do around here!" + + voice "bird/b11.ogg" + b "Silence!" + voice "bird/b12.ogg" + b "It is here, in the Central city of Alysen that you shall remain, where I can keep a watchful eye on you" + voice "bird/b13.ogg" + b "Or would you prefer that I permit the request of the lesser courts to have you declawed?" + + voice "leona/c63.ogg" + l "No ><" + + voice "bird/b14.ogg" + b "Take my leniency as a display of gratitude for the services rendered by your father" + + voice "leona/c64.ogg" + l "Yes Your Majesty... Forgive me for speaking out of turn" + + voice "bird/b15.ogg" + b "Now, why have you brought these little mice before me?" + + voice "leona/c65.ogg" + l "Alary, Your Majesty, these are minstrels I met on the road to Alysen" + voice "leona/c66.ogg" + l "They lay claim to a feather, said to be one of Your Majesty's own" + + voice "bird/b16.ogg" + b "Really?" + voice "bird/b17.ogg" + b "And what else might the two of you claim? Alice and Eily of the West" + + voice "alice/a42.ogg" + a "I u-uhh..." + + voice "eily/e71.ogg" + e "Your Majesty, this feather was found by my brother in a castle to the north" + voice "eily/e72.ogg" + e "So very far my cousin and I have journeyed" + voice "eily/e73.ogg" + e "Over the mountains of Almystice" + voice "eily/e74.ogg" + e "Beyond the deep blue waters of the Lilac bay" + voice "eily/e75.ogg" + e "And across the vast fields of Alysen" + voice "eily/e76.ogg" + e "All in hopes that we might return Your Majesty's feather" + + voice "bird/b18.ogg" + b "What splendid and courageous little mice the two of you are" + + voice "leona/c67.ogg" + l "Nyanyanyanyanya" + + voice "alice/a43.ogg" + a "We also wanted to show our profound gratitude for the aid provided by Your Majesty just four moons ago" + voice "eily/e77.ogg" + e "Please allow us to perform a song for Your Majesty and Your Majesty's court" + + voice "bird/b19.ogg" + b "I appreciate your loyalty to the crown of Corvidae little mice" + stop MistAmbience fadeout 4.2 + voice "bird/b20.ogg" + b "You are most welcome to proceed with your little song" + + #play music "music/Poem3.ogg" noloop + + + scene bgcastle2 + with Dissolve(7.0) + + scene bgcastle3 + with Dissolve(7.0) + + scene bgcastle4 + with Dissolve(7.0) + + scene bgcastle3 + with Dissolve(7.0) + + scene bgcastle2 + with Dissolve(7.0) + scene bgcastle3 + with Dissolve(7.0) + scene bgcastle2 + with Dissolve(7.0) + scene bgcastle1 + with Dissolve(10.0) + + + pause 3 + scene bgwhite + with Dissolve(13.0) + pause 33 + + voice "nara/n11.ogg" + n "In the end, Leona managed to stay out of the dungeon" + voice "nara/n12.ogg" + n "Eily and Alice both stayed in service of the queen for 7 harvests" + voice "nara/n13.ogg" + n "before returning to their small nameless town, near the Keep of Musia" + + + + #n "The End" + + + + + + diff --git a/filenames.txt b/filenames.txt index e79d7de..28d3856 100644 --- a/filenames.txt +++ b/filenames.txt @@ -3,21 +3,255 @@ data/font/outline/medieval_sharp_24.data shader/renpy.spv shader/renpy_composite.spv + +audio/sfx/Chime.opus.bin +audio/music/MistAmbience.opus.bin +audio/nara/n1.opus.bin +audio/nara/n2.opus.bin +audio/nara/n3.opus.bin +audio/music/TinyForestMinstrels.opus.bin +audio/nara/n4.opus.bin +audio/alice/a1.opus.bin +audio/eily/e1.opus.bin +audio/alice/a2.opus.bin +audio/eily/e2.opus.bin +audio/alice/a3.opus.bin +audio/eily/e3.opus.bin +audio/alice/a4.opus.bin +audio/alice/a5.opus.bin +audio/eily/e4.opus.bin +audio/eily/e5.opus.bin +audio/alice/a6.opus.bin +audio/eily/e6.opus.bin +audio/alice/a7.opus.bin +audio/eily/e7.opus.bin +audio/nara/n5.opus.bin +audio/music/PhrygianButterflies.opus.bin +audio/eily/e8.opus.bin +audio/alice/a8.opus.bin +audio/eily/e9.opus.bin +audio/eily/e10.opus.bin +audio/alice/a9.opus.bin +audio/eily/e11.opus.bin +audio/eily/e12.opus.bin +audio/alice/a10.opus.bin +audio/eily/e13.opus.bin +audio/eily/e14.opus.bin +audio/alice/a11.opus.bin +audio/eily/e15.opus.bin +audio/music/Poem1.opus.bin +audio/eily/e16.opus.bin +audio/alice/a12.opus.bin +audio/leona/c1.opus.bin +audio/music/ScaredMice.opus.bin +audio/mousegirls/mg1.opus.bin +audio/leona/c2.opus.bin +audio/leona/c3.opus.bin +audio/alice/a14.opus.bin +audio/eily/e18.opus.bin +audio/eily/e19.opus.bin +audio/leona/c4.opus.bin +audio/leona/c5.opus.bin +audio/leona/c6.opus.bin +audio/eily/e20.opus.bin +audio/alice/a15.opus.bin +audio/eily/e21.opus.bin +audio/leona/c7.opus.bin +audio/leona/c8.opus.bin +audio/eily/e22.opus.bin +audio/leona/c9.opus.bin +audio/eily/e23.opus.bin +audio/leona/c10.opus.bin +audio/eily/e24.opus.bin +audio/leona/c11.opus.bin +audio/eily/e25.opus.bin +audio/leona/c12.opus.bin +audio/leona/c13.opus.bin +audio/eily/e26.opus.bin +audio/eily/e27.opus.bin +audio/leona/c14.opus.bin +audio/alice/a16.opus.bin +audio/leona/c15.opus.bin +audio/leona/c16.opus.bin +audio/leona/c17.opus.bin +audio/alice/a17.opus.bin +audio/eily/e28.opus.bin +audio/alice/a18.opus.bin +audio/eily/e29.opus.bin +audio/nara/n6.opus.bin +audio/eily/e30.opus.bin +audio/alice/a19.opus.bin +audio/eily/e31.opus.bin +audio/alice/a20.opus.bin +audio/leona/c18.opus.bin +audio/eily/e32.opus.bin +audio/alice/a21.opus.bin +audio/eily/e33.opus.bin +audio/leona/c19.opus.bin +audio/leona/c20.opus.bin +audio/leona/c21.opus.bin +audio/alice/a22.opus.bin +audio/leona/c22.opus.bin +audio/leona/c23.opus.bin +audio/alice/a23.opus.bin +audio/eily/e34.opus.bin +audio/alice/a24.opus.bin +audio/eily/e35.opus.bin +audio/leona/c24.opus.bin +audio/leona/c25.opus.bin +audio/leona/c26.opus.bin +audio/eily/e36.opus.bin +audio/eily/e37.opus.bin +audio/eily/e38.opus.bin +audio/eily/e39.opus.bin +audio/eily/e40.opus.bin +audio/eily/e41.opus.bin +audio/eily/e42.opus.bin +audio/alice/a25.opus.bin +audio/eily/e43.opus.bin +audio/alice/a26.opus.bin +audio/eily/e44.opus.bin +audio/eily/e45.opus.bin +audio/alice/a27.opus.bin +audio/eily/e46.opus.bin +audio/alice/a28.opus.bin +audio/leona/c27.opus.bin +audio/eily/e47.opus.bin +audio/alice/a29.opus.bin +audio/leona/c28.opus.bin +audio/leona/c29.opus.bin +audio/eily/e48.opus.bin +audio/leona/c30.opus.bin +audio/alice/a30.opus.bin +audio/eily/e49.opus.bin +audio/eily/e50.opus.bin +audio/eily/e51.opus.bin +audio/eily/e52.opus.bin +audio/eily/e53.opus.bin +audio/eily/e54.opus.bin +audio/alice/a31.opus.bin +audio/leona/c31.opus.bin +audio/leona/c32.opus.bin +audio/alice/a32.opus.bin +audio/leona/c33.opus.bin +audio/mousegirls/mg2.opus.bin +audio/leona/c34.opus.bin +audio/leona/c35.opus.bin +audio/alice/a33.opus.bin +audio/eily/e55.opus.bin +audio/leona/c36.opus.bin +audio/alice/a34.opus.bin +audio/eily/e56.opus.bin +audio/nara/n7.opus.bin +audio/music/WheatFields.opus.bin +audio/leona/c37.opus.bin +audio/alice/a35.opus.bin +audio/eily/e57.opus.bin +audio/leona/c38.opus.bin +audio/leona/c39.opus.bin +audio/eily/e58.opus.bin +audio/alice/a36.opus.bin +audio/eily/e59.opus.bin +audio/eily/e60.opus.bin +audio/leona/c40.opus.bin +audio/eily/e61.opus.bin +audio/leona/c41.opus.bin +audio/leona/c42.opus.bin +audio/alice/a37.opus.bin +audio/eily/e62.opus.bin +audio/leona/c43.opus.bin +audio/eily/e63.opus.bin +audio/leona/c44.opus.bin +audio/leona/c45.opus.bin +audio/leona/c46.opus.bin +audio/eily/e64.opus.bin +audio/leona/c47.opus.bin +audio/eily/e65.opus.bin +audio/leona/c48.opus.bin +audio/leona/c49.opus.bin +audio/leona/c50.opus.bin +audio/mousegirls/mg3.opus.bin +audio/leona/c51.opus.bin +audio/leona/c52.opus.bin +audio/leona/c53.opus.bin +audio/leona/c54.opus.bin +audio/leona/c55.opus.bin +audio/alice/a39.opus.bin +audio/eily/e67.opus.bin +audio/eily/e68.opus.bin +audio/leona/c56.opus.bin +audio/nara/n8.opus.bin +audio/nara/n9.opus.bin +audio/nara/n10.opus.bin +audio/hera/h1.opus.bin +audio/hera/h2.opus.bin +audio/leona/c57.opus.bin +audio/hera/h3.opus.bin +audio/eily/e69.opus.bin +audio/hera/h4.opus.bin +audio/sfx/Glass.opus.bin +audio/alice/a40.opus.bin +audio/alice/a41.opus.bin +audio/leona/c58.opus.bin +audio/bird/b1.opus.bin +audio/bird/b2.opus.bin +audio/bird/b3.opus.bin +audio/leona/c59.opus.bin +audio/eily/e70.opus.bin +audio/bird/b4.opus.bin +audio/bird/b5.opus.bin +audio/leona/c60.opus.bin +audio/leona/c61.opus.bin +audio/bird/b6.opus.bin +audio/bird/b7.opus.bin +audio/leona/c0.opus.bin +audio/bird/b8.opus.bin +audio/bird/b9.opus.bin +audio/bird/b10.opus.bin +audio/leona/c62.opus.bin +audio/bird/b11.opus.bin +audio/bird/b12.opus.bin +audio/bird/b13.opus.bin +audio/leona/c63.opus.bin +audio/bird/b14.opus.bin +audio/leona/c64.opus.bin +audio/bird/b15.opus.bin +audio/leona/c65.opus.bin +audio/leona/c66.opus.bin +audio/bird/b16.opus.bin +audio/bird/b17.opus.bin +audio/alice/a42.opus.bin +audio/eily/e71.opus.bin +audio/eily/e72.opus.bin +audio/eily/e73.opus.bin +audio/eily/e74.opus.bin +audio/eily/e75.opus.bin +audio/eily/e76.opus.bin +audio/bird/b18.opus.bin +audio/leona/c67.opus.bin +audio/alice/a43.opus.bin +audio/eily/e77.opus.bin +audio/bird/b19.opus.bin +audio/bird/b20.opus.bin + +audio/nara/n11.opus.bin +audio/nara/n12.opus.bin +audio/nara/n13.opus.bin + data/renpy/images/flowers.dds data/renpy/images/bg/forest1.dds data/renpy/images/bg/forest2.dds data/renpy/images/bg/flowerfield1.dds data/renpy/images/bg/wheatfield1.dds -data/renpy/images/ch/cat.dds -data/renpy/images/ch/catw.dds -data/renpy/images/ch/Eily.dds -data/renpy/images/ch/Alice.dds - -audio/sfx/Chime.opus.bin -audio/sfx/MistAmbience.opus.bin -audio/music/TinyForestMinstrels.opus.bin -audio/music/PhrygianButterflies.opus.bin -audio/music/Poem1.opus.bin -audio/placeholdermeow.opus.bin -audio/music/ScaredMice.opus.bin -audio/music/WheatFields.opus.bin +data/renpy/images/bg/castle1.dds +data/renpy/images/bg/castle2.dds +data/renpy/images/bg/castle3.dds +data/renpy/images/bg/castle4.dds +data/renpy/images/ch/ibird/Bird.dds +data/renpy/images/ch/icat/Cat.dds +data/renpy/images/ch/icat/Catw.dds +data/renpy/images/ch/ieily/Eily.dds +data/renpy/images/ch/ialice/Alice.dds +data/renpy/images/ch/ieily/Seily.dds +data/renpy/images/ch/ialice/Salice.dds +data/renpy/images/ch/ialice/Walice.dds diff --git a/include/audio.h b/include/audio.h index 33f91b6..8b8a170 100644 --- a/include/audio.h +++ b/include/audio.h @@ -8,4 +8,5 @@ namespace audio { void update(); void play(int audio_index); void stop(int audio_index, double fadeout); + bool exists(int audio_index); } diff --git a/include/renpy/interpreter.h b/include/renpy/interpreter.h index 1203464..164d805 100644 --- a/include/renpy/interpreter.h +++ b/include/renpy/interpreter.h @@ -23,6 +23,7 @@ namespace renpy { struct shownImage { uint32_t imageIndex; uint32_t transformIndex; + bool highlighted; }; static constexpr int maximumShownImagesCount = 16; @@ -42,6 +43,7 @@ namespace renpy { uint32_t optionIndex; } menu; uint32_t dissolveIndex; + uint32_t voiceAudioIndex; struct { bool voice; bool menu; @@ -53,6 +55,7 @@ namespace renpy { uint32_t findImage(uint32_t imageIndex); void showImage(uint32_t imageIndex, uint32_t transformIndex); + void highlightImages(uint32_t const * const imageIndices, uint32_t count); void hideImage(uint32_t imageIndex); void reset(); void interpret_one(); diff --git a/include/renpy/language.h b/include/renpy/language.h index 6bacb16..1c55207 100644 --- a/include/renpy/language.h +++ b/include/renpy/language.h @@ -21,6 +21,8 @@ namespace renpy::language { struct character { char const * const characterName; uint32_t color; + uint32_t const * const images; + uint32_t imagesLength; }; struct audio { @@ -30,6 +32,7 @@ namespace renpy::language { struct image { char const * const path; + bool isCharacterImage; }; // statement diff --git a/include/renpy/vulkan.h b/include/renpy/vulkan.h index f043552..1da10ce 100644 --- a/include/renpy/vulkan.h +++ b/include/renpy/vulkan.h @@ -7,6 +7,8 @@ namespace renpy { VkImage image; VkDeviceMemory memory; VkImageView imageView; + int width; + int height; }; struct ImageInstance { @@ -20,7 +22,7 @@ namespace renpy { } topLeft; uint32_t color; int16_t imageIndex; - int16_t _padding; + int16_t dim; }; static_assert((sizeof (ImageInstance)) == 16); diff --git a/include/vulkan_helper.h b/include/vulkan_helper.h index 78e3f0e..4a2f6db 100644 --- a/include/vulkan_helper.h +++ b/include/vulkan_helper.h @@ -61,7 +61,9 @@ void createImageFromFilenameDDS(VkDevice device, char const * const filename, VkImage * outImage, VkDeviceMemory * outMemory, - VkImageView * outImageView); + VkImageView * outImageView, + int * width, + int * height); void createImageFromFilenameTGA(VkDevice device, VkQueue queue, diff --git a/renpy-parser/transform.py b/renpy-parser/transform.py index ac863c9..91e14b3 100644 --- a/renpy-parser/transform.py +++ b/renpy-parser/transform.py @@ -60,12 +60,24 @@ simple_statement_types = { loops = { "ScaredMice": 8.0, - "PhrygianButterflies": 40.125, + "PhrygianButterflies": 40.2, "MistAmbience": 22.0, "TinyForestMinstrels": 44.0, "WheatFields": 34.0, } +character_images = { + b"a": [b"al", b"sal", b"wal"], + b"b": [b"bi"], + b"c": [b"cat", b"catw"], + b"e": [b"ei", b"sei"], + b"mg": (b"a", b"e"), + b"n": [], + b"l": (b"c",), + b"h": [], +} +character_images_values = set(chain.from_iterable(character_images.values())) + def pass1(state, ast): if type(ast) is parse.Image: key = lhs_key(ast.name) @@ -141,15 +153,15 @@ def pass1(state, ast): scene_index = i break for i in range(scene_index + 1, len(state.statements)): - ast = state.statements[i] - if type(ast) is parse.Voice: - assert False, ast - elif type(ast) is parse.Menu: - assert False, ast - elif type(ast) is parse.Pause: - assert False, ast + b_ast = state.statements[i] + if type(b_ast) is parse.Voice: + assert False, b_ast + elif type(b_ast) is parse.Menu: + assert False, b_ast + elif type(b_ast) is parse.Pause: + assert False, b_ast else: - assert type(ast) in simple_statement_types, ast + assert type(b_ast) in simple_statement_types, b_ast assert scene_index is not None state.dissolves.append(InternalDissolve( @@ -240,6 +252,8 @@ def pass2_statement(state, pc, statement): yield f"{{ .type = type::pause, .pause = {{ .duration = {duration} }} }}, // {pc}" elif type(statement) is parse.Hide: key = lhs_key(statement.what) + if key not in state.images_lookup: + assert False, statement.what image_index = state.images_lookup[key] comment = ".".join(k.decode('utf-8') for k in key) yield f"{{ .type = type::hide, .hide = {{ .imageIndex = {image_index} }} }}, // {pc} {comment}" @@ -249,7 +263,8 @@ def pass2_statement(state, pc, statement): def pass2_statements(state): yield "const language::statement statements[] = {" for pc, statement in enumerate(state.statements): - print(pc, statement, file=sys.stderr) + if type(statement) is parse.Voice: + assert type(state.statements[pc+1]) is parse.Say, (pc, statement) yield from pass2_statement(state, pc, statement) yield "};" yield "const int statements_length = (sizeof (statements)) / (sizeof (statements[0]));" @@ -267,7 +282,7 @@ def pass2_characters(state): character_name, = character.value.args color, = (value.lexeme for key, value in character.value.kwargs if key.lexeme == b'color') color = int(color.decode('utf-8'), 16) - yield f"{{ .characterName = \"{character_name.lexeme.decode('utf-8')}\", .color = 0x{color:06x} }}, // {i}" + yield f"{{ .characterName = \"{character_name.lexeme.decode('utf-8')}\", .color = 0x{color:06x}, .images = character_images_{i}, .imagesLength = character_images_{i}_length }}, // {i}" yield "};" yield "const int characters_length = (sizeof (characters)) / (sizeof (characters[0]));" @@ -301,7 +316,13 @@ def pass2_images(state): path = path.removesuffix(".png") else: assert False, path - yield f"{{ .path = \"data/renpy/images/{path}.dds\" }}, // {i} {orig_path}" + isCharacterImage = "ch/" in path + if isCharacterImage: + key = lhs_key(image.name) + string_key = b'.'.join(key) + assert string_key in character_images_values, string_key + + yield f"{{ .path = \"data/renpy/images/{path}.dds\", .isCharacterImage = {str(isCharacterImage).lower()} }}, // {i} {orig_path}" yield "};" yield "const int images_length = (sizeof (images)) / (sizeof (images[0]));" @@ -319,6 +340,26 @@ def pass2_dissolves(state): yield "};" yield "const int dissolves_length = (sizeof (dissolves)) / (sizeof (dissolves[0]));" +def pass2_character_images(state): + for i, character in enumerate(state.characters): + key = lhs_key(character.name) + string_key = b'.'.join(key) + assert string_key in character_images, string_key + + images_list = character_images[string_key] + if type(images_list) == tuple: + images_list = list(chain.from_iterable(character_images[k] for k in images_list)) + assert type(images_list) is list + def get_image_indices(): + for image_identifier in images_list: + image_index = state.images_lookup[(image_identifier,)] + yield image_index + + image_indices = list(get_image_indices()) + yield f"// {string_key}" + yield f"static const uint32_t character_images_{i}[] = {{ {', '.join(map(str, image_indices))} }};" + yield f"static constexpr uint32_t character_images_{i}_length = {len(image_indices)};" + def pass2(state): yield "#include \"renpy/language.h\"" yield "#include \"renpy/script.h\"" @@ -326,6 +367,7 @@ def pass2(state): yield "namespace renpy::script {" yield "using namespace renpy::language;" yield from pass2_strings(state) + yield from pass2_character_images(state) yield from pass2_characters(state) yield from pass2_audio(state) yield from pass2_images(state) diff --git a/shader/renpy.hlsl b/shader/renpy.hlsl index 440774c..0fb0526 100644 --- a/shader/renpy.hlsl +++ b/shader/renpy.hlsl @@ -10,6 +10,7 @@ struct VSInput int2 TopLeft : TopLeft; float4 Color : Color; int TextureIndex : TextureIndex; + int Dim : Dim; }; struct VSOutput @@ -18,6 +19,7 @@ struct VSOutput float2 Texture : NORMAL0; float4 Color : Color; int TextureIndex : TextureIndex; + int Dim : Dim; }; [shader("vertex")] @@ -35,6 +37,7 @@ VSOutput VSMain(VSInput input) output.Texture = texture; output.TextureIndex = input.TextureIndex; output.Color = input.Color.zyxw; + output.Dim = input.Dim; return output; } @@ -88,6 +91,9 @@ float4 PSMain(VSOutput input) : SV_TARGET if (color.w == 0.0) discard; + if (input.Dim) + color.xyz *= 0.5; + //float gamma = 2.2; //color.xyz = pow(color.xyz, float3(gamma.xxx)); diff --git a/src/audio.cpp b/src/audio.cpp index b65c732..c8d713e 100644 --- a/src/audio.cpp +++ b/src/audio.cpp @@ -21,7 +21,7 @@ namespace audio { static int const max_frame_size = 960 * 3; // 20ms at 48kHz static int const max_packet_size = 1275; - static int const half_period_samples = sample_rate / 2; + static int const half_period_samples = sample_rate / 30; static int const half_period_size = half_period_samples * sample_size * channels; // @@ -150,6 +150,17 @@ namespace audio { instance.fadeout_index = 0; } + bool exists(int audio_index) + { + assert(audio_index >= 0 && audio_index < audio_buffers_count); + for (int i = 0; i < audio_instances_count; i++) { + if (audio_instances[i].audio_index == audio_index) { + return true; + } + } + return false; + } + void stop(int audio_index, double fadeout) { assert(audio_index >= 0 && audio_index < audio_buffers_count); @@ -196,12 +207,13 @@ namespace audio { uint32_t mix_index = 0; for (int i = 0; i < half_period_samples; i++) { - if (loop_end != 0) { + if (loop_end != 0.0) { if (instance.sample_index >= loop_end) { instance.sample_index = 0; instance.tail_index = loop_end; } } else if (instance.sample_index >= sample_count) { + // non-looping at the end of the loop, do not play return; } @@ -237,7 +249,7 @@ namespace audio { static inline bool should_cull_instance(AudioInstance & instance) { - if (instance.audio_buffer->audio->loop_end != 0.0 && instance.sample_index >= instance.audio_buffer->sample_count) { + if (instance.audio_buffer->audio->loop_end == 0.0 && instance.sample_index >= instance.audio_buffer->sample_count) { return true; } if (instance.fadeout_end != 0 && instance.fadeout_index >= instance.fadeout_end) { diff --git a/src/font/outline.cpp b/src/font/outline.cpp index f0ea03a..8900a41 100644 --- a/src/font/outline.cpp +++ b/src/font/outline.cpp @@ -705,7 +705,7 @@ namespace font::outline { // transfer int outputIndex = 0; - if (state.menu.count == 0) { + if (!state.pause.menu) { if (state.say.stringIndex != -1u) { char const * const string = renpy::script::strings[state.say.stringIndex]; uint32_t x = textboxLeft << 6; @@ -729,6 +729,7 @@ namespace font::outline { 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; diff --git a/src/main.cpp b/src/main.cpp index 33850d6..b405d2a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -509,6 +509,42 @@ static inline double clamp01(double a) return a; } +void handlePause(renpy::interpreter & interpreter_state, + int64_t const start_time, + double & pause_start, + double & dissolve_start) +{ + if (interpreter_state.pause.pause) { + if (pause_start == 0.0) { + fprintf(stderr, "pause %f\n", interpreter_state.pauseDuration); + pause_start = getTime(start_time); + } else if (getTime(start_time) - pause_start >= interpreter_state.pauseDuration) { + fprintf(stderr, "unpause %f\n", interpreter_state.pauseDuration); + pause_start = 0.0; + interpreter_state.pause.pause = false; + } + } + + if (interpreter_state.pause.dissolve) { + if (dissolve_start == 0.0) { + fprintf(stderr, "dissolve %f\n", interpreter_state.dissolveDuration); + dissolve_start = getTime(start_time); + } else if (getTime(start_time) - dissolve_start >= interpreter_state.dissolveDuration) { + fprintf(stderr, "undissolve %f\n", interpreter_state.dissolveDuration); + dissolve_start = 0.0; + interpreter_state.pause.dissolve = false; + } + } + + if (interpreter_state.pause.voice) { + if (!audio::exists(interpreter_state.voiceAudioIndex)) { + fprintf(stderr, "voice unpause %d\n", interpreter_state.voiceAudioIndex); + interpreter_state.pause.voice = false; + interpreter_state.highlightImages(nullptr, 0); + } + } +} + int main() { file::init(); @@ -919,7 +955,9 @@ int main() renpy::interpreter interpreter_state; interpreter_state.reset(); - interpreter_state.pc = 11; + interpreter_state.pc = 15; + while (renpy::script::dissolves[interpreter_state.dissolveIndex].first_statement < interpreter_state.pc) + interpreter_state.dissolveIndex++; ////////////////////////////////////////////////////////////////////// // renpy composite @@ -992,29 +1030,9 @@ int main() // interpreter update ////////////////////////////////////////////////////////////////////// + handlePause(interpreter_state, start_time, pause_start, dissolve_start); interpreter_state.interpret(); - - if (interpreter_state.pause.pause) { - if (pause_start == 0.0) { - fprintf(stderr, "pause %f\n", interpreter_state.pauseDuration); - pause_start = getTime(start_time); - } else if (getTime(start_time) - pause_start >= interpreter_state.pauseDuration) { - fprintf(stderr, "unpause %f\n", interpreter_state.pauseDuration); - pause_start = 0.0; - interpreter_state.pause.pause = false; - } - } - - if (interpreter_state.pause.dissolve) { - if (dissolve_start == 0.0) { - fprintf(stderr, "dissolve %f\n", interpreter_state.dissolveDuration); - dissolve_start = getTime(start_time); - } else if (getTime(start_time) - dissolve_start >= interpreter_state.dissolveDuration) { - fprintf(stderr, "undissolve %f\n", interpreter_state.dissolveDuration); - dissolve_start = 0.0; - interpreter_state.pause.dissolve = false; - } - } + handlePause(interpreter_state, start_time, pause_start, dissolve_start); ////////////////////////////////////////////////////////////////////// // sdl @@ -1371,7 +1389,10 @@ int main() float text_lerp = -1.0; constexpr double textDissolveDuration = 0.3; if (interpreter_state.pause.dissolve) { - double delta = getTime(start_time) - dissolve_start; + double current_time = getTime(start_time); + if (current_time < dissolve_start) + current_time = dissolve_start; + double delta = current_time - dissolve_start; assert(interpreter_state.dissolveDuration > 0.0000001); dissolve_lerp = clamp01(delta / interpreter_state.dissolveDuration); text_lerp = clamp01(delta / textDissolveDuration); diff --git a/src/renpy/interact.cpp b/src/renpy/interact.cpp index 6859f17..fcb41e1 100644 --- a/src/renpy/interact.cpp +++ b/src/renpy/interact.cpp @@ -21,11 +21,11 @@ namespace renpy { { bool mDown = mLeft && (!lastmLeft); lastmLeft = mLeft; - if (mDown) { - state.pause.voice = false; - } + //if (mDown) { + //state.pause.voice = false; + //} - if (state.menu.count == 0 || !mDown) + if (!state.pause.menu || !mDown) return; for (uint32_t i = 0; i < state.menu.count; i++) { @@ -39,7 +39,7 @@ namespace renpy { uint32_t next_pc = script::options[optionIndex].statementIndex; fprintf(stderr, "interact[%d]: menu jump %d\n", state.pc, next_pc); state.pc = next_pc; - state.menu.count = 0; + state.pause.menu = false; break; } } diff --git a/src/renpy/interpreter.cpp b/src/renpy/interpreter.cpp index bbd979d..06f32fb 100644 --- a/src/renpy/interpreter.cpp +++ b/src/renpy/interpreter.cpp @@ -17,6 +17,7 @@ namespace renpy { say.characterIndex = ~0u; menu.count = 0; dissolveIndex = 0; + voiceAudioIndex = ~0u; pause.voice = false; pause.menu = false; pause.dissolve = false; @@ -43,22 +44,53 @@ namespace renpy { shownImages[shownImageIndex].imageIndex = imageIndex; shownImages[shownImageIndex].transformIndex = transformIndex; + shownImages[shownImageIndex].highlighted = false; assert(shownImagesCount <= maximumShownImagesCount); - printf("shownImagesCount: %d\n", shownImagesCount); + fprintf(stderr, "shownImagesCount: %d\n", shownImagesCount); + } + + static inline uint32_t countMask(uint32_t count) + { + assert(count <= 32); + uint32_t mask = 0; + for (uint32_t i = 0; i < count; i++) { + mask |= (1u << i); + } + return mask; + } + + void interpreter::highlightImages(uint32_t const * const imageIndices, uint32_t count) + { + assert(count <= 32); + uint32_t foundMask = 0; + for (uint32_t shownImageIndex = 0; shownImageIndex < shownImagesCount; shownImageIndex++) { + shownImages[shownImageIndex].highlighted = false; + for (uint32_t i = 0; i < count; i++) { + bool highlight = shownImages[shownImageIndex].imageIndex == imageIndices[i]; + shownImages[shownImageIndex].highlighted |= highlight; + foundMask |= (((uint32_t)highlight) << i); + } + } + //uint32_t expectedMask = countMask(count); + //if (foundMask != expectedMask) { + //fprintf(stderr, "warning: highlightImages foundMask mismatch: pc %d found %08x expected %08x\n", pc, foundMask, expectedMask); + //} + if (count > 0 && foundMask == 0) + fprintf(stderr, "warning: highlightImages zero images found: pc %d\n", pc); } void interpreter::hideImage(uint32_t imageIndex) { uint32_t shownImageIndex = findImage(imageIndex); - if (shownImageIndex == ~0u) + if (shownImageIndex == ~0u) { + fprintf(stderr, "warning: attempt to hide non-shown image index %d at pc %d\n", imageIndex, pc); return; + } for (uint32_t i = shownImageIndex; i < (shownImagesCount - 1); i++) { shownImages[i] = shownImages[i+1]; - printf("here\n"); } - printf("return\n"); shownImagesCount -= 1; } @@ -101,12 +133,15 @@ namespace renpy { pc += 1; break; case language::type::say: - fprintf(stderr, "interpret_one[%d]: say\n", pc); - assert(statement.say.stringIndex < (uint32_t)script::strings_length); - say.stringIndex = statement.say.stringIndex; - say.characterIndex = statement.say.characterIndex; - pause.voice = true; - pc += 1; + { + fprintf(stderr, "interpret_one[%d]: say\n", pc); + assert(statement.say.stringIndex < (uint32_t)script::strings_length); + say.stringIndex = statement.say.stringIndex; + say.characterIndex = statement.say.characterIndex; + language::character const & character = script::characters[statement.say.characterIndex]; + highlightImages(character.images, character.imagesLength); + pc += 1; + } break; case language::type::hide: fprintf(stderr, "interpret_one[%d]: hide\n", pc); @@ -128,6 +163,7 @@ namespace renpy { assert(statement.menu.count > 0); menu.count = statement.menu.count; menu.optionIndex = statement.menu.optionIndex; + pause.menu = true; pc += 1; break; case language::type::jump: @@ -141,6 +177,16 @@ namespace renpy { pause.pause = true; pc += 1; break; + case language::type::voice: + fprintf(stderr, "interpret_one[%d]: voice %d\n", pc, statement.voice.audioIndex); + audio::play(statement.voice.audioIndex); + voiceAudioIndex = statement.voice.audioIndex; + pause.voice = true; + pc += 1; + printf("pause next_pc %d type %d\n", pc, script::statements[pc].type); + assert(script::statements[pc].type == language::type::say); + interpret_one(); + break; default: fprintf(stderr, "unknown statement type at pc %d\n", pc); assert(false); @@ -155,7 +201,7 @@ namespace renpy { { while (!interactionWait()) { if (dissolvePC()) { - fprintf(stderr, "dissolve pc %d\n", pc); + fprintf(stderr, "dissolvePC %d\n", pc); language::dissolve const & dissolve = script::dissolves[dissolveIndex]; for (uint32_t i = 0; i < dissolve.count; i++) { interpret_one(); diff --git a/src/renpy/script.cpp b/src/renpy/script.cpp index c61b999..6dcf9d7 100644 --- a/src/renpy/script.cpp +++ b/src/renpy/script.cpp @@ -28,7 +28,7 @@ char const * const strings[] = { "This place is like a dream...", // 20 "There are so many flowers this time of year", // 21 "I told you it would be worth the journey!", // 22 - "Can we stop for a bit now?", // 23 + "Can we stop for a bit?", // 23 "Of course", // 24 "Ya know, Its a shame we didnt save some of those giant strawberries you found", // 25 "I told you not to eat them all!", // 26 @@ -66,7 +66,7 @@ char const * const strings[] = { "Ah I see", // 58 "So do you live at the castle or something?", // 59 "Well, no...", // 60 - "Then why are you traveling to Castle Alysen?", // 61 + "Then why are you traveling to The Castle Alysen?", // 61 "uhhh", // 62 "I DONT NEED TO BE PRESSURED BY LITTLE MICE TO SAY ANYTHING!!!!", // 63 "GOOD DAY!", // 64 @@ -79,418 +79,1054 @@ char const * const strings[] = { "Then where did the path go?", // 71 "How am I supposed to know?", // 72 "Did you hear that?!?!", // 73 - "Hey there...", // 74 - "I apologize", // 75 - "I didn't mean to storm off like that", // 76 - "Ha ha, no problem...", // 77 - "So... Why are you traveling to Castle Alysen?", // 78 - "Alice!!!", // 79 - "If you must know, I have been summoned by the queen", // 80 - "I suspect that my poor reputation amongst the locals of Eastern Nidus has come back to haunt me", // 81 - "Though I know not what what she has summoned me for", // 82 - "Ahhhhhh", // 83 - "So then...", // 84 - "Why are YOU traveling to the Castle?", // 85 - "We are delivering a feather!!!", // 86 - "Alice no!", // 87 - "A feather that belonged to the queen herself!!!", // 88 - "Why you little...", // 89 - "A feather you say? One of the queens?", // 90 - "How on the face of Al Mot might you have aquired such a thing?", // 91 - "If it is authentic, that is...", // 92 - "Since Alice cannot keep a secret, I shall tell you", // 93 - "Seven moons ago, our town was attacked by three owls and a band of mice from the northern principalities", // 94 - "Eventually word spread to greater nearby settlements, and so", // 95 - "Messengers from the keep in Musia sent for aid from the Ravens", // 96 - "Four moons ago, the request was answered", // 97 - "And a small group of mice accompanied by two ravens a fox, and three squirrels set out to the northern principalities", // 98 - "Anyways, long story short, we drove those barbaric rats out of their home", // 99 - "They arent actual rats you know", // 100 - "Obviously, but you wont catch me speaking kindly of them", // 101 - "And you forgot the most important part", // 102 - "Yah yah, I am getting there", // 103 - "So, essentially, my brother is trained in archery, and...", // 104 - "Speed it up already", // 105 - "You tell it then!", // 106 - "My cousin found this feather in one of the highest towers of a castle far to the north", // 107 - "How do you know it belongs to the queen?", // 108 - "It said so itself above the display on the wall", // 109 - "Supposedly, it was in a room filled with treasures!", // 110 - "That is very nice and all, but what are the two of you doing out here all alone?", // 111 - "Do you expect every bird in Avia to respect your alliance with Castle Alysen?", // 112 - "What do you mean?", // 113 - "I mean, the two of you probably look like walking dinner to most creatures", // 114 - "I could go for some dinner...", // 115 - "Anyways...", // 116 - "To answer your question, upon returning to the village, the feather was taken from my brother by the needle guild", // 117 - "So... Yesterday, after sundown", // 118 - "We stole the feather from the guild hall before vanishing into the night", // 119 - "Can you imagine the look on their stupid faces, when they woke up, and not only is the feather missing", // 120 - "But so are we!", // 121 - "Hahahaha", // 122 - "Are the two of you mad?", // 123 - "I assume you are attempting to return the Queens feather?", // 124 - "Yes, we intend to deliver the feather to its rightful owner", // 125 - "Absolute madness!", // 126 - "I will follow the two of you", // 127 - "To keep you safe, that is", // 128 - "Alright!", // 129 - "Ha ha... Okay...", // 130 - "Great! Follow me, I know a shortcut! :3", // 131 - "Sounds good!", // 132 - "Oh dear!", // 133 - "And so the mice girls follow the noble cat further towards their destination", // 134 - "Nya", // 135 - "Look, your right, the castle is just up ahead!", // 136 - "Wait up", // 137 - "I told you I knew a shortcut!", // 138 - "Most people take the long way around", // 139 - "Yah because these are royal wheatfields!", // 140 - "Who cares?", // 141 - "Are you trying to get us killed?", // 142 - "Its trespassing on royal land!", // 143 - "Calm down, I have done this a million times", // 144 - "That doesnt make me calm!", // 145 - "How can the rolling fields of wheat not calm your spirit?", // 146 - "You little mice truly are mad!", // 147 - "I like the wheat!", // 148 - "Shut up!", // 149 - "Sounds like someone needs a nap!", // 150 - "Why? because I'm not insane like you?", // 151 - "Yah, your so sane, that you decided to steal from your town and then run off alone to the country of birds", // 152 - "The power of friendship wont protect the two of you from becoming dinner", // 153 - "And that, is why I feel obligated to accompany you!", // 154 - "Hey, we have a good reason!", // 155 - "And what might that be?", // 156 - "My brother found the feather, not the town guild, its a matter of family pride!", // 157 - "Pride has touched the chosen meouse", // 158 - "Flies she towards the Castle", // 159 - "But her ambition burns far too bright, and silly myice dont have any wings to myelt", // 160 - "What?", // 161 - "Nyanyanya", // 162 - "Nyevermind", // 163 - "Sing me a song little minstrels!", // 164 - "Very Nyice!", // 165 - "Now tell me little minstrels, what are your names?", // 166 - "My name is Alice", // 167 - "And my name is Eily", // 168 - "What is your name?", // 169 - "My name is Leona!", // 170 - "And so, the odd trio walked through the wheatfields and towards the castle walls", // 171 - "Upon approaching the castle walls", // 172 + "Hey there... I apologize, I didn't mean to storm off like that", // 74 + "Ha ha, no problem...", // 75 + "So... Why are you traveling to Castle Alysen?", // 76 + "Alice!!!", // 77 + "If you must know, I have been summoned by the queen", // 78 + "I suspect that my poor reputation amongst the locals of Eastern Nidus has come back to haunt me", // 79 + "Though I know not what what she has summoned me for", // 80 + "Ahhhhhh", // 81 + "So then...", // 82 + "Why are YOU traveling to the Castle?", // 83 + "We are delivering a feather!!!", // 84 + "Alice no!", // 85 + "A feather that belonged to the queen herself!!!", // 86 + "Why you little...", // 87 + "A feather you say? One of the queens?", // 88 + "How on the face of Al Mot might you have aquired such a thing?", // 89 + "If it is authentic", // 90 + "Since Alice cannot keep a secret, I shall tell you", // 91 + "Seven moons ago, our town was attacked by three owls and a band of mice from the northern principalities", // 92 + "Eventually word spread to greater nearby settlements, and so", // 93 + "Messengers from the keep in Musia sent for aid from the Ravens", // 94 + "Four moons ago, the request was answered", // 95 + "And a small group of mice accompanied by two ravens a fox, and three squirrels set out to the northern principalities", // 96 + "Anyways, long story short, we drove those barbaric rats out of their home", // 97 + "They arent actual rats you know", // 98 + "Obviously, but you wont catch me speaking kindly of them", // 99 + "And you forgot the most important part", // 100 + "Yah yah, I am getting there", // 101 + "So, essentially, my brother is trained in archery, and...", // 102 + "Speed it up already", // 103 + "You tell it then!", // 104 + "My cousin found this feather in one of the highest towers of a castle far to the north", // 105 + "How do you know it belongs to the queen?", // 106 + "It said so itself above the display on the wall", // 107 + "Supposedly, it was in a room filled with treasures!", // 108 + "That is very nice and all, but what are the two of you doing out here all alone?", // 109 + "Do you expect every bird in Avia to respect your alliance with Castle Alysen?", // 110 + "What do you mean?", // 111 + "I mean, the two of you probably look like walking dinner to most creatures", // 112 + "I could go for some dinner...", // 113 + "Anyways...", // 114 + "To answer your question, upon returning to the village, the feather was taken from my brother by the needle guild", // 115 + "So... Yesterday, after sundown", // 116 + "We stole the feather from the guild hall before vanishing into the night", // 117 + "Can you imagine the look on their stupid faces, when they woke up, and not only is the feather missing", // 118 + "But so are we!", // 119 + "Hahahaha", // 120 + "Are the two of you mad?", // 121 + "I assume you are attempting to return the Queens feather?", // 122 + "Yes, we intend to deliver the feather to its rightful owner", // 123 + "Absolute madness!", // 124 + "I will follow the two of you", // 125 + "To keep you safe, that is", // 126 + "Alright!", // 127 + "Ha ha... Okay...", // 128 + "Great! Follow me, I know a shortcut! :3", // 129 + "Sounds good!", // 130 + "Oh dear!", // 131 + "And so the mice girls follow the noble cat further towards their destination", // 132 + "Nya", // 133 + "Look, your right, the castle is just up ahead!", // 134 + "Wait up", // 135 + "I told you I knew a shortcut!", // 136 + "Most people take the long way around", // 137 + "Yah because those are royal wheatfields!", // 138 + "Who cares?", // 139 + "Are you trying to get us killed?", // 140 + "Its trespassing on royal land!", // 141 + "Calm down, I have done this like a million times", // 142 + "That doesnt make me calm!", // 143 + "How can the rolling fields of wheat not calm your spirit?", // 144 + "You little mice truly are mad!", // 145 + "I like the wheat!", // 146 + "Shut up!", // 147 + "Sounds like someone needs a nap!", // 148 + "Why? because I'm not insane like you?", // 149 + "Yah, your so sane, that you decided to steal from your town and then run off alone to the country of birds", // 150 + "The power of friendship wont protect the two of you from becoming dinner", // 151 + "And that, is why I feel obligated to accompany you!", // 152 + "Hey, we have a good reason!", // 153 + "And what might that be?", // 154 + "My brother found the feather, not the town guild, its a matter of family pride!", // 155 + "Pride has touched the chosen meouse", // 156 + "Flies she towards the Castle", // 157 + "But her ambition burns far too bright, and silly mice dont have any wings to melt", // 158 + "What?", // 159 + "Nyanyanya", // 160 + "Nyevermind", // 161 + "Sing me a song little minstrels!", // 162 + "Very Nyice!", // 163 + "Now tell me little minstrels, what are your names?", // 164 + "My name is Alice", // 165 + "And my name is Eily", // 166 + "What is your name?", // 167 + "My name is Leona!", // 168 + "And so, the odd trio walked through the wheatfields and towards the castle", // 169 + "Upon approaching the gates, the three were escorted to a large room", // 170 + "They were then instructed to wait for an audience with the Queen", // 171 + "You may now present yourselves before her Majesty, Queen Alary of Alysen", // 172 + "Leona Agrepen of Elmindeer", // 173 + "Hail, your Majesty", // 174 + "Eily VeraWheat of the Western Principalities", // 175 + "Alice SeraWheat of the Western Principalities", // 176 + "I'm alright!", // 177 + "H-Hail, your majesty", // 178 + "And what is this?", // 179 + "A cat and two mice in my court?", // 180 + "Is this some kind of joke?", // 181 + "Not a joke Your Majesty, these are my friends", // 182 + "Friends?", // 183 + "Miss Agrepen, your reputation is far from acceptable", // 184 + "And I can imagine, you already know why I have summoned you here today", // 185 + "Uhhmmmm....", // 186 + "Does it have anything to do with Eastern Nidus?", // 187 + "I think you already know the answer to that", // 188 + "Your father would be rather dissapointed if he were still alive", // 189 + "Leona Agrepen, the court has found you guilty of two cases of larceny and seven cases of petty pilfering", // 190 + "Miss Agrepen, you are hereby banned from stepping foot in Eastern Nidus", // 191 + "From here on out, you shall be restricted to the central principalities of Avia", // 192 + "Owww c'mon! There is nothing to do around here!", // 193 + "Silence!", // 194 + "It is here, in the Central city of Alysen that you shall remain, where I can keep a watchful eye on you", // 195 + "Or would you prefer that I permit the request of the lesser courts to have you declawed?", // 196 + "No ><", // 197 + "Take my leniency as a display of gratitude for the services rendered by your father", // 198 + "Yes Your Majesty... Forgive me for speaking out of turn", // 199 + "Now, why have you brought these little mice before me?", // 200 + "Alary, Your Majesty, these are minstrels I met on the road to Alysen", // 201 + "They lay claim to a feather, said to be one of Your Majesty's own", // 202 + "Really?", // 203 + "And what else might the two of you claim? Alice and Eily of the West", // 204 + "I u-uhh...", // 205 + "Your Majesty, this feather was found by my brother in a castle to the north", // 206 + "So very far my cousin and I have journeyed", // 207 + "Over the mountains of Almystice", // 208 + "Beyond the deep blue waters of the Lilac bay", // 209 + "All in hopes that we might return Your Majesty's feather", // 210 + "What splendid and courageous little mice the two of you are", // 211 + "Nyanyanyanyanya", // 212 + "We also wanted to show our profound gratitude for the aid provided by Your Majesty just four moons ago", // 213 + "Please allow us to perform a song for Your Majesty and Your Majesty's court", // 214 + "I appreciate your loyalty to the crown of Corvidae little mice", // 215 + "You are most welcome to proceed with your little song", // 216 + "In the end, Leona managed to stay out of the dungeon", // 217 + "Eily and Alice both stayed in service of the queen for 7 harvests", // 218 + "before returning to their small nameless town, near the Keep of Musia", // 219 }; const int strings_length = (sizeof (strings)) / (sizeof (strings[0])); +// b'a' +static const uint32_t character_images_0[] = { 9, 10, 11 }; + +static constexpr uint32_t character_images_0_length = 3; + +// b'b' +static const uint32_t character_images_1[] = { 12 }; + +static constexpr uint32_t character_images_1_length = 1; + +// b'c' +static const uint32_t character_images_2[] = { 13, 14 }; + +static constexpr uint32_t character_images_2_length = 2; + +// b'e' +static const uint32_t character_images_3[] = { 15, 16 }; + +static constexpr uint32_t character_images_3_length = 2; + +// b'mg' +static const uint32_t character_images_4[] = { 9, 10, 11, 15, 16 }; + +static constexpr uint32_t character_images_4_length = 5; + +// b'n' +static const uint32_t character_images_5[] = { }; + +static constexpr uint32_t character_images_5_length = 0; + +// b'l' +static const uint32_t character_images_6[] = { 13, 14 }; + +static constexpr uint32_t character_images_6_length = 2; + +// b'h' +static const uint32_t character_images_7[] = { }; + +static constexpr uint32_t character_images_7_length = 0; + const language::character characters[] = { - { .characterName = "Alice", .color = 0x00765e }, // 0 - { .characterName = "Cat", .color = 0x590093 }, // 1 - { .characterName = "Mouse Girls", .color = 0x0b6092 }, // 2 - { .characterName = "Mouse Girls", .color = 0x000000 }, // 3 - { .characterName = "Narrator", .color = 0x000000 }, // 4 - { .characterName = "Leona", .color = 0x590093 }, // 5 + { .characterName = "Alice", .color = 0x409b5d, .images = character_images_0, .imagesLength = character_images_0_length }, // 0 + { .characterName = "Queen Alary", .color = 0x0b1845, .images = character_images_1, .imagesLength = character_images_1_length }, // 1 + { .characterName = "Cat", .color = 0x590093, .images = character_images_2, .imagesLength = character_images_2_length }, // 2 + { .characterName = "Eily", .color = 0x0b6092, .images = character_images_3, .imagesLength = character_images_3_length }, // 3 + { .characterName = "Mouse Girls", .color = 0x000000, .images = character_images_4, .imagesLength = character_images_4_length }, // 4 + { .characterName = "Narrator", .color = 0x000000, .images = character_images_5, .imagesLength = character_images_5_length }, // 5 + { .characterName = "Leona", .color = 0x590093, .images = character_images_6, .imagesLength = character_images_6_length }, // 6 + { .characterName = "Herald", .color = 0x860000, .images = character_images_7, .imagesLength = character_images_7_length }, // 7 }; const int characters_length = (sizeof (characters)) / (sizeof (characters[0])); const language::audio audio[] = { { .path = "audio/sfx/Chime.opus.bin", .loop_end = 0.0 }, // 0 sfx/Chime.ogg - { .path = "audio/sfx/MistAmbience.opus.bin", .loop_end = 22.0 }, // 1 sfx/MistAmbience.ogg - { .path = "audio/music/TinyForestMinstrels.opus.bin", .loop_end = 44.0 }, // 2 music/TinyForestMinstrels.ogg - { .path = "audio/music/PhrygianButterflies.opus.bin", .loop_end = 40.125 }, // 3 music/PhrygianButterflies.ogg - { .path = "audio/music/Poem1.opus.bin", .loop_end = 0.0 }, // 4 music/Poem1.ogg - { .path = "audio/placeholdermeow.opus.bin", .loop_end = 0.0 }, // 5 placeholdermeow.mp3 - { .path = "audio/music/ScaredMice.opus.bin", .loop_end = 8.0 }, // 6 music/ScaredMice.ogg - { .path = "audio/music/WheatFields.opus.bin", .loop_end = 34.0 }, // 7 music/WheatFields.ogg + { .path = "audio/music/MistAmbience.opus.bin", .loop_end = 22.0 }, // 1 music/MistAmbience.ogg + { .path = "audio/nara/n1.opus.bin", .loop_end = 0.0 }, // 2 nara/n1.ogg + { .path = "audio/nara/n2.opus.bin", .loop_end = 0.0 }, // 3 nara/n2.ogg + { .path = "audio/nara/n3.opus.bin", .loop_end = 0.0 }, // 4 nara/n3.ogg + { .path = "audio/music/TinyForestMinstrels.opus.bin", .loop_end = 44.0 }, // 5 music/TinyForestMinstrels.ogg + { .path = "audio/nara/n4.opus.bin", .loop_end = 0.0 }, // 6 nara/n4.ogg + { .path = "audio/alice/a1.opus.bin", .loop_end = 0.0 }, // 7 alice/a1.ogg + { .path = "audio/eily/e1.opus.bin", .loop_end = 0.0 }, // 8 eily/e1.ogg + { .path = "audio/alice/a2.opus.bin", .loop_end = 0.0 }, // 9 alice/a2.ogg + { .path = "audio/eily/e2.opus.bin", .loop_end = 0.0 }, // 10 eily/e2.ogg + { .path = "audio/alice/a3.opus.bin", .loop_end = 0.0 }, // 11 alice/a3.ogg + { .path = "audio/eily/e3.opus.bin", .loop_end = 0.0 }, // 12 eily/e3.ogg + { .path = "audio/alice/a4.opus.bin", .loop_end = 0.0 }, // 13 alice/a4.ogg + { .path = "audio/alice/a5.opus.bin", .loop_end = 0.0 }, // 14 alice/a5.ogg + { .path = "audio/eily/e4.opus.bin", .loop_end = 0.0 }, // 15 eily/e4.ogg + { .path = "audio/eily/e5.opus.bin", .loop_end = 0.0 }, // 16 eily/e5.ogg + { .path = "audio/alice/a6.opus.bin", .loop_end = 0.0 }, // 17 alice/a6.ogg + { .path = "audio/eily/e6.opus.bin", .loop_end = 0.0 }, // 18 eily/e6.ogg + { .path = "audio/alice/a7.opus.bin", .loop_end = 0.0 }, // 19 alice/a7.ogg + { .path = "audio/eily/e7.opus.bin", .loop_end = 0.0 }, // 20 eily/e7.ogg + { .path = "audio/nara/n5.opus.bin", .loop_end = 0.0 }, // 21 nara/n5.ogg + { .path = "audio/music/PhrygianButterflies.opus.bin", .loop_end = 40.2 }, // 22 music/PhrygianButterflies.ogg + { .path = "audio/eily/e8.opus.bin", .loop_end = 0.0 }, // 23 eily/e8.ogg + { .path = "audio/alice/a8.opus.bin", .loop_end = 0.0 }, // 24 alice/a8.ogg + { .path = "audio/eily/e9.opus.bin", .loop_end = 0.0 }, // 25 eily/e9.ogg + { .path = "audio/eily/e10.opus.bin", .loop_end = 0.0 }, // 26 eily/e10.ogg + { .path = "audio/alice/a9.opus.bin", .loop_end = 0.0 }, // 27 alice/a9.ogg + { .path = "audio/eily/e11.opus.bin", .loop_end = 0.0 }, // 28 eily/e11.ogg + { .path = "audio/eily/e12.opus.bin", .loop_end = 0.0 }, // 29 eily/e12.ogg + { .path = "audio/alice/a10.opus.bin", .loop_end = 0.0 }, // 30 alice/a10.ogg + { .path = "audio/eily/e13.opus.bin", .loop_end = 0.0 }, // 31 eily/e13.ogg + { .path = "audio/eily/e14.opus.bin", .loop_end = 0.0 }, // 32 eily/e14.ogg + { .path = "audio/alice/a11.opus.bin", .loop_end = 0.0 }, // 33 alice/a11.ogg + { .path = "audio/eily/e15.opus.bin", .loop_end = 0.0 }, // 34 eily/e15.ogg + { .path = "audio/music/Poem1.opus.bin", .loop_end = 0.0 }, // 35 music/Poem1.ogg + { .path = "audio/eily/e16.opus.bin", .loop_end = 0.0 }, // 36 eily/e16.ogg + { .path = "audio/alice/a12.opus.bin", .loop_end = 0.0 }, // 37 alice/a12.ogg + { .path = "audio/leona/c1.opus.bin", .loop_end = 0.0 }, // 38 leona/c1.ogg + { .path = "audio/music/ScaredMice.opus.bin", .loop_end = 8.0 }, // 39 music/ScaredMice.ogg + { .path = "audio/mousegirls/mg1.opus.bin", .loop_end = 0.0 }, // 40 mousegirls/mg1.ogg + { .path = "audio/leona/c2.opus.bin", .loop_end = 0.0 }, // 41 leona/c2.ogg + { .path = "audio/leona/c3.opus.bin", .loop_end = 0.0 }, // 42 leona/c3.ogg + { .path = "audio/alice/a14.opus.bin", .loop_end = 0.0 }, // 43 alice/a14.ogg + { .path = "audio/eily/e18.opus.bin", .loop_end = 0.0 }, // 44 eily/e18.ogg + { .path = "audio/eily/e19.opus.bin", .loop_end = 0.0 }, // 45 eily/e19.ogg + { .path = "audio/leona/c4.opus.bin", .loop_end = 0.0 }, // 46 leona/c4.ogg + { .path = "audio/leona/c5.opus.bin", .loop_end = 0.0 }, // 47 leona/c5.ogg + { .path = "audio/leona/c6.opus.bin", .loop_end = 0.0 }, // 48 leona/c6.ogg + { .path = "audio/eily/e20.opus.bin", .loop_end = 0.0 }, // 49 eily/e20.ogg + { .path = "audio/alice/a15.opus.bin", .loop_end = 0.0 }, // 50 alice/a15.ogg + { .path = "audio/eily/e21.opus.bin", .loop_end = 0.0 }, // 51 eily/e21.ogg + { .path = "audio/leona/c7.opus.bin", .loop_end = 0.0 }, // 52 leona/c7.ogg + { .path = "audio/leona/c8.opus.bin", .loop_end = 0.0 }, // 53 leona/c8.ogg + { .path = "audio/eily/e22.opus.bin", .loop_end = 0.0 }, // 54 eily/e22.ogg + { .path = "audio/leona/c9.opus.bin", .loop_end = 0.0 }, // 55 leona/c9.ogg + { .path = "audio/eily/e23.opus.bin", .loop_end = 0.0 }, // 56 eily/e23.ogg + { .path = "audio/leona/c10.opus.bin", .loop_end = 0.0 }, // 57 leona/c10.ogg + { .path = "audio/eily/e24.opus.bin", .loop_end = 0.0 }, // 58 eily/e24.ogg + { .path = "audio/leona/c11.opus.bin", .loop_end = 0.0 }, // 59 leona/c11.ogg + { .path = "audio/eily/e25.opus.bin", .loop_end = 0.0 }, // 60 eily/e25.ogg + { .path = "audio/leona/c12.opus.bin", .loop_end = 0.0 }, // 61 leona/c12.ogg + { .path = "audio/leona/c13.opus.bin", .loop_end = 0.0 }, // 62 leona/c13.ogg + { .path = "audio/eily/e26.opus.bin", .loop_end = 0.0 }, // 63 eily/e26.ogg + { .path = "audio/eily/e27.opus.bin", .loop_end = 0.0 }, // 64 eily/e27.ogg + { .path = "audio/leona/c14.opus.bin", .loop_end = 0.0 }, // 65 leona/c14.ogg + { .path = "audio/alice/a16.opus.bin", .loop_end = 0.0 }, // 66 alice/a16.ogg + { .path = "audio/leona/c15.opus.bin", .loop_end = 0.0 }, // 67 leona/c15.ogg + { .path = "audio/leona/c16.opus.bin", .loop_end = 0.0 }, // 68 leona/c16.ogg + { .path = "audio/leona/c17.opus.bin", .loop_end = 0.0 }, // 69 leona/c17.ogg + { .path = "audio/alice/a17.opus.bin", .loop_end = 0.0 }, // 70 alice/a17.ogg + { .path = "audio/eily/e28.opus.bin", .loop_end = 0.0 }, // 71 eily/e28.ogg + { .path = "audio/alice/a18.opus.bin", .loop_end = 0.0 }, // 72 alice/a18.ogg + { .path = "audio/eily/e29.opus.bin", .loop_end = 0.0 }, // 73 eily/e29.ogg + { .path = "audio/nara/n6.opus.bin", .loop_end = 0.0 }, // 74 nara/n6.ogg + { .path = "audio/eily/e30.opus.bin", .loop_end = 0.0 }, // 75 eily/e30.ogg + { .path = "audio/alice/a19.opus.bin", .loop_end = 0.0 }, // 76 alice/a19.ogg + { .path = "audio/eily/e31.opus.bin", .loop_end = 0.0 }, // 77 eily/e31.ogg + { .path = "audio/alice/a20.opus.bin", .loop_end = 0.0 }, // 78 alice/a20.ogg + { .path = "audio/leona/c18.opus.bin", .loop_end = 0.0 }, // 79 leona/c18.ogg + { .path = "audio/eily/e32.opus.bin", .loop_end = 0.0 }, // 80 eily/e32.ogg + { .path = "audio/alice/a21.opus.bin", .loop_end = 0.0 }, // 81 alice/a21.ogg + { .path = "audio/eily/e33.opus.bin", .loop_end = 0.0 }, // 82 eily/e33.ogg + { .path = "audio/leona/c19.opus.bin", .loop_end = 0.0 }, // 83 leona/c19.ogg + { .path = "audio/leona/c20.opus.bin", .loop_end = 0.0 }, // 84 leona/c20.ogg + { .path = "audio/leona/c21.opus.bin", .loop_end = 0.0 }, // 85 leona/c21.ogg + { .path = "audio/alice/a22.opus.bin", .loop_end = 0.0 }, // 86 alice/a22.ogg + { .path = "audio/leona/c22.opus.bin", .loop_end = 0.0 }, // 87 leona/c22.ogg + { .path = "audio/leona/c23.opus.bin", .loop_end = 0.0 }, // 88 leona/c23.ogg + { .path = "audio/alice/a23.opus.bin", .loop_end = 0.0 }, // 89 alice/a23.ogg + { .path = "audio/eily/e34.opus.bin", .loop_end = 0.0 }, // 90 eily/e34.ogg + { .path = "audio/alice/a24.opus.bin", .loop_end = 0.0 }, // 91 alice/a24.ogg + { .path = "audio/eily/e35.opus.bin", .loop_end = 0.0 }, // 92 eily/e35.ogg + { .path = "audio/leona/c24.opus.bin", .loop_end = 0.0 }, // 93 leona/c24.ogg + { .path = "audio/leona/c25.opus.bin", .loop_end = 0.0 }, // 94 leona/c25.ogg + { .path = "audio/leona/c26.opus.bin", .loop_end = 0.0 }, // 95 leona/c26.ogg + { .path = "audio/eily/e36.opus.bin", .loop_end = 0.0 }, // 96 eily/e36.ogg + { .path = "audio/eily/e37.opus.bin", .loop_end = 0.0 }, // 97 eily/e37.ogg + { .path = "audio/eily/e38.opus.bin", .loop_end = 0.0 }, // 98 eily/e38.ogg + { .path = "audio/eily/e39.opus.bin", .loop_end = 0.0 }, // 99 eily/e39.ogg + { .path = "audio/eily/e40.opus.bin", .loop_end = 0.0 }, // 100 eily/e40.ogg + { .path = "audio/eily/e41.opus.bin", .loop_end = 0.0 }, // 101 eily/e41.ogg + { .path = "audio/eily/e42.opus.bin", .loop_end = 0.0 }, // 102 eily/e42.ogg + { .path = "audio/alice/a25.opus.bin", .loop_end = 0.0 }, // 103 alice/a25.ogg + { .path = "audio/eily/e43.opus.bin", .loop_end = 0.0 }, // 104 eily/e43.ogg + { .path = "audio/alice/a26.opus.bin", .loop_end = 0.0 }, // 105 alice/a26.ogg + { .path = "audio/eily/e44.opus.bin", .loop_end = 0.0 }, // 106 eily/e44.ogg + { .path = "audio/eily/e45.opus.bin", .loop_end = 0.0 }, // 107 eily/e45.ogg + { .path = "audio/alice/a27.opus.bin", .loop_end = 0.0 }, // 108 alice/a27.ogg + { .path = "audio/eily/e46.opus.bin", .loop_end = 0.0 }, // 109 eily/e46.ogg + { .path = "audio/alice/a28.opus.bin", .loop_end = 0.0 }, // 110 alice/a28.ogg + { .path = "audio/leona/c27.opus.bin", .loop_end = 0.0 }, // 111 leona/c27.ogg + { .path = "audio/eily/e47.opus.bin", .loop_end = 0.0 }, // 112 eily/e47.ogg + { .path = "audio/alice/a29.opus.bin", .loop_end = 0.0 }, // 113 alice/a29.ogg + { .path = "audio/leona/c28.opus.bin", .loop_end = 0.0 }, // 114 leona/c28.ogg + { .path = "audio/leona/c29.opus.bin", .loop_end = 0.0 }, // 115 leona/c29.ogg + { .path = "audio/eily/e48.opus.bin", .loop_end = 0.0 }, // 116 eily/e48.ogg + { .path = "audio/leona/c30.opus.bin", .loop_end = 0.0 }, // 117 leona/c30.ogg + { .path = "audio/alice/a30.opus.bin", .loop_end = 0.0 }, // 118 alice/a30.ogg + { .path = "audio/eily/e49.opus.bin", .loop_end = 0.0 }, // 119 eily/e49.ogg + { .path = "audio/eily/e50.opus.bin", .loop_end = 0.0 }, // 120 eily/e50.ogg + { .path = "audio/eily/e51.opus.bin", .loop_end = 0.0 }, // 121 eily/e51.ogg + { .path = "audio/eily/e52.opus.bin", .loop_end = 0.0 }, // 122 eily/e52.ogg + { .path = "audio/eily/e53.opus.bin", .loop_end = 0.0 }, // 123 eily/e53.ogg + { .path = "audio/eily/e54.opus.bin", .loop_end = 0.0 }, // 124 eily/e54.ogg + { .path = "audio/alice/a31.opus.bin", .loop_end = 0.0 }, // 125 alice/a31.ogg + { .path = "audio/leona/c31.opus.bin", .loop_end = 0.0 }, // 126 leona/c31.ogg + { .path = "audio/leona/c32.opus.bin", .loop_end = 0.0 }, // 127 leona/c32.ogg + { .path = "audio/alice/a32.opus.bin", .loop_end = 0.0 }, // 128 alice/a32.ogg + { .path = "audio/leona/c33.opus.bin", .loop_end = 0.0 }, // 129 leona/c33.ogg + { .path = "audio/mousegirls/mg2.opus.bin", .loop_end = 0.0 }, // 130 mousegirls/mg2.ogg + { .path = "audio/leona/c34.opus.bin", .loop_end = 0.0 }, // 131 leona/c34.ogg + { .path = "audio/leona/c35.opus.bin", .loop_end = 0.0 }, // 132 leona/c35.ogg + { .path = "audio/alice/a33.opus.bin", .loop_end = 0.0 }, // 133 alice/a33.ogg + { .path = "audio/eily/e55.opus.bin", .loop_end = 0.0 }, // 134 eily/e55.ogg + { .path = "audio/leona/c36.opus.bin", .loop_end = 0.0 }, // 135 leona/c36.ogg + { .path = "audio/alice/a34.opus.bin", .loop_end = 0.0 }, // 136 alice/a34.ogg + { .path = "audio/eily/e56.opus.bin", .loop_end = 0.0 }, // 137 eily/e56.ogg + { .path = "audio/nara/n7.opus.bin", .loop_end = 0.0 }, // 138 nara/n7.ogg + { .path = "audio/music/WheatFields.opus.bin", .loop_end = 34.0 }, // 139 music/WheatFields.ogg + { .path = "audio/leona/c37.opus.bin", .loop_end = 0.0 }, // 140 leona/c37.ogg + { .path = "audio/alice/a35.opus.bin", .loop_end = 0.0 }, // 141 alice/a35.ogg + { .path = "audio/eily/e57.opus.bin", .loop_end = 0.0 }, // 142 eily/e57.ogg + { .path = "audio/leona/c38.opus.bin", .loop_end = 0.0 }, // 143 leona/c38.ogg + { .path = "audio/leona/c39.opus.bin", .loop_end = 0.0 }, // 144 leona/c39.ogg + { .path = "audio/eily/e58.opus.bin", .loop_end = 0.0 }, // 145 eily/e58.ogg + { .path = "audio/alice/a36.opus.bin", .loop_end = 0.0 }, // 146 alice/a36.ogg + { .path = "audio/eily/e59.opus.bin", .loop_end = 0.0 }, // 147 eily/e59.ogg + { .path = "audio/eily/e60.opus.bin", .loop_end = 0.0 }, // 148 eily/e60.ogg + { .path = "audio/leona/c40.opus.bin", .loop_end = 0.0 }, // 149 leona/c40.ogg + { .path = "audio/eily/e61.opus.bin", .loop_end = 0.0 }, // 150 eily/e61.ogg + { .path = "audio/leona/c41.opus.bin", .loop_end = 0.0 }, // 151 leona/c41.ogg + { .path = "audio/leona/c42.opus.bin", .loop_end = 0.0 }, // 152 leona/c42.ogg + { .path = "audio/alice/a37.opus.bin", .loop_end = 0.0 }, // 153 alice/a37.ogg + { .path = "audio/eily/e62.opus.bin", .loop_end = 0.0 }, // 154 eily/e62.ogg + { .path = "audio/leona/c43.opus.bin", .loop_end = 0.0 }, // 155 leona/c43.ogg + { .path = "audio/eily/e63.opus.bin", .loop_end = 0.0 }, // 156 eily/e63.ogg + { .path = "audio/leona/c44.opus.bin", .loop_end = 0.0 }, // 157 leona/c44.ogg + { .path = "audio/leona/c45.opus.bin", .loop_end = 0.0 }, // 158 leona/c45.ogg + { .path = "audio/leona/c46.opus.bin", .loop_end = 0.0 }, // 159 leona/c46.ogg + { .path = "audio/eily/e64.opus.bin", .loop_end = 0.0 }, // 160 eily/e64.ogg + { .path = "audio/leona/c47.opus.bin", .loop_end = 0.0 }, // 161 leona/c47.ogg + { .path = "audio/eily/e65.opus.bin", .loop_end = 0.0 }, // 162 eily/e65.ogg + { .path = "audio/leona/c48.opus.bin", .loop_end = 0.0 }, // 163 leona/c48.ogg + { .path = "audio/leona/c49.opus.bin", .loop_end = 0.0 }, // 164 leona/c49.ogg + { .path = "audio/leona/c50.opus.bin", .loop_end = 0.0 }, // 165 leona/c50.ogg + { .path = "audio/mousegirls/mg3.opus.bin", .loop_end = 0.0 }, // 166 mousegirls/mg3.ogg + { .path = "audio/leona/c51.opus.bin", .loop_end = 0.0 }, // 167 leona/c51.ogg + { .path = "audio/leona/c52.opus.bin", .loop_end = 0.0 }, // 168 leona/c52.ogg + { .path = "audio/leona/c53.opus.bin", .loop_end = 0.0 }, // 169 leona/c53.ogg + { .path = "audio/leona/c54.opus.bin", .loop_end = 0.0 }, // 170 leona/c54.ogg + { .path = "audio/leona/c55.opus.bin", .loop_end = 0.0 }, // 171 leona/c55.ogg + { .path = "audio/alice/a39.opus.bin", .loop_end = 0.0 }, // 172 alice/a39.ogg + { .path = "audio/eily/e67.opus.bin", .loop_end = 0.0 }, // 173 eily/e67.ogg + { .path = "audio/eily/e68.opus.bin", .loop_end = 0.0 }, // 174 eily/e68.ogg + { .path = "audio/leona/c56.opus.bin", .loop_end = 0.0 }, // 175 leona/c56.ogg + { .path = "audio/nara/n8.opus.bin", .loop_end = 0.0 }, // 176 nara/n8.ogg + { .path = "audio/nara/n9.opus.bin", .loop_end = 0.0 }, // 177 nara/n9.ogg + { .path = "audio/nara/n10.opus.bin", .loop_end = 0.0 }, // 178 nara/n10.ogg + { .path = "audio/hera/h1.opus.bin", .loop_end = 0.0 }, // 179 hera/h1.ogg + { .path = "audio/hera/h2.opus.bin", .loop_end = 0.0 }, // 180 hera/h2.ogg + { .path = "audio/leona/c57.opus.bin", .loop_end = 0.0 }, // 181 leona/c57.ogg + { .path = "audio/hera/h3.opus.bin", .loop_end = 0.0 }, // 182 hera/h3.ogg + { .path = "audio/eily/e69.opus.bin", .loop_end = 0.0 }, // 183 eily/e69.ogg + { .path = "audio/hera/h4.opus.bin", .loop_end = 0.0 }, // 184 hera/h4.ogg + { .path = "audio/sfx/Glass.opus.bin", .loop_end = 0.0 }, // 185 sfx/Glass.ogg + { .path = "audio/alice/a40.opus.bin", .loop_end = 0.0 }, // 186 alice/a40.ogg + { .path = "audio/alice/a41.opus.bin", .loop_end = 0.0 }, // 187 alice/a41.ogg + { .path = "audio/leona/c58.opus.bin", .loop_end = 0.0 }, // 188 leona/c58.ogg + { .path = "audio/bird/b1.opus.bin", .loop_end = 0.0 }, // 189 bird/b1.ogg + { .path = "audio/bird/b2.opus.bin", .loop_end = 0.0 }, // 190 bird/b2.ogg + { .path = "audio/bird/b3.opus.bin", .loop_end = 0.0 }, // 191 bird/b3.ogg + { .path = "audio/leona/c59.opus.bin", .loop_end = 0.0 }, // 192 leona/c59.ogg + { .path = "audio/eily/e70.opus.bin", .loop_end = 0.0 }, // 193 eily/e70.ogg + { .path = "audio/bird/b4.opus.bin", .loop_end = 0.0 }, // 194 bird/b4.ogg + { .path = "audio/bird/b5.opus.bin", .loop_end = 0.0 }, // 195 bird/b5.ogg + { .path = "audio/leona/c60.opus.bin", .loop_end = 0.0 }, // 196 leona/c60.ogg + { .path = "audio/leona/c61.opus.bin", .loop_end = 0.0 }, // 197 leona/c61.ogg + { .path = "audio/bird/b6.opus.bin", .loop_end = 0.0 }, // 198 bird/b6.ogg + { .path = "audio/bird/b7.opus.bin", .loop_end = 0.0 }, // 199 bird/b7.ogg + { .path = "audio/leona/c0.opus.bin", .loop_end = 0.0 }, // 200 leona/c0.ogg + { .path = "audio/bird/b8.opus.bin", .loop_end = 0.0 }, // 201 bird/b8.ogg + { .path = "audio/bird/b9.opus.bin", .loop_end = 0.0 }, // 202 bird/b9.ogg + { .path = "audio/bird/b10.opus.bin", .loop_end = 0.0 }, // 203 bird/b10.ogg + { .path = "audio/leona/c62.opus.bin", .loop_end = 0.0 }, // 204 leona/c62.ogg + { .path = "audio/bird/b11.opus.bin", .loop_end = 0.0 }, // 205 bird/b11.ogg + { .path = "audio/bird/b12.opus.bin", .loop_end = 0.0 }, // 206 bird/b12.ogg + { .path = "audio/bird/b13.opus.bin", .loop_end = 0.0 }, // 207 bird/b13.ogg + { .path = "audio/leona/c63.opus.bin", .loop_end = 0.0 }, // 208 leona/c63.ogg + { .path = "audio/bird/b14.opus.bin", .loop_end = 0.0 }, // 209 bird/b14.ogg + { .path = "audio/leona/c64.opus.bin", .loop_end = 0.0 }, // 210 leona/c64.ogg + { .path = "audio/bird/b15.opus.bin", .loop_end = 0.0 }, // 211 bird/b15.ogg + { .path = "audio/leona/c65.opus.bin", .loop_end = 0.0 }, // 212 leona/c65.ogg + { .path = "audio/leona/c66.opus.bin", .loop_end = 0.0 }, // 213 leona/c66.ogg + { .path = "audio/bird/b16.opus.bin", .loop_end = 0.0 }, // 214 bird/b16.ogg + { .path = "audio/bird/b17.opus.bin", .loop_end = 0.0 }, // 215 bird/b17.ogg + { .path = "audio/alice/a42.opus.bin", .loop_end = 0.0 }, // 216 alice/a42.ogg + { .path = "audio/eily/e71.opus.bin", .loop_end = 0.0 }, // 217 eily/e71.ogg + { .path = "audio/eily/e72.opus.bin", .loop_end = 0.0 }, // 218 eily/e72.ogg + { .path = "audio/eily/e73.opus.bin", .loop_end = 0.0 }, // 219 eily/e73.ogg + { .path = "audio/eily/e74.opus.bin", .loop_end = 0.0 }, // 220 eily/e74.ogg + { .path = "audio/eily/e75.opus.bin", .loop_end = 0.0 }, // 221 eily/e75.ogg + { .path = "audio/eily/e76.opus.bin", .loop_end = 0.0 }, // 222 eily/e76.ogg + { .path = "audio/bird/b18.opus.bin", .loop_end = 0.0 }, // 223 bird/b18.ogg + { .path = "audio/leona/c67.opus.bin", .loop_end = 0.0 }, // 224 leona/c67.ogg + { .path = "audio/alice/a43.opus.bin", .loop_end = 0.0 }, // 225 alice/a43.ogg + { .path = "audio/eily/e77.opus.bin", .loop_end = 0.0 }, // 226 eily/e77.ogg + { .path = "audio/bird/b19.opus.bin", .loop_end = 0.0 }, // 227 bird/b19.ogg + { .path = "audio/bird/b20.opus.bin", .loop_end = 0.0 }, // 228 bird/b20.ogg + { .path = "audio/nara/n11.opus.bin", .loop_end = 0.0 }, // 229 nara/n11.ogg + { .path = "audio/nara/n12.opus.bin", .loop_end = 0.0 }, // 230 nara/n12.ogg + { .path = "audio/nara/n13.opus.bin", .loop_end = 0.0 }, // 231 nara/n13.ogg }; const int audio_length = (sizeof (audio)) / (sizeof (audio[0])); const language::image images[] = { - { .path = "data/renpy/images/flowers.dds" }, // 0 flowers.png - { .path = "data/renpy/images/bg/forest1.dds" }, // 1 bg/forest1.png - { .path = "data/renpy/images/bg/forest2.dds" }, // 2 bg/forest2.png - { .path = "data/renpy/images/bg/flowerfield1.dds" }, // 3 bg/flowerfield1.png - { .path = "data/renpy/images/bg/wheatfield1.dds" }, // 4 bg/wheatfield1.png - { .path = "data/renpy/images/ch/cat.dds" }, // 5 ch/cat.png - { .path = "data/renpy/images/ch/catw.dds" }, // 6 ch/catw.png - { .path = "data/renpy/images/ch/Eily.dds" }, // 7 ch/Eily.png - { .path = "data/renpy/images/ch/Alice.dds" }, // 8 ch/Alice.png + { .path = "data/renpy/images/flowers.dds", .isCharacterImage = false }, // 0 flowers.png + { .path = "data/renpy/images/bg/forest1.dds", .isCharacterImage = false }, // 1 bg/forest1.png + { .path = "data/renpy/images/bg/forest2.dds", .isCharacterImage = false }, // 2 bg/forest2.png + { .path = "data/renpy/images/bg/flowerfield1.dds", .isCharacterImage = false }, // 3 bg/flowerfield1.png + { .path = "data/renpy/images/bg/wheatfield1.dds", .isCharacterImage = false }, // 4 bg/wheatfield1.png + { .path = "data/renpy/images/bg/castle1.dds", .isCharacterImage = false }, // 5 bg/castle1.png + { .path = "data/renpy/images/bg/castle2.dds", .isCharacterImage = false }, // 6 bg/castle2.png + { .path = "data/renpy/images/bg/castle3.dds", .isCharacterImage = false }, // 7 bg/castle3.png + { .path = "data/renpy/images/bg/castle4.dds", .isCharacterImage = false }, // 8 bg/castle4.png + { .path = "data/renpy/images/ch/ialice/Alice.dds", .isCharacterImage = true }, // 9 ch/ialice/Alice.png + { .path = "data/renpy/images/ch/ialice/Salice.dds", .isCharacterImage = true }, // 10 ch/ialice/Salice.png + { .path = "data/renpy/images/ch/ialice/Walice.dds", .isCharacterImage = true }, // 11 ch/ialice/Walice.png + { .path = "data/renpy/images/ch/ibird/Bird.dds", .isCharacterImage = true }, // 12 ch/ibird/Bird.png + { .path = "data/renpy/images/ch/icat/Cat.dds", .isCharacterImage = true }, // 13 ch/icat/Cat.png + { .path = "data/renpy/images/ch/icat/Catw.dds", .isCharacterImage = true }, // 14 ch/icat/Catw.png + { .path = "data/renpy/images/ch/ieily/Eily.dds", .isCharacterImage = true }, // 15 ch/ieily/Eily.png + { .path = "data/renpy/images/ch/ieily/Seily.dds", .isCharacterImage = true }, // 16 ch/ieily/Seily.png }; const int images_length = (sizeof (images)) / (sizeof (images[0])); const language::option options[] = { - { .string = "Complain", .statementIndex = 19 }, // 0 - { .string = "Rationalize", .statementIndex = 27 }, // 1 - { .string = "Good idea", .statementIndex = 53 }, // 2 - { .string = "I am too tired", .statementIndex = 60 }, // 3 - { .string = "Beg for mercy", .statementIndex = 77 }, // 4 - { .string = "Run", .statementIndex = 79 }, // 5 + { .string = "Complain", .statementIndex = 28 }, // 0 + { .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 }; const int options_length = (sizeof (options)) / (sizeof (options[0])); const language::dissolve dissolves[] = { { .duration = 3.0, .first_statement = 4, .count = 1 }, - { .duration = 3.0, .first_statement = 11, .count = 1 }, - { .duration = 1.0, .first_statement = 34, .count = 2 }, - { .duration = 1.0, .first_statement = 39, .count = 1 }, - { .duration = 3.0, .first_statement = 116, .count = 2 }, - { .duration = 3.0, .first_statement = 120, .count = 1 }, - { .duration = 2.0, .first_statement = 195, .count = 2 }, - { .duration = 1.3, .first_statement = 199, .count = 3 }, - { .duration = 3.0, .first_statement = 241, .count = 1 }, + { .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 = 532, .count = 1 }, + { .duration = 7.0, .first_statement = 533, .count = 1 }, + { .duration = 7.0, .first_statement = 534, .count = 1 }, + { .duration = 7.0, .first_statement = 535, .count = 1 }, + { .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 = 10.0, .first_statement = 539, .count = 1 }, + { .duration = 13.0, .first_statement = 541, .count = 1 }, }; const int dissolves_length = (sizeof (dissolves)) / (sizeof (dissolves[0])); const language::statement statements[] = { { .type = type::play, .play = { .audioIndex = 0 } }, // 0 sfx/Chime.ogg - { .type = type::play, .play = { .audioIndex = 1 } }, // 1 sfx/MistAmbience.ogg - { .type = type::scene_color, .scene_color = { .color = 0x000000 } }, // 2 bgblack - { .type = type::pause, .pause = { .duration = 0.0 } }, // 3 + { .type = type::play, .play = { .audioIndex = 1 } }, // 1 music/MistAmbience.ogg + { .type = type::scene_color, .scene_color = { .color = 0x000000 } }, // 2 bgblue + { .type = type::pause, .pause = { .duration = 1.0 } }, // 3 { .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 4 bgwhite - { .type = type::say, .say = { .characterIndex = 4, .stringIndex = 0 } }, // 5 n "Far over the mountains of Almystice" - { .type = type::say, .say = { .characterIndex = 4, .stringIndex = 1 } }, // 6 n "Beyond the tumultuous waters of the Lilac Bay" - { .type = type::say, .say = { .characterIndex = 4, .stringIndex = 2 } }, // 7 n "And across the vast fields of Alysen" - { .type = type::play, .play = { .audioIndex = 2 } }, // 8 music/TinyForestMinstrels.ogg - { .type = type::say, .say = { .characterIndex = 4, .stringIndex = 3 } }, // 9 n "Tiny minstrels can be heard amongst the trees" - { .type = type::stop, .stop = { .audioIndex = 2, .fadeout = 5.5 } }, // 10 TinyForestMinstrels - { .type = type::scene, .scene = { .imageIndex = 1 } }, // 11 bgforest1 - { .type = type::show, .show = { .imageIndex = 8, .transformIndex = transform::left } }, // 12 al - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 4 } }, // 13 a "Are we almost there?" - { .type = type::show, .show = { .imageIndex = 7, .transformIndex = transform::right } }, // 14 ei - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 5 } }, // 15 e "Hmmm... Not really" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 6 } }, // 16 a "How much further have we to go?" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 7 } }, // 17 e "About two more moons" - { .type = type::menu, .menu = { .count = 2, .optionIndex = 0 } }, // 18 "Complain", "Rationalize" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 8 } }, // 19 a "We are still sooo far awayyy" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 9 } }, // 20 e "And it will be even further if you dont stop complaining" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 10 } }, // 21 a "Easy for you to say, all you have to carry is a little memory pipe!" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 11 } }, // 22 a "I'm tired ><" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 12 } }, // 23 e "Don't start whining now!" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 13 } }, // 24 e "You need to remember why we have come all this way" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 14 } }, // 25 a "I understand... I suppose it is for an important purpose" - { .type = type::jump, .jump = { .statementIndex = 29 } }, // 26 internal jump (b'__menu_end', 0) - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 14 } }, // 27 a "I understand... I suppose it is for an important purpose" - { .type = type::jump, .jump = { .statementIndex = 29 } }, // 28 internal jump (b'__menu_end', 0) - { .type = type::jump, .jump = { .statementIndex = 30 } }, // 29 mainbranch1 - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 15 } }, // 30 e "We're almost out of the forest, we can take a little break once we clear the tree line" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 16 } }, // 31 a "Is that where the flora field is?" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 17 } }, // 32 e "Why yes, If I remember correctly, it should be just up ahead" - { .type = type::stop, .stop = { .audioIndex = 2, .fadeout = 5.5 } }, // 33 TinyForestMinstrels - { .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 34 bgwhite - { .type = type::play, .play = { .audioIndex = 0 } }, // 35 sfx/Chime.ogg - { .type = type::play, .play = { .audioIndex = 0 } }, // 36 sfx/Chime.ogg - { .type = type::say, .say = { .characterIndex = 4, .stringIndex = 18 } }, // 37 n "As the minstrel mice girls continue along the path, the forest opens up into a beautiful field of flowers" - { .type = type::play, .play = { .audioIndex = 3 } }, // 38 music/PhrygianButterflies.ogg - { .type = type::scene, .scene = { .imageIndex = 3 } }, // 39 bgflower1 - { .type = type::show, .show = { .imageIndex = 7, .transformIndex = transform::right } }, // 40 ei - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 19 } }, // 41 e "Look at all the butterflies! They are all so pretty!" - { .type = type::show, .show = { .imageIndex = 8, .transformIndex = transform::left } }, // 42 al - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 20 } }, // 43 a "This place is like a dream..." - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 21 } }, // 44 e "There are so many flowers this time of year" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 22 } }, // 45 e "I told you it would be worth the journey!" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 23 } }, // 46 a "Can we stop for a bit now?" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 24 } }, // 47 e "Of course" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 25 } }, // 48 e "Ya know, Its a shame we didnt save some of those giant strawberries you found" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 26 } }, // 49 a "I told you not to eat them all!" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 27 } }, // 50 e "Yah yah" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 28 } }, // 51 e "Anyways, shall I recite a tale?" - { .type = type::menu, .menu = { .count = 2, .optionIndex = 2 } }, // 52 "Good idea", "I am too tired" - { .type = type::stop, .stop = { .audioIndex = 3, .fadeout = 4.2 } }, // 53 PhrygianButterflies - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 29 } }, // 54 a "Why dont you sing the story of Eleanor the Hero!" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 30 } }, // 55 e "Sure" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 31 } }, // 56 a "..." - { .type = type::play, .play = { .audioIndex = 4 } }, // 57 music/Poem1.ogg - { .type = type::pause, .pause = { .duration = 40 } }, // 58 - { .type = type::jump, .jump = { .statementIndex = 64 } }, // 59 internal jump (b'__menu_end', 1) - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 32 } }, // 60 e "Serves you right for scaring those elephant-dogs" - { .type = type::stop, .stop = { .audioIndex = 3, .fadeout = 4.2 } }, // 61 PhrygianButterflies - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 33 } }, // 62 a "They were asking for it, you know" - { .type = type::jump, .jump = { .statementIndex = 64 } }, // 63 internal jump (b'__menu_end', 1) - { .type = type::jump, .jump = { .statementIndex = 65 } }, // 64 mainbranch2 - { .type = type::hide, .hide = { .imageIndex = 7 } }, // 65 ei - { .type = type::show, .show = { .imageIndex = 6, .transformIndex = transform::right } }, // 66 catw - { .type = type::show, .show = { .imageIndex = 7, .transformIndex = transform::centerleft } }, // 67 ei - { .type = type::voice, .voice = { .audioIndex = 5 } }, // 68 placeholdermeow.mp3 - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 34 } }, // 69 c "Rawrrrr" - { .type = type::hide, .hide = { .imageIndex = 6 } }, // 70 catw - { .type = type::show, .show = { .imageIndex = 5, .transformIndex = transform::right } }, // 71 cat - { .type = type::play, .play = { .audioIndex = 6 } }, // 72 music/ScaredMice.ogg - { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 35 } }, // 73 mg "AHHHHHHHHHH!!!!!" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 36 } }, // 74 c "Nyanyanyanya" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 37 } }, // 75 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 } }, // 76 "Beg for mercy", "Run" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 38 } }, // 77 a "Please don't eat us!!!" - { .type = type::jump, .jump = { .statementIndex = 82 } }, // 78 internal jump (b'__menu_end', 2) - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 39 } }, // 79 e "Alice don't run, our only chance is through pleading!" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 40 } }, // 80 e "Please don't eat us, miss kitty cat!!! ><" - { .type = type::jump, .jump = { .statementIndex = 82 } }, // 81 internal jump (b'__menu_end', 2) - { .type = type::jump, .jump = { .statementIndex = 83 } }, // 82 mainbranch3 - { .type = type::stop, .stop = { .audioIndex = 6, .fadeout = 2.0 } }, // 83 ScaredMice - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 41 } }, // 84 c "I'm not gonna eat you nyanyanya" - { .type = type::play, .play = { .audioIndex = 2 } }, // 85 music/TinyForestMinstrels.ogg - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 42 } }, // 86 c "I just want to know what two little meowses are doing so very far away from home" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 43 } }, // 87 c "Also, are you minstrels?" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 44 } }, // 88 e "Y-Yes" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 45 } }, // 89 a "W-We are on a quest to Castle Alysen..." - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 46 } }, // 90 e "Shh don't tell her that" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 47 } }, // 91 c "The Castle of Alysen you say?!?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 48 } }, // 92 c "Why, that's where I am headed!" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 49 } }, // 93 e "You don't say..." - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 50 } }, // 94 c "Yah, I do actually" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 51 } }, // 95 e "So... Why might you be traveling to the castle?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 52 } }, // 96 c "I belong to the lineage of Agrepen" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 53 } }, // 97 e "And what might that mean?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 54 } }, // 98 c "The Agrepens are a long line of felines loyal to the crown of corvidae" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 55 } }, // 99 e "Really? That must mean you are a noble?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 56 } }, // 100 c "Well, not really..." - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 57 } }, // 101 c "My father was one of the queens knights many years ago" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 58 } }, // 102 e "Ah I see" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 59 } }, // 103 e "So do you live at the castle or something?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 60 } }, // 104 c "Well, no..." - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 61 } }, // 105 a "Then why are you traveling to Castle Alysen?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 62 } }, // 106 c "uhhh" - { .type = type::play, .play = { .audioIndex = 1 } }, // 107 sfx/MistAmbience.ogg - { .type = type::stop, .stop = { .audioIndex = 2, .fadeout = 2.0 } }, // 108 TinyForestMinstrels - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 63 } }, // 109 c "I DONT NEED TO BE PRESSURED BY LITTLE MICE TO SAY ANYTHING!!!!" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 64 } }, // 110 c "GOOD DAY!" - { .type = type::hide, .hide = { .imageIndex = 5 } }, // 111 cat - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 65 } }, // 112 a "Wha..." - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 66 } }, // 113 e "Phew, I was scared she was gonna follow us the whole way" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 67 } }, // 114 a "She didn't seem so bad" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 68 } }, // 115 e "Are you kidding? She's a crazy kitty!" - { .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 116 bgwhite - { .type = type::play, .play = { .audioIndex = 0 } }, // 117 sfx/Chime.ogg - { .type = type::play, .play = { .audioIndex = 0 } }, // 118 sfx/Chime.ogg - { .type = type::say, .say = { .characterIndex = 4, .stringIndex = 69 } }, // 119 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 } }, // 120 bgforest2 - { .type = type::show, .show = { .imageIndex = 7, .transformIndex = transform::right } }, // 121 ei - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 70 } }, // 122 e "I think this is the right way..." - { .type = type::show, .show = { .imageIndex = 8, .transformIndex = transform::left } }, // 123 al - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 71 } }, // 124 a "Then where did the path go?" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 72 } }, // 125 e "How am I supposed to know?" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 73 } }, // 126 a "Did you hear that?!?!" - { .type = type::show, .show = { .imageIndex = 7, .transformIndex = transform::centerleft } }, // 127 ei - { .type = type::show, .show = { .imageIndex = 5, .transformIndex = transform::right } }, // 128 cat - { .type = type::play, .play = { .audioIndex = 3 } }, // 129 music/PhrygianButterflies.ogg - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 74 } }, // 130 c "Hey there..." - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 75 } }, // 131 c "I apologize" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 76 } }, // 132 c "I didn't mean to storm off like that" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 77 } }, // 133 e "Ha ha, no problem..." - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 78 } }, // 134 a "So... Why are you traveling to Castle Alysen?" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 79 } }, // 135 e "Alice!!!" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 80 } }, // 136 c "If you must know, I have been summoned by the queen" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 81 } }, // 137 c "I suspect that my poor reputation amongst the locals of Eastern Nidus has come back to haunt me" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 82 } }, // 138 c "Though I know not what what she has summoned me for" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 83 } }, // 139 a "Ahhhhhh" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 84 } }, // 140 c "So then..." - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 85 } }, // 141 c "Why are YOU traveling to the Castle?" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 86 } }, // 142 a "We are delivering a feather!!!" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 87 } }, // 143 e "Alice no!" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 88 } }, // 144 a "A feather that belonged to the queen herself!!!" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 89 } }, // 145 e "Why you little..." - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 90 } }, // 146 c "A feather you say? One of the queens?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 91 } }, // 147 c "How on the face of Al Mot might you have aquired such a thing?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 92 } }, // 148 c "If it is authentic, that is..." - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 93 } }, // 149 e "Since Alice cannot keep a secret, I shall tell you" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 94 } }, // 150 e "Seven moons ago, our town was attacked by three owls and a band of mice from the northern principalities" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 95 } }, // 151 e "Eventually word spread to greater nearby settlements, and so" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 96 } }, // 152 e "Messengers from the keep in Musia sent for aid from the Ravens" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 97 } }, // 153 e "Four moons ago, the request was answered" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 98 } }, // 154 e "And a small group of mice accompanied by two ravens a fox, and three squirrels set out to the northern principalities" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 99 } }, // 155 e "Anyways, long story short, we drove those barbaric rats out of their home" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 100 } }, // 156 a "They arent actual rats you know" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 101 } }, // 157 e "Obviously, but you wont catch me speaking kindly of them" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 102 } }, // 158 a "And you forgot the most important part" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 103 } }, // 159 e "Yah yah, I am getting there" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 104 } }, // 160 e "So, essentially, my brother is trained in archery, and..." - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 105 } }, // 161 a "Speed it up already" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 106 } }, // 162 e "You tell it then!" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 107 } }, // 163 a "My cousin found this feather in one of the highest towers of a castle far to the north" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 108 } }, // 164 c "How do you know it belongs to the queen?" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 109 } }, // 165 e "It said so itself above the display on the wall" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 110 } }, // 166 a "Supposedly, it was in a room filled with treasures!" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 111 } }, // 167 c "That is very nice and all, but what are the two of you doing out here all alone?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 112 } }, // 168 c "Do you expect every bird in Avia to respect your alliance with Castle Alysen?" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 113 } }, // 169 e "What do you mean?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 114 } }, // 170 c "I mean, the two of you probably look like walking dinner to most creatures" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 115 } }, // 171 a "I could go for some dinner..." - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 116 } }, // 172 e "Anyways..." - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 117 } }, // 173 e "To answer your question, upon returning to the village, the feather was taken from my brother by the needle guild" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 118 } }, // 174 e "So... Yesterday, after sundown" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 119 } }, // 175 e "We stole the feather from the guild hall before vanishing into the night" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 120 } }, // 176 e "Can you imagine the look on their stupid faces, when they woke up, and not only is the feather missing" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 121 } }, // 177 e "But so are we!" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 122 } }, // 178 a "Hahahaha" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 123 } }, // 179 c "Are the two of you mad?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 124 } }, // 180 c "I assume you are attempting to return the Queens feather?" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 125 } }, // 181 a "Yes, we intend to deliver the feather to its rightful owner" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 126 } }, // 182 c "Absolute madness!" - { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 31 } }, // 183 mg "..." - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 127 } }, // 184 c "I will follow the two of you" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 128 } }, // 185 c "To keep you safe, that is" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 129 } }, // 186 a "Alright!" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 130 } }, // 187 e "Ha ha... Okay..." - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 131 } }, // 188 c "Great! Follow me, I know a shortcut! :3" - { .type = type::hide, .hide = { .imageIndex = 5 } }, // 189 cat - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 132 } }, // 190 a "Sounds good!" - { .type = type::hide, .hide = { .imageIndex = 8 } }, // 191 al - { .type = type::stop, .stop = { .audioIndex = 3, .fadeout = 2.0 } }, // 192 PhrygianButterflies - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 133 } }, // 193 e "Oh dear!" - { .type = type::hide, .hide = { .imageIndex = 7 } }, // 194 ei - { .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 195 bgwhite - { .type = type::play, .play = { .audioIndex = 0 } }, // 196 sfx/Chime.ogg - { .type = type::play, .play = { .audioIndex = 0 } }, // 197 sfx/Chime.ogg - { .type = type::say, .say = { .characterIndex = 4, .stringIndex = 134 } }, // 198 n "And so the mice girls follow the noble cat further towards their destination" - { .type = type::scene, .scene = { .imageIndex = 4 } }, // 199 bgwheatfield1 - { .type = type::play, .play = { .audioIndex = 7 } }, // 200 music/WheatFields.ogg - { .type = type::show, .show = { .imageIndex = 5, .transformIndex = transform::right } }, // 201 cat - { .type = type::show, .show = { .imageIndex = 5, .transformIndex = transform::right } }, // 202 cat - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 135 } }, // 203 c "Nya" - { .type = type::show, .show = { .imageIndex = 8, .transformIndex = transform::left } }, // 204 al - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 136 } }, // 205 a "Look, your right, the castle is just up ahead!" - { .type = type::show, .show = { .imageIndex = 7, .transformIndex = transform::centerleft } }, // 206 ei - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 137 } }, // 207 e "Wait up" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 138 } }, // 208 c "I told you I knew a shortcut!" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 139 } }, // 209 c "Most people take the long way around" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 140 } }, // 210 e "Yah because these are royal wheatfields!" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 141 } }, // 211 a "Who cares?" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 142 } }, // 212 e "Are you trying to get us killed?" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 143 } }, // 213 e "Its trespassing on royal land!" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 144 } }, // 214 c "Calm down, I have done this a million times" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 145 } }, // 215 e "That doesnt make me calm!" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 146 } }, // 216 c "How can the rolling fields of wheat not calm your spirit?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 147 } }, // 217 c "You little mice truly are mad!" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 148 } }, // 218 a "I like the wheat!" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 149 } }, // 219 e "Shut up!" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 150 } }, // 220 c "Sounds like someone needs a nap!" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 151 } }, // 221 e "Why? because I'm not insane like you?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 152 } }, // 222 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::say, .say = { .characterIndex = 1, .stringIndex = 153 } }, // 223 c "The power of friendship wont protect the two of you from becoming dinner" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 154 } }, // 224 c "And that, is why I feel obligated to accompany you!" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 155 } }, // 225 e "Hey, we have a good reason!" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 156 } }, // 226 c "And what might that be?" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 157 } }, // 227 e "My brother found the feather, not the town guild, its a matter of family pride!" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 158 } }, // 228 c "Pride has touched the chosen meouse" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 159 } }, // 229 c "Flies she towards the Castle" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 160 } }, // 230 c "But her ambition burns far too bright, and silly myice dont have any wings to myelt" - { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 161 } }, // 231 mg "What?" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 162 } }, // 232 c "Nyanyanya" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 163 } }, // 233 c "Nyevermind" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 164 } }, // 234 c "Sing me a song little minstrels!" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 165 } }, // 235 c "Very Nyice!" - { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 166 } }, // 236 c "Now tell me little minstrels, what are your names?" - { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 167 } }, // 237 a "My name is Alice" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 168 } }, // 238 e "And my name is Eily" - { .type = type::say, .say = { .characterIndex = 2, .stringIndex = 169 } }, // 239 e "What is your name?" - { .type = type::say, .say = { .characterIndex = 5, .stringIndex = 170 } }, // 240 l "My name is Leona!" - { .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 241 bgwhite - { .type = type::say, .say = { .characterIndex = 4, .stringIndex = 171 } }, // 242 n "And so, the odd trio walked through the wheatfields and towards the castle walls" - { .type = type::say, .say = { .characterIndex = 4, .stringIndex = 172 } }, // 243 n "Upon approaching the castle walls" - { .type = type::_return }, // 244 + { .type = type::voice, .voice = { .audioIndex = 2 } }, // 5 nara/n1.ogg + { .type = type::say, .say = { .characterIndex = 5, .stringIndex = 0 } }, // 6 n "Far over the mountains of Almystice" + { .type = type::voice, .voice = { .audioIndex = 3 } }, // 7 nara/n2.ogg + { .type = type::say, .say = { .characterIndex = 5, .stringIndex = 1 } }, // 8 n "Beyond the tumultuous waters of the Lilac Bay" + { .type = type::voice, .voice = { .audioIndex = 4 } }, // 9 nara/n3.ogg + { .type = type::say, .say = { .characterIndex = 5, .stringIndex = 2 } }, // 10 n "And across the vast fields of Alysen" + { .type = type::stop, .stop = { .audioIndex = 1, .fadeout = 4.2 } }, // 11 MistAmbience + { .type = type::play, .play = { .audioIndex = 5 } }, // 12 music/TinyForestMinstrels.ogg + { .type = type::voice, .voice = { .audioIndex = 6 } }, // 13 nara/n4.ogg + { .type = type::say, .say = { .characterIndex = 5, .stringIndex = 3 } }, // 14 n "Tiny minstrels can be heard amongst the trees" + { .type = type::scene, .scene = { .imageIndex = 1 } }, // 15 bgforest1 + { .type = type::play, .play = { .audioIndex = 0 } }, // 16 sfx/Chime.ogg + { .type = type::show, .show = { .imageIndex = 9, .transformIndex = transform::left } }, // 17 al + { .type = type::voice, .voice = { .audioIndex = 7 } }, // 18 alice/a1.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 4 } }, // 19 a "Are we almost there?" + { .type = type::show, .show = { .imageIndex = 15, .transformIndex = transform::right } }, // 20 ei + { .type = type::voice, .voice = { .audioIndex = 8 } }, // 21 eily/e1.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 5 } }, // 22 e "Hmmm... Not really" + { .type = type::voice, .voice = { .audioIndex = 9 } }, // 23 alice/a2.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 6 } }, // 24 a "How much further have we to go?" + { .type = type::voice, .voice = { .audioIndex = 10 } }, // 25 eily/e2.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 7 } }, // 26 e "About two more moons" + { .type = type::menu, .menu = { .count = 2, .optionIndex = 0 } }, // 27 "Complain", "Rationalize" + { .type = type::voice, .voice = { .audioIndex = 11 } }, // 28 alice/a3.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 8 } }, // 29 a "We are still sooo far awayyy" + { .type = type::voice, .voice = { .audioIndex = 12 } }, // 30 eily/e3.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 9 } }, // 31 e "And it will be even further if you dont stop complaining" + { .type = type::voice, .voice = { .audioIndex = 13 } }, // 32 alice/a4.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 10 } }, // 33 a "Easy for you to say, all you have to carry is a little memory pipe!" + { .type = type::voice, .voice = { .audioIndex = 14 } }, // 34 alice/a5.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 11 } }, // 35 a "I'm tired ><" + { .type = type::voice, .voice = { .audioIndex = 15 } }, // 36 eily/e4.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 12 } }, // 37 e "Don't start whining now!" + { .type = type::voice, .voice = { .audioIndex = 16 } }, // 38 eily/e5.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 13 } }, // 39 e "You need to remember why we have come all this way" + { .type = type::voice, .voice = { .audioIndex = 17 } }, // 40 alice/a6.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 14 } }, // 41 a "I understand... I suppose it is for an important purpose" + { .type = type::jump, .jump = { .statementIndex = 46 } }, // 42 internal jump (b'__menu_end', 0) + { .type = type::voice, .voice = { .audioIndex = 17 } }, // 43 alice/a6.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 14 } }, // 44 a "I understand... I suppose it is for an important purpose" + { .type = type::jump, .jump = { .statementIndex = 46 } }, // 45 internal jump (b'__menu_end', 0) + { .type = type::jump, .jump = { .statementIndex = 47 } }, // 46 mainbranch1 + { .type = type::voice, .voice = { .audioIndex = 18 } }, // 47 eily/e6.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 15 } }, // 48 e "We're almost out of the forest, we can take a little break once we clear the tree line" + { .type = type::voice, .voice = { .audioIndex = 19 } }, // 49 alice/a7.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 16 } }, // 50 a "Is that where the flora field is?" + { .type = type::voice, .voice = { .audioIndex = 20 } }, // 51 eily/e7.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 17 } }, // 52 e "Why yes, If I remember correctly, it should be just up ahead" + { .type = type::stop, .stop = { .audioIndex = 5, .fadeout = 5.5 } }, // 53 TinyForestMinstrels + { .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 54 bgwhite + { .type = type::play, .play = { .audioIndex = 0 } }, // 55 sfx/Chime.ogg + { .type = type::voice, .voice = { .audioIndex = 21 } }, // 56 nara/n5.ogg + { .type = type::say, .say = { .characterIndex = 5, .stringIndex = 18 } }, // 57 n "As the minstrel mice girls continue along the path, the forest opens up into a beautiful field of flowers" + { .type = type::play, .play = { .audioIndex = 22 } }, // 58 music/PhrygianButterflies.ogg + { .type = type::scene, .scene = { .imageIndex = 3 } }, // 59 bgflower1 + { .type = type::show, .show = { .imageIndex = 15, .transformIndex = transform::right } }, // 60 ei + { .type = type::voice, .voice = { .audioIndex = 23 } }, // 61 eily/e8.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 19 } }, // 62 e "Look at all the butterflies! They are all so pretty!" + { .type = type::show, .show = { .imageIndex = 9, .transformIndex = transform::left } }, // 63 al + { .type = type::voice, .voice = { .audioIndex = 24 } }, // 64 alice/a8.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 20 } }, // 65 a "This place is like a dream..." + { .type = type::voice, .voice = { .audioIndex = 25 } }, // 66 eily/e9.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 21 } }, // 67 e "There are so many flowers this time of year" + { .type = type::voice, .voice = { .audioIndex = 26 } }, // 68 eily/e10.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 22 } }, // 69 e "I told you it would be worth the journey!" + { .type = type::voice, .voice = { .audioIndex = 27 } }, // 70 alice/a9.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 23 } }, // 71 a "Can we stop for a bit?" + { .type = type::voice, .voice = { .audioIndex = 28 } }, // 72 eily/e11.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 24 } }, // 73 e "Of course" + { .type = type::voice, .voice = { .audioIndex = 29 } }, // 74 eily/e12.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 25 } }, // 75 e "Ya know, Its a shame we didnt save some of those giant strawberries you found" + { .type = type::voice, .voice = { .audioIndex = 30 } }, // 76 alice/a10.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 26 } }, // 77 a "I told you not to eat them all!" + { .type = type::voice, .voice = { .audioIndex = 31 } }, // 78 eily/e13.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 27 } }, // 79 e "Yah yah" + { .type = type::voice, .voice = { .audioIndex = 32 } }, // 80 eily/e14.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 28 } }, // 81 e "Anyways, shall I recite a tale?" + { .type = type::menu, .menu = { .count = 2, .optionIndex = 2 } }, // 82 "Good idea", "I am too tired" + { .type = type::stop, .stop = { .audioIndex = 22, .fadeout = 4.2 } }, // 83 PhrygianButterflies + { .type = type::voice, .voice = { .audioIndex = 33 } }, // 84 alice/a11.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 29 } }, // 85 a "Why dont you sing the story of Eleanor the Hero!" + { .type = type::voice, .voice = { .audioIndex = 34 } }, // 86 eily/e15.ogg + { .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 music/Poem1.ogg + { .type = type::pause, .pause = { .duration = 40 } }, // 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" + { .type = type::stop, .stop = { .audioIndex = 22, .fadeout = 4.2 } }, // 94 PhrygianButterflies + { .type = type::voice, .voice = { .audioIndex = 37 } }, // 95 alice/a12.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 33 } }, // 96 a "They were asking for it, you know" + { .type = type::jump, .jump = { .statementIndex = 98 } }, // 97 internal jump (b'__menu_end', 1) + { .type = type::jump, .jump = { .statementIndex = 99 } }, // 98 mainbranch2 + { .type = type::hide, .hide = { .imageIndex = 15 } }, // 99 ei + { .type = type::show, .show = { .imageIndex = 14, .transformIndex = transform::right } }, // 100 catw + { .type = type::show, .show = { .imageIndex = 15, .transformIndex = 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 = 14 } }, // 104 catw + { .type = type::show, .show = { .imageIndex = 13, .transformIndex = transform::right } }, // 105 cat + { .type = type::play, .play = { .audioIndex = 39 } }, // 106 music/ScaredMice.ogg + { .type = type::hide, .hide = { .imageIndex = 15 } }, // 107 ei + { .type = type::hide, .hide = { .imageIndex = 9 } }, // 108 al + { .type = type::show, .show = { .imageIndex = 16, .transformIndex = transform::centerleft } }, // 109 sei + { .type = type::show, .show = { .imageIndex = 10, .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 = 10 } }, // 130 sal + { .type = type::show, .show = { .imageIndex = 9, .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 = 16 } }, // 135 sei + { .type = type::show, .show = { .imageIndex = 15, .transformIndex = 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 = 1 } }, // 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 = 13 } }, // 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 = 0 } }, // 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 = 15, .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 = 9, .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 = 15, .transformIndex = transform::centerleft } }, // 207 ei + { .type = type::show, .show = { .imageIndex = 13, .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 = 13 } }, // 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 = 9 } }, // 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 = 15 } }, // 331 ei + { .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 332 bgwhite + { .type = type::play, .play = { .audioIndex = 0 } }, // 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 = 13, .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 = 11, .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 = 15, .transformIndex = 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 music/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::show, .show = { .imageIndex = 12, .transformIndex = transform::right } }, // 428 bi + { .type = type::pause, .pause = { .duration = 1.0 } }, // 429 + { .type = type::voice, .voice = { .audioIndex = 180 } }, // 430 hera/h2.ogg + { .type = type::say, .say = { .characterIndex = 7, .stringIndex = 173 } }, // 431 h "Leona Agrepen of Elmindeer" + { .type = type::show, .show = { .imageIndex = 13, .transformIndex = transform::center } }, // 432 cat + { .type = type::voice, .voice = { .audioIndex = 181 } }, // 433 leona/c57.ogg + { .type = type::say, .say = { .characterIndex = 6, .stringIndex = 174 } }, // 434 l "Hail, your Majesty" + { .type = type::voice, .voice = { .audioIndex = 182 } }, // 435 hera/h3.ogg + { .type = type::say, .say = { .characterIndex = 7, .stringIndex = 175 } }, // 436 h "Eily VeraWheat of the Western Principalities" + { .type = type::show, .show = { .imageIndex = 15, .transformIndex = transform::centerleft } }, // 437 ei + { .type = type::voice, .voice = { .audioIndex = 183 } }, // 438 eily/e69.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 174 } }, // 439 e "Hail, your Majesty" + { .type = type::voice, .voice = { .audioIndex = 184 } }, // 440 hera/h4.ogg + { .type = type::say, .say = { .characterIndex = 7, .stringIndex = 176 } }, // 441 h "Alice SeraWheat of the Western Principalities" + { .type = type::play, .play = { .audioIndex = 185 } }, // 442 sfx/Glass.ogg + { .type = type::pause, .pause = { .duration = 1.0 } }, // 443 + { .type = type::voice, .voice = { .audioIndex = 186 } }, // 444 alice/a40.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 177 } }, // 445 a "I'm alright!" + { .type = type::show, .show = { .imageIndex = 11, .transformIndex = transform::left } }, // 446 wal + { .type = type::voice, .voice = { .audioIndex = 187 } }, // 447 alice/a41.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 178 } }, // 448 a "H-Hail, your majesty" + { .type = type::voice, .voice = { .audioIndex = 188 } }, // 449 leona/c58.ogg + { .type = type::say, .say = { .characterIndex = 6, .stringIndex = 160 } }, // 450 l "Nyanyanya" + { .type = type::voice, .voice = { .audioIndex = 189 } }, // 451 bird/b1.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 179 } }, // 452 b "And what is this?" + { .type = type::voice, .voice = { .audioIndex = 190 } }, // 453 bird/b2.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 180 } }, // 454 b "A cat and two mice in my court?" + { .type = type::voice, .voice = { .audioIndex = 191 } }, // 455 bird/b3.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 181 } }, // 456 b "Is this some kind of joke?" + { .type = type::voice, .voice = { .audioIndex = 192 } }, // 457 leona/c59.ogg + { .type = type::say, .say = { .characterIndex = 6, .stringIndex = 182 } }, // 458 l "Not a joke Your Majesty, these are my friends" + { .type = type::voice, .voice = { .audioIndex = 193 } }, // 459 eily/e70.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 183 } }, // 460 e "Friends?" + { .type = type::voice, .voice = { .audioIndex = 194 } }, // 461 bird/b4.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 184 } }, // 462 b "Miss Agrepen, your reputation is far from acceptable" + { .type = type::voice, .voice = { .audioIndex = 195 } }, // 463 bird/b5.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 185 } }, // 464 b "And I can imagine, you already know why I have summoned you here today" + { .type = type::voice, .voice = { .audioIndex = 196 } }, // 465 leona/c60.ogg + { .type = type::say, .say = { .characterIndex = 6, .stringIndex = 186 } }, // 466 l "Uhhmmmm...." + { .type = type::voice, .voice = { .audioIndex = 197 } }, // 467 leona/c61.ogg + { .type = type::say, .say = { .characterIndex = 6, .stringIndex = 187 } }, // 468 l "Does it have anything to do with Eastern Nidus?" + { .type = type::voice, .voice = { .audioIndex = 198 } }, // 469 bird/b6.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 188 } }, // 470 b "I think you already know the answer to that" + { .type = type::voice, .voice = { .audioIndex = 199 } }, // 471 bird/b7.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 189 } }, // 472 b "Your father would be rather dissapointed if he were still alive" + { .type = type::voice, .voice = { .audioIndex = 200 } }, // 473 leona/c0.ogg + { .type = type::say, .say = { .characterIndex = 6, .stringIndex = 31 } }, // 474 l "..." + { .type = type::voice, .voice = { .audioIndex = 201 } }, // 475 bird/b8.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 190 } }, // 476 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 = 202 } }, // 477 bird/b9.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 191 } }, // 478 b "Miss Agrepen, you are hereby banned from stepping foot in Eastern Nidus" + { .type = type::voice, .voice = { .audioIndex = 203 } }, // 479 bird/b10.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 192 } }, // 480 b "From here on out, you shall be restricted to the central principalities of Avia" + { .type = type::voice, .voice = { .audioIndex = 204 } }, // 481 leona/c62.ogg + { .type = type::say, .say = { .characterIndex = 6, .stringIndex = 193 } }, // 482 l "Owww c'mon! There is nothing to do around here!" + { .type = type::voice, .voice = { .audioIndex = 205 } }, // 483 bird/b11.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 194 } }, // 484 b "Silence!" + { .type = type::voice, .voice = { .audioIndex = 206 } }, // 485 bird/b12.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 195 } }, // 486 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 = 207 } }, // 487 bird/b13.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 196 } }, // 488 b "Or would you prefer that I permit the request of the lesser courts to have you declawed?" + { .type = type::voice, .voice = { .audioIndex = 208 } }, // 489 leona/c63.ogg + { .type = type::say, .say = { .characterIndex = 6, .stringIndex = 197 } }, // 490 l "No ><" + { .type = type::voice, .voice = { .audioIndex = 209 } }, // 491 bird/b14.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 198 } }, // 492 b "Take my leniency as a display of gratitude for the services rendered by your father" + { .type = type::voice, .voice = { .audioIndex = 210 } }, // 493 leona/c64.ogg + { .type = type::say, .say = { .characterIndex = 6, .stringIndex = 199 } }, // 494 l "Yes Your Majesty... Forgive me for speaking out of turn" + { .type = type::voice, .voice = { .audioIndex = 211 } }, // 495 bird/b15.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 200 } }, // 496 b "Now, why have you brought these little mice before me?" + { .type = type::voice, .voice = { .audioIndex = 212 } }, // 497 leona/c65.ogg + { .type = type::say, .say = { .characterIndex = 6, .stringIndex = 201 } }, // 498 l "Alary, Your Majesty, these are minstrels I met on the road to Alysen" + { .type = type::voice, .voice = { .audioIndex = 213 } }, // 499 leona/c66.ogg + { .type = type::say, .say = { .characterIndex = 6, .stringIndex = 202 } }, // 500 l "They lay claim to a feather, said to be one of Your Majesty's own" + { .type = type::voice, .voice = { .audioIndex = 214 } }, // 501 bird/b16.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 203 } }, // 502 b "Really?" + { .type = type::voice, .voice = { .audioIndex = 215 } }, // 503 bird/b17.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 204 } }, // 504 b "And what else might the two of you claim? Alice and Eily of the West" + { .type = type::voice, .voice = { .audioIndex = 216 } }, // 505 alice/a42.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 205 } }, // 506 a "I u-uhh..." + { .type = type::voice, .voice = { .audioIndex = 217 } }, // 507 eily/e71.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 206 } }, // 508 e "Your Majesty, this feather was found by my brother in a castle to the north" + { .type = type::voice, .voice = { .audioIndex = 218 } }, // 509 eily/e72.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 207 } }, // 510 e "So very far my cousin and I have journeyed" + { .type = type::voice, .voice = { .audioIndex = 219 } }, // 511 eily/e73.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 208 } }, // 512 e "Over the mountains of Almystice" + { .type = type::voice, .voice = { .audioIndex = 220 } }, // 513 eily/e74.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 209 } }, // 514 e "Beyond the deep blue waters of the Lilac bay" + { .type = type::voice, .voice = { .audioIndex = 221 } }, // 515 eily/e75.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 2 } }, // 516 e "And across the vast fields of Alysen" + { .type = type::voice, .voice = { .audioIndex = 222 } }, // 517 eily/e76.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 210 } }, // 518 e "All in hopes that we might return Your Majesty's feather" + { .type = type::voice, .voice = { .audioIndex = 223 } }, // 519 bird/b18.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 211 } }, // 520 b "What splendid and courageous little mice the two of you are" + { .type = type::voice, .voice = { .audioIndex = 224 } }, // 521 leona/c67.ogg + { .type = type::say, .say = { .characterIndex = 6, .stringIndex = 212 } }, // 522 l "Nyanyanyanyanya" + { .type = type::voice, .voice = { .audioIndex = 225 } }, // 523 alice/a43.ogg + { .type = type::say, .say = { .characterIndex = 0, .stringIndex = 213 } }, // 524 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 = 226 } }, // 525 eily/e77.ogg + { .type = type::say, .say = { .characterIndex = 3, .stringIndex = 214 } }, // 526 e "Please allow us to perform a song for Your Majesty and Your Majesty's court" + { .type = type::voice, .voice = { .audioIndex = 227 } }, // 527 bird/b19.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 215 } }, // 528 b "I appreciate your loyalty to the crown of Corvidae little mice" + { .type = type::stop, .stop = { .audioIndex = 1, .fadeout = 4.2 } }, // 529 MistAmbience + { .type = type::voice, .voice = { .audioIndex = 228 } }, // 530 bird/b20.ogg + { .type = type::say, .say = { .characterIndex = 1, .stringIndex = 216 } }, // 531 b "You are most welcome to proceed with your little song" + { .type = type::scene, .scene = { .imageIndex = 6 } }, // 532 bgcastle2 + { .type = type::scene, .scene = { .imageIndex = 7 } }, // 533 bgcastle3 + { .type = type::scene, .scene = { .imageIndex = 8 } }, // 534 bgcastle4 + { .type = type::scene, .scene = { .imageIndex = 7 } }, // 535 bgcastle3 + { .type = type::scene, .scene = { .imageIndex = 6 } }, // 536 bgcastle2 + { .type = type::scene, .scene = { .imageIndex = 7 } }, // 537 bgcastle3 + { .type = type::scene, .scene = { .imageIndex = 6 } }, // 538 bgcastle2 + { .type = type::scene, .scene = { .imageIndex = 5 } }, // 539 bgcastle1 + { .type = type::pause, .pause = { .duration = 3 } }, // 540 + { .type = type::scene_color, .scene_color = { .color = 0xffffff } }, // 541 bgwhite + { .type = type::pause, .pause = { .duration = 33 } }, // 542 + { .type = type::voice, .voice = { .audioIndex = 229 } }, // 543 nara/n11.ogg + { .type = type::say, .say = { .characterIndex = 5, .stringIndex = 217 } }, // 544 n "In the end, Leona managed to stay out of the dungeon" + { .type = type::voice, .voice = { .audioIndex = 230 } }, // 545 nara/n12.ogg + { .type = type::say, .say = { .characterIndex = 5, .stringIndex = 218 } }, // 546 n "Eily and Alice both stayed in service of the queen for 7 harvests" + { .type = type::voice, .voice = { .audioIndex = 231 } }, // 547 nara/n13.ogg + { .type = type::say, .say = { .characterIndex = 5, .stringIndex = 219 } }, // 548 n "before returning to their small nameless town, near the Keep of Musia" + { .type = type::_return }, // 549 }; const int statements_length = (sizeof (statements)) / (sizeof (statements[0])); diff --git a/src/renpy/vulkan.cpp b/src/renpy/vulkan.cpp index 12a9dec..33462c4 100644 --- a/src/renpy/vulkan.cpp +++ b/src/renpy/vulkan.cpp @@ -1,4 +1,5 @@ #include +#include #ifdef __APPLE__ #include "vulkan/vulkan.h" @@ -228,7 +229,9 @@ namespace renpy { filename, &images[i].image, &images[i].memory, - &images[i].imageView); + &images[i].imageView, + &images[i].width, + &images[i].height); } else { fprintf(stderr, "filename: %s\n", filename); ASSERT(false, "invalid image filename extension"); @@ -439,7 +442,7 @@ namespace renpy { }, }; - constexpr int vertexAttributeDescriptionsCount = 6; + constexpr int vertexAttributeDescriptionsCount = 7; VkVertexInputAttributeDescription vertexAttributeDescriptions[vertexAttributeDescriptionsCount]{ // per-vertex { // position @@ -479,6 +482,12 @@ namespace renpy { .format = VK_FORMAT_R16_SINT, .offset = 12, }, + { + .location = 6, + .binding = 1, + .format = VK_FORMAT_R16_SINT, + .offset = 14, + }, }; VkPipelineVertexInputStateCreateInfo vertexInputState{ @@ -520,6 +529,7 @@ namespace renpy { int & outputIndex, int mx, int my) const { + assert(state.menu.count != 0); for (uint32_t i = 0; i < state.menu.count; i++) { int y = menu::yStride * i + menu::y; @@ -581,16 +591,21 @@ namespace renpy { }; for (uint32_t i = 0; i < state.shownImagesCount; i++) { - renpy::top_left const& tl = renpy::transforms[state.shownImages[i].transformIndex]; + renpy::shownImage const& shownImage = state.shownImages[i]; + renpy::top_left const& tl = renpy::transforms[shownImage.transformIndex]; + Image const& image = images[shownImage.imageIndex]; + renpy::language::image const& rImage = script::images[shownImage.imageIndex]; + bool dim = (!shownImage.highlighted) && (rImage.isCharacterImage); instanceMappedData[maximumImageCount * frameIndex + outputIndex++] = { - .size = {452, 528}, + .size = {(int16_t)image.width, (int16_t)image.height}, .topLeft = {(int16_t)tl.left, (int16_t)tl.top}, - .imageIndex = (int16_t)state.shownImages[i].imageIndex, + .imageIndex = (int16_t)shownImage.imageIndex, + .dim = dim, }; } if (drawText) { - if (state.menu.count != 0) { + if (state.pause.menu) { draw_menu_frame(commandBuffer, frameIndex, state, outputIndex, mx, my); } else if (state.say.stringIndex != ~0u) { draw_say_frame(commandBuffer, frameIndex, state, outputIndex); diff --git a/src/vulkan_helper.cpp b/src/vulkan_helper.cpp index 171bec6..4170c37 100644 --- a/src/vulkan_helper.cpp +++ b/src/vulkan_helper.cpp @@ -330,7 +330,9 @@ void createImageFromFilenameDDS(VkDevice device, char const * const filename, VkImage * outImage, VkDeviceMemory * outMemory, - VkImageView * outImageView) + VkImageView * outImageView, + int * outWidth, + int * outHeight) { uint32_t imageSize; void const * imageStart = file::open(filename, &imageSize); @@ -371,6 +373,9 @@ void createImageFromFilenameDDS(VkDevice device, free(levelOffsets); // imageData is not malloc'ed, it is a pointer to file:: data, which is also not malloc'ed + + *outWidth = width; + *outHeight = height; } void createImageFromFilenameTGA(VkDevice device,